Re: (forte-users) Accessing Technote 10398
Ketie,
let's see, I have been using FORTE since November of
1994. since the beginning those flags have been common
knowledge within the FORTE community and widely
disseminated.
the FORTE flags have been invaluable to me and HAVE
NEVER caused any downtime. sure, there are a few
wildcards in there that can cause trouble, but to
throw out the baby with the bathwater is ridiculous.
what would life be without trc:lo:25? to trace
exceptions.
or trc:os:1:1 and trc:os:5:5 to tune memory
consumption?
Should i have to call a consultant or FORTE tech
support to do the deep dive on exceptions or tune my
applications? I think not.
Overreaction? No.
Mark.
--- Katie Tierney <katiethetierneys.com> wrote:
I think y'all are overreacting. There are log flags
that are detailed in
Technote 10398 that can cause serious implications
if used improperly. I
think Forte/Sun just wants to make sure that people
don't make mistakes that
cost them valuable time.
As a Forte Consultant for many years, I have seen a
good number of people
misuse information that was not completely
understood. In some cases, this
caused excessive downtime for production
applications. The only time I ever
saw Technote 10398 being provided to a customer was
when they were utilizing
Forte Consulting, or when a Technical Support
Engineer was heavily involved.
I was extremely surprised to learn that it was
available to non-employees via
the website - that sounds as if someone may have
inadvertantly marked it as
customer-viewable (incorrectly, obviously) in Sun's
internal systems.
Again, I think you're overreacting. I am sure that
this isn't a case of Sun
thinking anyone is "stupid." It's a matter of
providing the support that
people need to properly utilize the tools available.
-Katie
mark joyce wrote:
read: Sometimes, the technotes are markedunviewable
to customers because they might need further
explanation. Let me know if you need to log acase.
in other words, you are TOO STUPID to use FORTElogger
flags, although they have been widely distributedand
used for years by FORTE users.
i can't believe it either. i don't know what iwould
have done for the last 5 years without using theFORTE
flags. such a wealth of good output!
what an excuse! "they might need furtherexplanation"
.. if i had to log every problem with FORTE,instead
of resolving them myself through the information
obtained by using flags, i would have lost my joba
long time ago.
mark.
--- Jeff Bennett <jeff_bennettsehamerica.com>wrote:
I thought it might be prudent to share with youthe
response I received from Sun
regarding the inability to access technote 10398
(Forté logger flags). I was
able to access it 3+ weeks ago, and fortunatelykept
a hard-copy. But, how are
we supposed to do our job effectively and
expediently if we do not have
(complete) access to this resource?
I thought the technotes were completely open tothe
Forté development
community.... wrong.
-jeff
---------------------- Forwarded by JeffBennett/SEH
on 09/11/2000 09:02 AM
Forte Support <supportforte.com> on 09/08/2000
10:05:17 AM
To: Jeff Bennett/SEHsehamerica.com
cc:
Subject: Re: Accessing Technote 10398
Fax to:
Hello Jeff,
Were you at one point able to access thistechnote?
You know why -- it's
because this technote is marked for employeeviewing
only and not available
for customer viewing. If you need further
assistance or need to look at
this technote, what you would need to do is loga
call with us and then a
tech support specialist will give you a callback.
Sometimes, the
technotes are marked unviewable to customersbecause
they might need
further explanation. Let me know if you need tolog
a case.
Thanks!
At 09:57 AM 9/8/00 -0700, you wrote:
I am no longer able to access technote 10398
(forte
logger flags)... why?
-jeff~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Sun® microsystems
Jeannie Lee
Phone: (510) 451-5400
Fax (510) 869-2010
Email: jeannie.leesun.com
Forte Tools Response Coordinator
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To
unsubscribe, send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com
http://mail.yahoo.com/
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. Tounsubscribe, send in a new
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
http://mail.yahoo.com/
Ketie,
let's see, I have been using FORTE since November of
1994. since the beginning those flags have been common
knowledge within the FORTE community and widely
disseminated.
the FORTE flags have been invaluable to me and HAVE
NEVER caused any downtime. sure, there are a few
wildcards in there that can cause trouble, but to
throw out the baby with the bathwater is ridiculous.
what would life be without trc:lo:25? to trace
exceptions.
or trc:os:1:1 and trc:os:5:5 to tune memory
consumption?
Should i have to call a consultant or FORTE tech
support to do the deep dive on exceptions or tune my
applications? I think not.
Overreaction? No.
Mark.
--- Katie Tierney <katiethetierneys.com> wrote:
I think y'all are overreacting. There are log flags
that are detailed in
Technote 10398 that can cause serious implications
if used improperly. I
think Forte/Sun just wants to make sure that people
don't make mistakes that
cost them valuable time.
As a Forte Consultant for many years, I have seen a
good number of people
misuse information that was not completely
understood. In some cases, this
caused excessive downtime for production
applications. The only time I ever
saw Technote 10398 being provided to a customer was
when they were utilizing
Forte Consulting, or when a Technical Support
Engineer was heavily involved.
I was extremely surprised to learn that it was
available to non-employees via
the website - that sounds as if someone may have
inadvertantly marked it as
customer-viewable (incorrectly, obviously) in Sun's
internal systems.
Again, I think you're overreacting. I am sure that
this isn't a case of Sun
thinking anyone is "stupid." It's a matter of
providing the support that
people need to properly utilize the tools available.
-Katie
mark joyce wrote:
read: Sometimes, the technotes are markedunviewable
to customers because they might need further
explanation. Let me know if you need to log acase.
in other words, you are TOO STUPID to use FORTElogger
flags, although they have been widely distributedand
used for years by FORTE users.
i can't believe it either. i don't know what iwould
have done for the last 5 years without using theFORTE
flags. such a wealth of good output!
what an excuse! "they might need furtherexplanation"
.. if i had to log every problem with FORTE,instead
of resolving them myself through the information
obtained by using flags, i would have lost my joba
long time ago.
mark.
--- Jeff Bennett <jeff_bennettsehamerica.com>wrote:
I thought it might be prudent to share with youthe
response I received from Sun
regarding the inability to access technote 10398
(Forté logger flags). I was
able to access it 3+ weeks ago, and fortunatelykept
a hard-copy. But, how are
we supposed to do our job effectively and
expediently if we do not have
(complete) access to this resource?
I thought the technotes were completely open tothe
Forté development
community.... wrong.
-jeff
---------------------- Forwarded by JeffBennett/SEH
on 09/11/2000 09:02 AM
Forte Support <supportforte.com> on 09/08/2000
10:05:17 AM
To: Jeff Bennett/SEHsehamerica.com
cc:
Subject: Re: Accessing Technote 10398
Fax to:
Hello Jeff,
Were you at one point able to access thistechnote?
You know why -- it's
because this technote is marked for employeeviewing
only and not available
for customer viewing. If you need further
assistance or need to look at
this technote, what you would need to do is loga
call with us and then a
tech support specialist will give you a callback.
Sometimes, the
technotes are marked unviewable to customersbecause
they might need
further explanation. Let me know if you need tolog
a case.
Thanks!
At 09:57 AM 9/8/00 -0700, you wrote:
I am no longer able to access technote 10398
(forte
logger flags)... why?
-jeff~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Sun® microsystems
Jeannie Lee
Phone: (510) 451-5400
Fax (510) 869-2010
Email: jeannie.leesun.com
Forte Tools Response Coordinator
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To
unsubscribe, send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com
http://mail.yahoo.com/
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. Tounsubscribe, send in a new
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
http://mail.yahoo.com/
Similar Messages
-
I thought it might be prudent to share with you the response I received from Sun
regarding the inability to access technote 10398 (Forté logger flags). I was
able to access it 3+ weeks ago, and fortunately kept a hard-copy. But, how are
we supposed to do our job effectively and expediently if we do not have
(complete) access to this resource?
I thought the technotes were completely open to the Forté development
community.... wrong.
-jeff
---------------------- Forwarded by Jeff Bennett/SEH on 09/11/2000 09:02 AM
Forte Support <supportforte.com> on 09/08/2000 10:05:17 AM
To: Jeff Bennett/SEHsehamerica.com
cc:
Subject: Re: Accessing Technote 10398
Fax to:
Hello Jeff,
Were you at one point able to access this technote? You know why -- it's
because this technote is marked for employee viewing only and not available
for customer viewing. If you need further assistance or need to look at
this technote, what you would need to do is log a call with us and then a
tech support specialist will give you a call back. Sometimes, the
technotes are marked unviewable to customers because they might need
further explanation. Let me know if you need to log a case.
Thanks!
At 09:57 AM 9/8/00 -0700, you wrote:
I am no longer able to access technote 10398 (forte logger flags)... why?
-jeff~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Sun® microsystems
Jeannie Lee
Phone: (510) 451-5400
Fax (510) 869-2010
Email: jeannie.leesun.com
Forte Tools Response CoordinatorI think y'all are overreacting. There are log flags that are detailed in
Technote 10398 that can cause serious implications if used improperly. I
think Forte/Sun just wants to make sure that people don't make mistakes that
cost them valuable time.
As a Forte Consultant for many years, I have seen a good number of people
misuse information that was not completely understood. In some cases, this
caused excessive downtime for production applications. The only time I ever
saw Technote 10398 being provided to a customer was when they were utilizing
Forte Consulting, or when a Technical Support Engineer was heavily involved.
I was extremely surprised to learn that it was available to non-employees via
the website - that sounds as if someone may have inadvertantly marked it as
customer-viewable (incorrectly, obviously) in Sun's internal systems.
Again, I think you're overreacting. I am sure that this isn't a case of Sun
thinking anyone is "stupid." It's a matter of providing the support that
people need to properly utilize the tools available.
-Katie
mark joyce wrote:
read: Sometimes, the technotes are marked unviewable
to customers because they might need further
explanation. Let me know if you need to log a case.
in other words, you are TOO STUPID to use FORTE logger
flags, although they have been widely distributed and
used for years by FORTE users.
i can't believe it either. i don't know what i would
have done for the last 5 years without using the FORTE
flags. such a wealth of good output!
what an excuse! "they might need further explanation"
.. if i had to log every problem with FORTE, instead
of resolving them myself through the information
obtained by using flags, i would have lost my job a
long time ago.
mark.
--- Jeff Bennett <jeff_bennettsehamerica.com> wrote:
I thought it might be prudent to share with you the
response I received from Sun
regarding the inability to access technote 10398
(Forté logger flags). I was
able to access it 3+ weeks ago, and fortunately kept
a hard-copy. But, how are
we supposed to do our job effectively and
expediently if we do not have
(complete) access to this resource?
I thought the technotes were completely open to the
Forté development
community.... wrong.
-jeff
---------------------- Forwarded by Jeff Bennett/SEH
on 09/11/2000 09:02 AM
Forte Support <supportforte.com> on 09/08/2000
10:05:17 AM
To: Jeff Bennett/SEHsehamerica.com
cc:
Subject: Re: Accessing Technote 10398
Fax to:
Hello Jeff,
Were you at one point able to access this technote?
You know why -- it's
because this technote is marked for employee viewing
only and not available
for customer viewing. If you need further
assistance or need to look at
this technote, what you would need to do is log a
call with us and then a
tech support specialist will give you a call back.
Sometimes, the
technotes are marked unviewable to customers because
they might need
further explanation. Let me know if you need to log
a case.
Thanks!
At 09:57 AM 9/8/00 -0700, you wrote:
I am no longer able to access technote 10398 (fortelogger flags)... why?
-jeff~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Sun® microsystems
Jeannie Lee
Phone: (510) 451-5400
Fax (510) 869-2010
Email: jeannie.leesun.com
Forte Tools Response Coordinator
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To
unsubscribe, send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com
http://mail.yahoo.com/
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
Re: (forte-users) access violation caught in debugmode
Eric,
There has been a problem with Forte debug mode for sometime now when the app
is silent. If you attempt to inspect the variables when the app is in the
'silent' mode, i.e., waiting on an event loop for a user input or a system
event, then you get the "Access violation caught ..." exception message and
the workspace including the launch server crashes.
If you are getting this problem in the 'step-through' mode, you should look
at the lauch server immediately after you get the exception before
everything disappears. There could be a stack backtrace due to some illegal
reference. We have faced a similar situation before but the error appeared
both in the 'debug' and 'run' modes.
Hope this helps.
Braja K Chattaraj.
From: Eric Decossaux <[email protected]>
To: forte mailing <[email protected]>
Subject: (forte-users) access violation caught in debug mode
Date: Thu, 23 Sep 1999 17:31:39 +0200
Hello,
I have a problem using Forte in debug mode. If I run my program on my NT
machine from the partition workshop (distributed run), the program works
fine except that some object does not display what I'm expecting. So I
want to use the debug mode to inspect the objets of this window. When I
choose the "local variables" option to see the content of my window, I
have a "access violation caught" and forte disappears. If I just let my
program run without choosing this option, everything is the same than
with the distributed run.
Does somebody have an idea what to look for ? I really want to look the
inside the attributes of this window.
We recently upgraded from release 30G2 to release 30L2. Could it be the
problem ?
Eric Decossaux
Cliniques Universitaires St Luc
Informatique des Laboratoires
av Hippocrate 10 / 1730
1200 Bruxelles
+32+2+764 17 53
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]Eric,
Another possibility has to do with the repository. You said you recently
migrated 30G2 to release 30L2.
Many strange problems have been traced to release migrations with old
repositories. If the repository was properly migrated another thing you can try
is to export the project(s) to PEX files, delete them from the repository, and
then re-import. I know this can be time consuming but I have solved more than
one unexplained problem in the IDE by doing it.
---------------------- Forwarded by Charlie Shell/Bsg/MetLife/US on 09/23/99
01:19 PM ---------------------------
"Ajith Kallambella" <[email protected]> on 09/23/99 12:08:54 PM
To: [email protected], [email protected]
cc: (bcc: Charlie Shell/Bsg/MetLife/US)
Subject: Re: (forte-users) access violation caught in debug mode
Eric,
Sometimes( 90% ) you can solve this problem by
checking out the class that is causing the crash
and force-compiling it.
If it doesn't help, run through this checklist.
1. Do you have enough memory resources.?
2. Is the object you are inspecting held in a lock ?
( mutex, transaction lock etc )
3. Does it work when you wait for sometime at the
breakpoint before inspecting the values? I mean
are you interrupting some process thread?
4. Does it work if you log the attributes using logmgr?
5. Are you using any call-outs/call-ins? Any external
systems integration? Sometimes( for reasons beyond
my comprehension ) the objects allocated outside
Forte gets corrupted when its passed back and forth.
6. ...finally...Santa Clause, help me!
Ajith Kallambella M.
Forte Systems Consultant.
From: Eric Decossaux <[email protected]>
To: forte mailing <[email protected]>
Subject: (forte-users) access violation caught in debug mode
Date: Thu, 23 Sep 1999 17:31:39 +0200
Hello,
I have a problem using Forte in debug mode. If I run my program on my NT
machine from the partition workshop (distributed run), the program works
fine except that some object does not display what I'm expecting. So I
want to use the debug mode to inspect the objets of this window. When I
choose the "local variables" option to see the content of my window, I
have a "access violation caught" and forte disappears. If I just let my
program run without choosing this option, everything is the same than
with the distributed run.
Does somebody have an idea what to look for ? I really want to look the
inside the attributes of this window.
We recently upgraded from release 30G2 to release 30L2. Could it be the
problem ?
Eric Decossaux
Cliniques Universitaires St Luc
Informatique des Laboratoires
av Hippocrate 10 / 1730
1200 Bruxelles
+32+2+764 17 53
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected] -
RE: (forte-users) Segmentaion Access Violation
You are not alone, I've the same problem and I don't know how to manage.
Has anybody outhere any idea about how to avoid this misfunctioning.
Yours Daniel,
-----Mensaje original-----
De: Ravindra Kallamadi <[email protected]>
Para: [email protected] <[email protected]>
CC: [email protected] <[email protected]>
Fecha: miércoles 22 de diciembre de 1999 22:30
Asunto: (forte-users) Segmentaion Access Violation
We have been experiencing SEGV problem while running a compiled app.
We changed the app. from compiled to interpreted. I wanted to know
the recommended trace flags to capture detailed explanation for SEGV
exception?
Thanks.
Ravi Kallamadi
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]Everytime we receive a SegV inside of a compiled
partition, we flip it to interpretive code. Then we
always get the "trying to access an attribute on a Nil
object" error. In this case, a SegV makes sense when
trying to access an attribute on a nil object in
compiled "C" code.
Mark Musgrove
Senior Systems Engineer
Object Technologies, Inc
(540) 977-3861 (home)
(540) 977-2794 (fax) -
RE: (forte-users) 3J= 3M new to me error
Hi Thomas,
Thanks for your email but I think it will be interesting for Brenda not me.
It is exactly what I have expected from Forte Support: detailed information
about bugs and workarounds. But what I cannot understand is that #53398 was
released without any information about possible reasons for this problem or
suggested workarounds. My first reaction after reading this bugreport was to
open a new case at CallCenter to get more information about it. Please
release more information with your bug reports !
Regards
Zenon Adamek
Information Services
Senior Programmer Analyst
Tel: 905 712-1084 ext. 3628
Fax: 905 712-6709
E-mail: zadamekpurolator.com
-----Original Message-----
From: Thomas Degen - Sun Germany Forte Tools - Bonn
[SMTP:thomas.degensun.com]
Sent: Wednesday, September 27, 2000 9:49 AM
To: Adamek, Zenon
Cc: 'Brenda Cumming'; Forte-userslists.xpedior.com
Subject: RE: (forte-users) 3J=>3M new to me error
Hi Zenon,
bug #53398 is not a bug which will likely get fixed, it's an informational
bugreport.
You might see an errorstack like Brenda has reported (and described in
informational
bugreport #53398) probably when you are doing something illegal that is
possible
via Forte Tool but Forte is not trapping it for performance reasons. Hence
you will see
the error coming from your illegal operation only at runtime, probably
only
while
running interpreted in the Forte IDE, but in worst case it might be even a
segmentation
violation.
Technotes 12448 'Sudden client partition crashes at runtime' and 11225
'Don't reparent
mapped Widgets between UserWindows at runtime' explain this matter . See
attached.
But maybe Brenda is much more experiencing a problem as described by Forte
Technote 11398 'Read Only Workspace Errors using ListViews or ActiveX
control'
that might get easily resolved via setting of FORTE_YIELD_THROTTLE=0.
Good Luck and Best Regards !
BTW: I've logged bug #53398, so I've felt responsible to explain its real
background.
Thomas
Thomas Degen
Sun Microsystems - Forte Tools
Forte CTE & Sustaining Group
Technical Support Germany
tel.:+49.228/91499-50
MailTo:thomas.degensun.com
Technote 11398 Read Only Workspace Errors using ListViews or ActiveX
control
SCENARIO:
Getting some unusual interpreter errors that result in an error stating
that
the workspace has been set to read only. Please see Enclosures for the
two
most common error stacks that have been encountered. The abbreviated
versions of the errors are:
- Can't read record (record size = -1)
- Id in index does not match id in record header in data file
- Recursive deserialization attempted.
- Unknown Mark type in deserialization
- Could not read record (64,74615) from repository data file.
Header
is corrupt.
These errors can be happening in either the development environment when
running from one of the development workshops, or with the deployed
application.
The bug outlined in this Technote may be the culprit if the errors above
are
seen when running a client on Windows NT or Motif and the user interface
incorporates ActiveX controls or ListView/TreeView widgets.
CAUSE:
Basically what is happening is that in rare circumstances Forte may invoke
a
nested copy of the interpreter while the first interpreter has yielded.
This
is not a problem in and of itself, but in the case where the original
interpreter was in the middle of a repository fetch when it yielded, and
the second interpreter needs to fetch code as well, we will get one of the
errors listed above, depending on the exact timing. The reason for the
errors is that the repository code at this level is thread-safe but not
re-entrant. It is protected by a mutex that is already owned by the
current task. Which, given the scenario outlined here, where the two
interpreters are running inside of the same task, results in the nested
interpreter being allowed to change data out from under the first.
While for every fetch one or more calls to WindowSystem.Yield will be made
(this is there to prevent the semblance of system lock-up on Win 3.1,
where
Yield is the only way other applications can be allowed to run), there is
a parameter which controls how often to actually yield, which by default
is
set to one out of every 100 calls. This is the reason the problem is
intermittent--you need a yield to occur during a repository fetch
which starts another interpreter which also needs to fetch code from
disk.
The reason this has only surfaced recently is that the nested interpreter
scenario can only happen in 2 cases that we know of:
- ActiveX controls which respond to events/Windows messages
- Outline fields/ListViews with column(s) mapped to virtual
attributes
In all other normal cases, the yield can process the message (typically a
paint message) without starting another interpreter, so regardless of
whether
the first interpreter yielded during a repository operation or not, there
is
no conflict.
SOLUTION:
The workaround is to prevent yields altogether by setting the
FORTE_YIELD_THROTTLE environment variable equal to 0 in the client's
environment. This should have no detrimental effects since the yield code
is in place solely for Windows 3.1x clients.
ERROR STACK 1
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to
prevent the application from attempting to write to the repository. The
repository and work you have saved to the repository are safe. If your
workspace
contains unsaved work, you may use the following procedure to save this
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import
the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::GetObjectById
Last TOOL statement: method EFWindowController.EFEventLoop
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
The remainder of the Error Manager stack is:
SYSTEM ERROR: Internal Error attempting to deserialize element (64,67470)
(fetch
bitmask is 0x20). Your workspace is now read-only to prevent the
application
from attempting to write to the repository. The repository and work you
have
saved to the repository are safe. If your workspace contains unsaved work,
you
may use the following procedure to save this work. First, export the
changed
components. Then, shut down and restart this application and reopen this
workspace in read-write mode. Finally, import the changed components and
save
your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Last TOOL statement: method EFTabManagerNew.EFNoteBookHandler
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
SYSTEM ERROR: Unknown Mark type in deserialization.
Class: qqsp_ImplementationException
Error #: [1101, 34]
Detected at: qqrp_DeSerializeObject::ProcessHdr
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
ERROR STACK 2
SYSTEM ERROR: A serious error has occurred in Repository
(c:\PROGRA~1\CSSPTEST\conplu0). Corrective action may be necessary.
Notify
your repository administrator.
Class: qqsp_ImplementationException
Error #: [1101, 198]
Detected at: qqrp_Repository::Fetch
Last TOOL statement: method
SalesDevelopment_NWC.DEVNotifyofTabSetCurrent
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
SYSTEM ERROR: Could not read record (64,74615) from repository data file.
Header is corrupt.
Class: qqsp_ImplementationException
Error #: [1106, 612]
Detected at: qqbt_BtreeAccess::FetchDataFileRecord
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
Technote 11225 Don't reparent mapped Widgets between UserWindows at
runtime
It is sometimes tempting to unparent a widget from one UserWindow and
reparent
it into another at runtime. However, this can cause crashes if the widget
(or
its decendants) are "mapped" to data. Here's why...
Suppose you have two UserWindows, UW1 and UW2. UW1 contains a DataField
(DF1)
which is mapped to a TextData. UW2 contains a RadioList (RL2) which is
mapped to
a scalar Integer. At compile time, every mapped attribute is internally
assigned
a "Map ID" (a small integer) which is used to tie the Widget to its
corresponding attribute. These Map IDs are used by the Widget to look up a
pointer to their data in a "Map" which is maintained by the UserWindow.
Each
UserWindow is assumed be to independent of the others, so there is nothing
wrong
with Widgets in different UserWindows being assigned the same Map IDs.
In
this
case, let's assume that DF1 and RL2 both got assigned the same Map ID of
3. No
problem so far, since each lives in a separate UserWindow with a separate
map.
Now suppose at runtime the application "detaches" or unparents DF1 from
its
UserWindow and reparents it somewhere into UW2. When it comes time for DF1
to
paint itself the Display System it must ask the Runtime System for the
value of
DF1's mapped attribute. To do that it says "give me the value of the
TextData
for DF1. You'll find it in the Map for this UserWindow (UW1), and its Map
ID is
3". When the runtime system goes to do this it expects to find a TextData
in
this "slot" of the map, but instead it picks up the integer which is
mapped to
RL2. At best this leads to bad data being returned; more likely you get a
segfault and a crash.
If DF1 was not a mapped attribute (say, a Rectangle) there would be no
problem
because there is no data mapped to a Rectangle. If instead of moving DF1
you
created a brand new DataField on the fly there would be no problem,
because the
dynamic DataField would not have any Map ID and so couldn't conflict with
any
IDs in UW2.
So how do you solve this problem? This is exactly what Nested Windows are
all
about. While you can't move DF1 into the middle of UW2, you can nest
UW1.
This
works because UW1 brings its map with it, and when you access DF1 it knows
to
look up its value in UW1's map.
UserWindows are intended to be the "unit of compilabilty" that can be
nested
inside other UserWindows. It is dangerous to "transplant" anything from
inside
one UserWindow into another at runtime.
(Note that you can't avoid this problem by cloning DF1 because the MapID
gets
copied along with it, and the clone will fail in the same way.)
Further details explained in related technote 12448 'Sudden client
partition
crashes at runtime.'
Technote 12448 Sudden client partition crashes at runtime
Scenario : You have two UserWindows, A and B. When Window A starts up, it
instantiates an instance of B and reparents some component of B into A's
window
hierarchy.
This is not allowed and almost always leads to an error at best or at
worse a
segmentation fault.
Here's why :
When you compile a UserWindow in Forte, each "mapped attribute" (whether a
form
element or menu element) is assigned an internal ID which represents an
offset into
that UserWindow's table of mapped attributes. This offset is only valid
in the
context of the UserWindow in which it was compiled. If you detach a
FieldWidget or
MenuWidget from one compiled Window ("tmpMenu" for example) and then
parent
into another compiled window ("tmpWindow") the internal ID comes with it.
When Forte tries to make use of that copied widget it uses the ID as an
offset
into tmpWindow's table of mapped attributes. But that copied offset is
meaningless in the context of tmpWindow's table, so you get some kind off
error.
In this case it found that the data type of the variable in the slot
wasn't
what
was expected. But you might even index off the end of the table and get a
segmentation fault.
There is nothing to prevent you from dynamically creating menu items and
adding
them to a window at runtime; that will work fine. Although of course you
can't
access them via mapped attributes, since those can only be created at
compile time.
But you are not allowed to reparent a widget from one compiled UserWindow
into
the hierarchy of another.
More information may be found in technote 11225 'Don't reparent mapped
Widgets
between UserWindows at runtime'.
Possible errorstacks seen at runtime instead of a complete crash or
segmentation
violation while you are illegally reparenting a widget or menuitem between
windows
at runtime:
Map::SetSubjectData: Invalid conversion from map type 0 to subject type 22
SYSTEM ERROR: Bad parameter at location 3 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 3
Error Time: Wed Aug 09 13:03:57
Exception occurred (locally) on partition "testproject_CL0_Client",
(partitionId = D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd,
taskId =
[D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd.68]) in application
"FTLaunch_cl0", pid 672 on node ONEWAY in environment Audi3M2Env.
At 13:14 26.09.00 -0400, Adamek, Zenon wrote:
Hi,
It is the unfixed defect 53398. Please contact Forte support.
Zenon
-----Original Message-----
From: Brenda Cumming [SMTP:brenda_cummingtranscanada.com]
Sent: Tuesday, September 26, 2000 1:15 PM
To: Forte User group
Subject: (forte-users) 3J=>3M new to me error
Hi,
We are in the process of going from 3J1 to 3.0.M.2, and I am getting
this error that I am unfamiliar with on a GUI that works fine in 3J.
It
does not happen all the time, and I have been unable to establish the
pattern that kicks it off. Has anyone seen this before?
PS- this error is not occurring in the deployed (non-compiled) app,but
when I am running locally from my workspace.
SYSTEM ERROR: Bad parameter at location 6 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 6
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2,
taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Can't find scope 20070 for a class.
Class: qqsp_Exception
Error #: [201, 11]
Detected at: qqlo_ClassTableLoadScope at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to prevent the application from attempting to write to the repository.
The repository and work you have saved to the repository are safe. If
your
workspace contains unsaved work, you may use the following procedure
to save this work. First, export the changed components. Then, shut down and
restart this application and reopen this workspace in read-write mode.
Finally, import the changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::IsDistributed
Last TOOL statement: method PPMeasWin.
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Internal Error attempting to deserialize element
(64,120684) (fetch bitmask is 0x20). Your workspace is now read-onlyto
prevent
the application from attempting to write to the repository. The
repository
and work you have saved to the repository are safe. If your workspace
contains unsaved work, you may use the following procedure to savethis
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Recursive Deserialization attempted, Internal Error!
Class: qqsp_UsageException with ReasonCode: SP_ER_INVALIDSTATE
Error #: [301, 231]
Detected at: qqsp_DeSerializeDriver::Run at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in anew
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comHi Thomas,
Thanks for your email but I think it will be interesting for Brenda not me.
It is exactly what I have expected from Forte Support: detailed information
about bugs and workarounds. But what I cannot understand is that #53398 was
released without any information about possible reasons for this problem or
suggested workarounds. My first reaction after reading this bugreport was to
open a new case at CallCenter to get more information about it. Please
release more information with your bug reports !
Regards
Zenon Adamek
Information Services
Senior Programmer Analyst
Tel: 905 712-1084 ext. 3628
Fax: 905 712-6709
E-mail: zadamekpurolator.com
-----Original Message-----
From: Thomas Degen - Sun Germany Forte Tools - Bonn
[SMTP:thomas.degensun.com]
Sent: Wednesday, September 27, 2000 9:49 AM
To: Adamek, Zenon
Cc: 'Brenda Cumming'; Forte-userslists.xpedior.com
Subject: RE: (forte-users) 3J=>3M new to me error
Hi Zenon,
bug #53398 is not a bug which will likely get fixed, it's an informational
bugreport.
You might see an errorstack like Brenda has reported (and described in
informational
bugreport #53398) probably when you are doing something illegal that is
possible
via Forte Tool but Forte is not trapping it for performance reasons. Hence
you will see
the error coming from your illegal operation only at runtime, probably
only
while
running interpreted in the Forte IDE, but in worst case it might be even a
segmentation
violation.
Technotes 12448 'Sudden client partition crashes at runtime' and 11225
'Don't reparent
mapped Widgets between UserWindows at runtime' explain this matter . See
attached.
But maybe Brenda is much more experiencing a problem as described by Forte
Technote 11398 'Read Only Workspace Errors using ListViews or ActiveX
control'
that might get easily resolved via setting of FORTE_YIELD_THROTTLE=0.
Good Luck and Best Regards !
BTW: I've logged bug #53398, so I've felt responsible to explain its real
background.
Thomas
Thomas Degen
Sun Microsystems - Forte Tools
Forte CTE & Sustaining Group
Technical Support Germany
tel.:+49.228/91499-50
MailTo:thomas.degensun.com
Technote 11398 Read Only Workspace Errors using ListViews or ActiveX
control
SCENARIO:
Getting some unusual interpreter errors that result in an error stating
that
the workspace has been set to read only. Please see Enclosures for the
two
most common error stacks that have been encountered. The abbreviated
versions of the errors are:
- Can't read record (record size = -1)
- Id in index does not match id in record header in data file
- Recursive deserialization attempted.
- Unknown Mark type in deserialization
- Could not read record (64,74615) from repository data file.
Header
is corrupt.
These errors can be happening in either the development environment when
running from one of the development workshops, or with the deployed
application.
The bug outlined in this Technote may be the culprit if the errors above
are
seen when running a client on Windows NT or Motif and the user interface
incorporates ActiveX controls or ListView/TreeView widgets.
CAUSE:
Basically what is happening is that in rare circumstances Forte may invoke
a
nested copy of the interpreter while the first interpreter has yielded.
This
is not a problem in and of itself, but in the case where the original
interpreter was in the middle of a repository fetch when it yielded, and
the second interpreter needs to fetch code as well, we will get one of the
errors listed above, depending on the exact timing. The reason for the
errors is that the repository code at this level is thread-safe but not
re-entrant. It is protected by a mutex that is already owned by the
current task. Which, given the scenario outlined here, where the two
interpreters are running inside of the same task, results in the nested
interpreter being allowed to change data out from under the first.
While for every fetch one or more calls to WindowSystem.Yield will be made
(this is there to prevent the semblance of system lock-up on Win 3.1,
where
Yield is the only way other applications can be allowed to run), there is
a parameter which controls how often to actually yield, which by default
is
set to one out of every 100 calls. This is the reason the problem is
intermittent--you need a yield to occur during a repository fetch
which starts another interpreter which also needs to fetch code from
disk.
The reason this has only surfaced recently is that the nested interpreter
scenario can only happen in 2 cases that we know of:
- ActiveX controls which respond to events/Windows messages
- Outline fields/ListViews with column(s) mapped to virtual
attributes
In all other normal cases, the yield can process the message (typically a
paint message) without starting another interpreter, so regardless of
whether
the first interpreter yielded during a repository operation or not, there
is
no conflict.
SOLUTION:
The workaround is to prevent yields altogether by setting the
FORTE_YIELD_THROTTLE environment variable equal to 0 in the client's
environment. This should have no detrimental effects since the yield code
is in place solely for Windows 3.1x clients.
ERROR STACK 1
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to
prevent the application from attempting to write to the repository. The
repository and work you have saved to the repository are safe. If your
workspace
contains unsaved work, you may use the following procedure to save this
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import
the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::GetObjectById
Last TOOL statement: method EFWindowController.EFEventLoop
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
The remainder of the Error Manager stack is:
SYSTEM ERROR: Internal Error attempting to deserialize element (64,67470)
(fetch
bitmask is 0x20). Your workspace is now read-only to prevent the
application
from attempting to write to the repository. The repository and work you
have
saved to the repository are safe. If your workspace contains unsaved work,
you
may use the following procedure to save this work. First, export the
changed
components. Then, shut down and restart this application and reopen this
workspace in read-write mode. Finally, import the changed components and
save
your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Last TOOL statement: method EFTabManagerNew.EFNoteBookHandler
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
SYSTEM ERROR: Unknown Mark type in deserialization.
Class: qqsp_ImplementationException
Error #: [1101, 34]
Detected at: qqrp_DeSerializeObject::ProcessHdr
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
ERROR STACK 2
SYSTEM ERROR: A serious error has occurred in Repository
(c:\PROGRA~1\CSSPTEST\conplu0). Corrective action may be necessary.
Notify
your repository administrator.
Class: qqsp_ImplementationException
Error #: [1101, 198]
Detected at: qqrp_Repository::Fetch
Last TOOL statement: method
SalesDevelopment_NWC.DEVNotifyofTabSetCurrent
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
SYSTEM ERROR: Could not read record (64,74615) from repository data file.
Header is corrupt.
Class: qqsp_ImplementationException
Error #: [1106, 612]
Detected at: qqbt_BtreeAccess::FetchDataFileRecord
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
Technote 11225 Don't reparent mapped Widgets between UserWindows at
runtime
It is sometimes tempting to unparent a widget from one UserWindow and
reparent
it into another at runtime. However, this can cause crashes if the widget
(or
its decendants) are "mapped" to data. Here's why...
Suppose you have two UserWindows, UW1 and UW2. UW1 contains a DataField
(DF1)
which is mapped to a TextData. UW2 contains a RadioList (RL2) which is
mapped to
a scalar Integer. At compile time, every mapped attribute is internally
assigned
a "Map ID" (a small integer) which is used to tie the Widget to its
corresponding attribute. These Map IDs are used by the Widget to look up a
pointer to their data in a "Map" which is maintained by the UserWindow.
Each
UserWindow is assumed be to independent of the others, so there is nothing
wrong
with Widgets in different UserWindows being assigned the same Map IDs.
In
this
case, let's assume that DF1 and RL2 both got assigned the same Map ID of
3. No
problem so far, since each lives in a separate UserWindow with a separate
map.
Now suppose at runtime the application "detaches" or unparents DF1 from
its
UserWindow and reparents it somewhere into UW2. When it comes time for DF1
to
paint itself the Display System it must ask the Runtime System for the
value of
DF1's mapped attribute. To do that it says "give me the value of the
TextData
for DF1. You'll find it in the Map for this UserWindow (UW1), and its Map
ID is
3". When the runtime system goes to do this it expects to find a TextData
in
this "slot" of the map, but instead it picks up the integer which is
mapped to
RL2. At best this leads to bad data being returned; more likely you get a
segfault and a crash.
If DF1 was not a mapped attribute (say, a Rectangle) there would be no
problem
because there is no data mapped to a Rectangle. If instead of moving DF1
you
created a brand new DataField on the fly there would be no problem,
because the
dynamic DataField would not have any Map ID and so couldn't conflict with
any
IDs in UW2.
So how do you solve this problem? This is exactly what Nested Windows are
all
about. While you can't move DF1 into the middle of UW2, you can nest
UW1.
This
works because UW1 brings its map with it, and when you access DF1 it knows
to
look up its value in UW1's map.
UserWindows are intended to be the "unit of compilabilty" that can be
nested
inside other UserWindows. It is dangerous to "transplant" anything from
inside
one UserWindow into another at runtime.
(Note that you can't avoid this problem by cloning DF1 because the MapID
gets
copied along with it, and the clone will fail in the same way.)
Further details explained in related technote 12448 'Sudden client
partition
crashes at runtime.'
Technote 12448 Sudden client partition crashes at runtime
Scenario : You have two UserWindows, A and B. When Window A starts up, it
instantiates an instance of B and reparents some component of B into A's
window
hierarchy.
This is not allowed and almost always leads to an error at best or at
worse a
segmentation fault.
Here's why :
When you compile a UserWindow in Forte, each "mapped attribute" (whether a
form
element or menu element) is assigned an internal ID which represents an
offset into
that UserWindow's table of mapped attributes. This offset is only valid
in the
context of the UserWindow in which it was compiled. If you detach a
FieldWidget or
MenuWidget from one compiled Window ("tmpMenu" for example) and then
parent
into another compiled window ("tmpWindow") the internal ID comes with it.
When Forte tries to make use of that copied widget it uses the ID as an
offset
into tmpWindow's table of mapped attributes. But that copied offset is
meaningless in the context of tmpWindow's table, so you get some kind off
error.
In this case it found that the data type of the variable in the slot
wasn't
what
was expected. But you might even index off the end of the table and get a
segmentation fault.
There is nothing to prevent you from dynamically creating menu items and
adding
them to a window at runtime; that will work fine. Although of course you
can't
access them via mapped attributes, since those can only be created at
compile time.
But you are not allowed to reparent a widget from one compiled UserWindow
into
the hierarchy of another.
More information may be found in technote 11225 'Don't reparent mapped
Widgets
between UserWindows at runtime'.
Possible errorstacks seen at runtime instead of a complete crash or
segmentation
violation while you are illegally reparenting a widget or menuitem between
windows
at runtime:
Map::SetSubjectData: Invalid conversion from map type 0 to subject type 22
SYSTEM ERROR: Bad parameter at location 3 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 3
Error Time: Wed Aug 09 13:03:57
Exception occurred (locally) on partition "testproject_CL0_Client",
(partitionId = D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd,
taskId =
[D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd.68]) in application
"FTLaunch_cl0", pid 672 on node ONEWAY in environment Audi3M2Env.
At 13:14 26.09.00 -0400, Adamek, Zenon wrote:
Hi,
It is the unfixed defect 53398. Please contact Forte support.
Zenon
-----Original Message-----
From: Brenda Cumming [SMTP:brenda_cummingtranscanada.com]
Sent: Tuesday, September 26, 2000 1:15 PM
To: Forte User group
Subject: (forte-users) 3J=>3M new to me error
Hi,
We are in the process of going from 3J1 to 3.0.M.2, and I am getting
this error that I am unfamiliar with on a GUI that works fine in 3J.
It
does not happen all the time, and I have been unable to establish the
pattern that kicks it off. Has anyone seen this before?
PS- this error is not occurring in the deployed (non-compiled) app,but
when I am running locally from my workspace.
SYSTEM ERROR: Bad parameter at location 6 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 6
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2,
taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Can't find scope 20070 for a class.
Class: qqsp_Exception
Error #: [201, 11]
Detected at: qqlo_ClassTableLoadScope at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to prevent the application from attempting to write to the repository.
The repository and work you have saved to the repository are safe. If
your
workspace contains unsaved work, you may use the following procedure
to save this work. First, export the changed components. Then, shut down and
restart this application and reopen this workspace in read-write mode.
Finally, import the changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::IsDistributed
Last TOOL statement: method PPMeasWin.
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Internal Error attempting to deserialize element
(64,120684) (fetch bitmask is 0x20). Your workspace is now read-onlyto
prevent
the application from attempting to write to the repository. The
repository
and work you have saved to the repository are safe. If your workspace
contains unsaved work, you may use the following procedure to savethis
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Recursive Deserialization attempted, Internal Error!
Class: qqsp_UsageException with ReasonCode: SP_ER_INVALIDSTATE
Error #: [301, 231]
Detected at: qqsp_DeSerializeDriver::Run at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in anew
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
RE: (forte-users) FW: (forte-users)
Hi there
Thanks very much for the solution - just wanted to let you know . We
implemented the design that technote 11378 suggested .
It worked .
Thanks very much
Cheers
Jen
-----Original Message-----
From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Sent: Tuesday, 20 March, 2001 9:21 PM
To: 'forte-userslists.xpedior.com'
Subject: (forte-users) FW: (forte-users)
Hi David,
The problem is that the SO uses an attribute of its class ACBAccount as
the ObjectReference pointer. SO is not a stateless object. The possible
scenario before crash can be that client A and B calls SO at the same
time. A's thread creates ACBAccount gets the ObjectReference. At this
point B's thread is activated, does the same as A creates new
ObjectReference. Probably the next switch between A and B will be in the
Connect() (B should wait for OLE server). If A is reactivated it doesn't
get the original own reference but the B's reference. It can cause the
crash and means that a thread can use reference created in some other
thread.
Regards,
Zenon
-----Original Message-----
From: David McPaul [SMTP:dmcpaullumley.com.au]
Sent: Monday, March 19, 2001 11:52 PM
To: 'forte-userslists.xpedior.com'
Subject: RE: (forte-users)
Jenni,
As Zenon has pointed out, technote 11378 talks about problems that
can occur if the calls made to an OLE object are not from within the same
thread the OLE object was created in. It goes on to show a design to
avoid
this.
However, the code you have given DOES communicate to the OLE object
in the same thread as it was created. So the problem as I see it is more
likely to be that the OLE object is not being garbage collected. Although
you do explicitly NIL out the ACBAccount object there is a technote 12453
that deals with the need to set the ObjectReference of CDispatch objects
to
NIL to allow the OLE object to be completely reclaimed by the garbage
collector. Failure to do so when using code that creates a new OLE object
every time you ask for an account validation will eventually run the
partition out of memory.
As pointed out in a previous post you can also increase
FORTE_STACK_SIZE but this will delay the problem not correct it.
Rather than create the connection each time you may want to think
about redesigning the method as shown in tech note 11378.
Cheers
David
-----Original Message-----
From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Sent: Tuesday, March 20, 2001 5:05 AM
To: 'Els, Jenni'
Cc: 'forte-userslists.xpedior.com'
Subject: RE: (forte-users)
Hi Jenni,
The most important issue by designing an OLE connection between a Forte
server partition and an OLE component is taking into account that an OLE
object can be referenced from the NT thread in Forte partition that it was
created in. It is the reason that you have no problems with your mini-app
in
single-threaded version.
This problem is discussed in the Technote 11378. You can find a workaround
for your problem there, too.
Regards,
Zenon
-----Original Message-----
From: Els, Jenni [SMTP:JElsnbs.co.za]
Sent: Monday, March 19, 2001 2:28 AM
To: 'forte-userslists.xpedior.com'
Subject: (forte-users)
Hi there
We have this situation
We are calling a Service Object (in the server partition) from ourclient
partition.This service object calls a method which calls a DLLregistered
on our server (VB code) . This VB code access a database on anotherserver
.(DSN set up on our server ).The database is sql server .
We are having the problem where for about 3 hours in the morning , the
system works perfectly. We then get a segmentation violation on this
partition . When we run interpreted we can see that this is an OLEinvoked
exception. The partition does not always show as offline in econsole
and
because it does not , we cannot 'online' another . We cannot take the
entire app down as everything hangs . Eventually our technical depthas
to
down the server
We set up a mini-app looping through and calling the DLL to simulate
the
problem . It worked fine. When we put another asynchronous task in the
method to call the service object , it erred quite soon. We thencreate
an
attribute of type mutex and locked using that. The mini-app worked.
However our app in development eventually hanged (without the
partition
coming though) .
The service Object is an environment visible service object in asingle
(non-replicated partition) . It has a dialog duration = session .
In the project is
ACB : ACBObject
ACBObject : CDispatch (shared = disallowed , distributed =
disallowed, transactional = disallowed, monitored = allowed)
ACBValidator : Object (shared = allowed , distributed =allowed,
transactional = disallowed, monitored = disallowed)
ACBVaidatorSO : ACBValidator
In this method we have this code to call the DLL
self.ACBAccount = new;
self.ACBAccount.CreateUsingCLSID(classID='{2EFD3084-7B05-11D3-857F-00105A4
8CEA0}');
pErrorMessage = new;
acbaccount.BankCode = pBankCode.value;
acbaccount.BranchCode = pBranchCode.value;
at : VariantI2 = new;
at.Value = pAccountType.Value;
acbaccount.AccountType = at.Value;
acbaccount.AccountNo = pAccountNo.value;
begin
acbaccount.Connect();
exception
when e : GenericException do
ex : GenericException = new;
ex.SetWithParams(severity = SP_ER_ERROR,
message = 'There was an error connecting to the database');
raise ex;
end;
begin
err : i2 = acbaccount.ValidateAccount();
if err != 0 then
pErrorMessage.SetValue(acbaccount.ErrDescriptionStr(iErrorCode= err));
acbaccount.Disconnect();
return false;
else
pErrorMessage.SetValue('The account is
valid!!');
acbaccount.Disconnect();
self.ACBAccount = NIL ;
return true;
end if;
exception
when e : GenericException do
acbaccount.Disconnect();
ex : GenericException = new;
ex.SetWithParams(severity = SP_ER_ERROR,
message = 'There was an error Validating the account');
Task.ErrorMgr.AddError(ex);
task.errormgr.ShowErrors();
raise e;
end;
exception
when e : GenericException do
acbaccount.Disconnect();
Task.ErrorMgr.ShowErrors();
raise e;
If anybody has any suggestions , they would be most welcome
Thanks very much
Cheers
Jenni Els************************************************************************Th
is e-mail is intended for the use of the individual or entity named above
and may contain information that is confidential and privileged. If you
are not the intended recipient, you are hereby notified that any
dissemination, distribution or copying of this e-mail is strictly
prohibited. If you have received this e-mail in error, please notify us
immediately at helpdesklumley.com.au and destroy the original message.
While this mail and any attachments have been scanned for common computer
viruses and found to be virus free, we recommend you also perform your own
virus checking processes before opening any attachments.
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com--
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
WARNING:
Any unauthorised use or interception of this email is illegal. If this email
is not intended for you, you may not copy, distribute nor disclose the
contents to anyone. Save for bona fide company matters, the BoE Group does
not accept any responsibility for the opinions expressed in this email.
For further details please see: http://www.nbs.co.za/emaildisclaim.htmHi there
Thanks very much for the solution - just wanted to let you know . We
implemented the design that technote 11378 suggested .
It worked .
Thanks very much
Cheers
Jen
-----Original Message-----
From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Sent: Tuesday, 20 March, 2001 9:21 PM
To: 'forte-userslists.xpedior.com'
Subject: (forte-users) FW: (forte-users)
Hi David,
The problem is that the SO uses an attribute of its class ACBAccount as
the ObjectReference pointer. SO is not a stateless object. The possible
scenario before crash can be that client A and B calls SO at the same
time. A's thread creates ACBAccount gets the ObjectReference. At this
point B's thread is activated, does the same as A creates new
ObjectReference. Probably the next switch between A and B will be in the
Connect() (B should wait for OLE server). If A is reactivated it doesn't
get the original own reference but the B's reference. It can cause the
crash and means that a thread can use reference created in some other
thread.
Regards,
Zenon
-----Original Message-----
From: David McPaul [SMTP:dmcpaullumley.com.au]
Sent: Monday, March 19, 2001 11:52 PM
To: 'forte-userslists.xpedior.com'
Subject: RE: (forte-users)
Jenni,
As Zenon has pointed out, technote 11378 talks about problems that
can occur if the calls made to an OLE object are not from within the same
thread the OLE object was created in. It goes on to show a design to
avoid
this.
However, the code you have given DOES communicate to the OLE object
in the same thread as it was created. So the problem as I see it is more
likely to be that the OLE object is not being garbage collected. Although
you do explicitly NIL out the ACBAccount object there is a technote 12453
that deals with the need to set the ObjectReference of CDispatch objects
to
NIL to allow the OLE object to be completely reclaimed by the garbage
collector. Failure to do so when using code that creates a new OLE object
every time you ask for an account validation will eventually run the
partition out of memory.
As pointed out in a previous post you can also increase
FORTE_STACK_SIZE but this will delay the problem not correct it.
Rather than create the connection each time you may want to think
about redesigning the method as shown in tech note 11378.
Cheers
David
-----Original Message-----
From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Sent: Tuesday, March 20, 2001 5:05 AM
To: 'Els, Jenni'
Cc: 'forte-userslists.xpedior.com'
Subject: RE: (forte-users)
Hi Jenni,
The most important issue by designing an OLE connection between a Forte
server partition and an OLE component is taking into account that an OLE
object can be referenced from the NT thread in Forte partition that it was
created in. It is the reason that you have no problems with your mini-app
in
single-threaded version.
This problem is discussed in the Technote 11378. You can find a workaround
for your problem there, too.
Regards,
Zenon
-----Original Message-----
From: Els, Jenni [SMTP:JElsnbs.co.za]
Sent: Monday, March 19, 2001 2:28 AM
To: 'forte-userslists.xpedior.com'
Subject: (forte-users)
Hi there
We have this situation
We are calling a Service Object (in the server partition) from ourclient
partition.This service object calls a method which calls a DLLregistered
on our server (VB code) . This VB code access a database on anotherserver
.(DSN set up on our server ).The database is sql server .
We are having the problem where for about 3 hours in the morning , the
system works perfectly. We then get a segmentation violation on this
partition . When we run interpreted we can see that this is an OLEinvoked
exception. The partition does not always show as offline in econsole
and
because it does not , we cannot 'online' another . We cannot take the
entire app down as everything hangs . Eventually our technical depthas
to
down the server
We set up a mini-app looping through and calling the DLL to simulate
the
problem . It worked fine. When we put another asynchronous task in the
method to call the service object , it erred quite soon. We thencreate
an
attribute of type mutex and locked using that. The mini-app worked.
However our app in development eventually hanged (without the
partition
coming though) .
The service Object is an environment visible service object in asingle
(non-replicated partition) . It has a dialog duration = session .
In the project is
ACB : ACBObject
ACBObject : CDispatch (shared = disallowed , distributed =
disallowed, transactional = disallowed, monitored = allowed)
ACBValidator : Object (shared = allowed , distributed =allowed,
transactional = disallowed, monitored = disallowed)
ACBVaidatorSO : ACBValidator
In this method we have this code to call the DLL
self.ACBAccount = new;
self.ACBAccount.CreateUsingCLSID(classID='{2EFD3084-7B05-11D3-857F-00105A4
8CEA0}');
pErrorMessage = new;
acbaccount.BankCode = pBankCode.value;
acbaccount.BranchCode = pBranchCode.value;
at : VariantI2 = new;
at.Value = pAccountType.Value;
acbaccount.AccountType = at.Value;
acbaccount.AccountNo = pAccountNo.value;
begin
acbaccount.Connect();
exception
when e : GenericException do
ex : GenericException = new;
ex.SetWithParams(severity = SP_ER_ERROR,
message = 'There was an error connecting to the database');
raise ex;
end;
begin
err : i2 = acbaccount.ValidateAccount();
if err != 0 then
pErrorMessage.SetValue(acbaccount.ErrDescriptionStr(iErrorCode= err));
acbaccount.Disconnect();
return false;
else
pErrorMessage.SetValue('The account is
valid!!');
acbaccount.Disconnect();
self.ACBAccount = NIL ;
return true;
end if;
exception
when e : GenericException do
acbaccount.Disconnect();
ex : GenericException = new;
ex.SetWithParams(severity = SP_ER_ERROR,
message = 'There was an error Validating the account');
Task.ErrorMgr.AddError(ex);
task.errormgr.ShowErrors();
raise e;
end;
exception
when e : GenericException do
acbaccount.Disconnect();
Task.ErrorMgr.ShowErrors();
raise e;
If anybody has any suggestions , they would be most welcome
Thanks very much
Cheers
Jenni Els************************************************************************Th
is e-mail is intended for the use of the individual or entity named above
and may contain information that is confidential and privileged. If you
are not the intended recipient, you are hereby notified that any
dissemination, distribution or copying of this e-mail is strictly
prohibited. If you have received this e-mail in error, please notify us
immediately at helpdesklumley.com.au and destroy the original message.
While this mail and any attachments have been scanned for common computer
viruses and found to be virus free, we recommend you also perform your own
virus checking processes before opening any attachments.
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com--
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
WARNING:
Any unauthorised use or interception of this email is illegal. If this email
is not intended for you, you may not copy, distribute nor disclose the
contents to anyone. Save for bona fide company matters, the BoE Group does
not accept any responsibility for the opinions expressed in this email.
For further details please see: http://www.nbs.co.za/emaildisclaim.htm -
Re: (forte-users) FW: (forte-users) Serialisation
Here is a Word formatted copy of the Tech Note
"Slabbert, Etienne" <etiennemds.co.za> 02/17/00 04:10AM >>>Hi,
I cannot get hold of Tech Note 10398..... can anyone email me a copy?
Tx
Etienne
-----Original Message-----
From: Klerk, Theo de [SMTP:Theo.de.Klerkcompaq.com]
Sent: Wednesday, February 09, 2000 4:26 PM
To: 'Jason de Cean'; 'Forte Users'
Subject: RE: (forte-users) Serialisation
There are a number of flags that will show you some of the required
information in a log file (not within the application itself). Technote
10398 has many more flags listed for a variety of obscure, useful, not so
useful and exotic information:
trc:cm:*:4 and *:8 - show packet serialisation, open, closes between
partition communication
trc:do:*:2 - proxy creation/deletion, exception events
trc:do:*:5 - individual message tracing between proxies
trc:do:*:8 - serialisation information
Theo
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comHere is a Word formatted copy of the Tech Note
"Slabbert, Etienne" <etiennemds.co.za> 02/17/00 04:10AM >>>Hi,
I cannot get hold of Tech Note 10398..... can anyone email me a copy?
Tx
Etienne
-----Original Message-----
From: Klerk, Theo de [SMTP:Theo.de.Klerkcompaq.com]
Sent: Wednesday, February 09, 2000 4:26 PM
To: 'Jason de Cean'; 'Forte Users'
Subject: RE: (forte-users) Serialisation
There are a number of flags that will show you some of the required
information in a log file (not within the application itself). Technote
10398 has many more flags listed for a variety of obscure, useful, not so
useful and exotic information:
trc:cm:*:4 and *:8 - show packet serialisation, open, closes between
partition communication
trc:do:*:2 - proxy creation/deletion, exception events
trc:do:*:5 - individual message tracing between proxies
trc:do:*:8 - serialisation information
Theo
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
Re: (forte-users) Cosnaming
Thank you,
I hope it will be soon available...
Regards,
Daniel
----- Original Message -----
From: "James, Nick CWT-MSP" <njamesCarlson.com>
To: "'Daniel González de Lucas'" <danieleam.es>
Sent: Friday, November 03, 2000 1:48 PM
Subject: RE: (forte-users) Cosnaming
That is one of the new features in Forte 3.5
Nick.
-----Original Message-----
From: Daniel González de Lucas [mailto:danieleam.es]
Sent: Friday, November 03, 2000 2:58 AM
To: Forté Mailing List
Subject: (forte-users) Cosnaming
Hi,
I'm working with Service Objects in IIOP-IDL mode,
to access these Service Objects from a Java Client I'm using the IOR file
generated by Forté.
Does anyone know if is it possible to use a Cosnaming service running inthe
server instead of using the IOR file.
Best regards,
DanielHi Jean-Paul,
As described in the Technote 10981 some Forte programs (Nodemanager and
router) handle correct the high-file descriptor-use problem. It is possible
that Forte interpreter do it correct too.
Zenon
-----Original Message-----
From: Jean-Paul Gabrielli [SMTP:Jean-Paul.Gabriellisema.fr]
Sent: Monday, September 25, 2000 12:11 PM
To: Adamek, Zenon
Cc: Forte-userslists.xpedior.com
Subject: RE: (forte-users) [UNIX] "Too many open files" 3.0.M2
question
Actually, the stuff works in interpreted mode.
It's only when having the server partition compiled that this happen.
j-p
-----Message d'origine-----
De: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Date: lundi 25 septembre 2000 17:13
À: 'Jean-Paul.Gabriellisema.fr'
Cc: Forte-userslists.xpedior.com
Objet: RE: (forte-users) [UNIX] "Too many open files" 3.0.M2 question
see Technote 10981
-----Original Message-----
From: Jean-Paul Gabrielli [SMTP:Jean-Paul.Gabriellisema.fr]
Sent: Monday, September 25, 2000 11:02 AM
To: zeForte-users
Subject: (forte-users) [UNIX] "Too many open files" 3.0.M2 question
Hi,
running a server partition that reads a configuration file,
and apparently doen't close it after, I have that exception:
SYSTEM ERROR: System Error: Too many open files, opening '....'with mode
'r'
Class: qqos_FileResourceException
1) Is there such a limit, or does this rely only on the OS one ?
2) How is this error not trapped, as I only got itinteractively, whereas
my server log does a exception trap/segmentation fault,
thanlks
j-p
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe,send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com
>
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
RE: (forte-users) Serialisation
Singh,
Any message sent across partition boundaries is serialized. This includes
method invokations, events and exceptions. The signature of the message
itself is serialized, as well as the values of all parameters/attributes.
Serializing a scalar value requires less overhead then serialising an
object, however, the difference isn't as big as you might think. Objects
have more attributes then just the value you're interested in and these
attributes are serialised as well. Each object is an instance of a class and
each class has a UUID, which is added to the serialized stream as well.
However, methods are NOT serialised. What happens is this. Forte serializes
an object into a stream containing only the values of the attributes
(including nested attributes). This stream is given a header which sais of
which class this object is an instance (the UUID is used for that). The
receiving partition reads the serialized stream, finds the definition of the
class (defined by UUID) in its own code, creates an instance of this class
and fills the data out of the serialized stream into this new object.
You can imagine what might happen if there is a mismatch between the
class-definitions in both partitions. You either get
serialization-deserialization errors, or the receiving partition complains
that it doesn't even know the UUID of the received streamed object, or you
get no errors at all and just have an object that displays different
behaviour, depending what partition it's in.
If there are no problems, then the main issue is the
serializing-deserializing overhead. Note that the receiving partition has to
instantiate a new object for every serialized object it receives and will
therefore execute all code in the Init() method. This overhead is not
required for scalar types, for which Forte only needs to reserve a small
amount of memory space on the stack.
Any call to a database is also a message sent across partitions and is
therefore serialized. However, one partition is a Forte partition and the
other one isn't. Therefore, Forte's internal serialization mechanism isn't
used. Forte serializes the SQL-query into a format understood by the
database (which is different for every vendor). Forte then receives a stream
back which has a different format for every different database type. This
stream is deserialized and written to attributes that Forte has reserved to
contain the data. Whether these are scalar, datavalues or domains only
impacts performance inside the Forte partition. It has no effect on the
communication with the database.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
-----Original Message-----
From: Singh [mailto:fortelistyahoo.com]
Sent: Thursday, February 22, 2001 3:30 AM
To: forte-userslists.xpedior.com
Subject: (forte-users) Serialisation
Hello All
I have a question that has been bugging me for some
time.
We all know that it is better to use scalar data
types, as opposed to objects, when passing data across
a network.
The reason, if I understand correctly, is that when
you send an object across a network, the whole object
(properties, attributes and methods) is deserialised
into zero's and one's before being sent across and
then serialised back into the object when it gets to
the other side. This would take longer for an object
since for a scalar value, just the value is
deserialised and serialised.
But when you are writing to a database from the tier
before the database to the database, does it matter
what type you use. The reason for saying this is that
the values are serialised before they go across and
then deserialised when they get to the base, in other
words, they are sent as zero's and one's. For a scalar
- just the value is sent across but for an object -
does just the value go across or the complete object.
If just the value of the object goes across, then it
doesn't really matter whether a scalar or object is
sent across.
Am I correct in this assumption.
Thanks in advance for your help.
Regards,
Singh
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comHi,
I cannot get hold of Tech Note 10398..... can anyone email me a copy?
Tx
Etienne
-----Original Message-----
From: Klerk, Theo de [SMTP:Theo.de.Klerkcompaq.com]
Sent: Wednesday, February 09, 2000 4:26 PM
To: 'Jason de Cean'; 'Forte Users'
Subject: RE: (forte-users) Serialisation
There are a number of flags that will show you some of the required
information in a log file (not within the application itself). Technote
10398 has many more flags listed for a variety of obscure, useful, not so
useful and exotic information:
trc:cm:*:4 and *:8 - show packet serialisation, open, closes between
partition communication
trc:do:*:2 - proxy creation/deletion, exception events
trc:do:*:5 - individual message tracing between proxies
trc:do:*:8 - serialisation information
Theo
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
Re: (forte-users) systemexception
Hi There
Segmentation violations can be caused by different
situations. Force compiling works well in clearing
most SV's. It is advisable to first clear all
breakpoints, force-compile your plans and run your
application. If you still get the SV then run in debug
mode to identify the problem area.
Hope this helps.
Jairaj Rampershad
System Consultant
--- Forte App <[email protected]> wrote:
Hi,
iam getting system segmentation/access violation
Fatal Error: system segmentation/access violation
caught.
Class: qqos_SystemException
Error: [101, 321]
Detected: qqos_MainSingHd1 on part5,
Error: TMgr
RunThread:task10.SAsync.AppServerInterfaceMgr
Error:qq10_LomTaskInitiator
what cause this type of error
Thanks in advance
For the archives, go to:
http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To
unsubscribe, send in a new
email the word: 'Unsubscribe' to:
[email protected]Hi Jean-Paul,
As described in the Technote 10981 some Forte programs (Nodemanager and
router) handle correct the high-file descriptor-use problem. It is possible
that Forte interpreter do it correct too.
Zenon
-----Original Message-----
From: Jean-Paul Gabrielli [SMTP:Jean-Paul.Gabriellisema.fr]
Sent: Monday, September 25, 2000 12:11 PM
To: Adamek, Zenon
Cc: Forte-userslists.xpedior.com
Subject: RE: (forte-users) [UNIX] "Too many open files" 3.0.M2
question
Actually, the stuff works in interpreted mode.
It's only when having the server partition compiled that this happen.
j-p
-----Message d'origine-----
De: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Date: lundi 25 septembre 2000 17:13
À: 'Jean-Paul.Gabriellisema.fr'
Cc: Forte-userslists.xpedior.com
Objet: RE: (forte-users) [UNIX] "Too many open files" 3.0.M2 question
see Technote 10981
-----Original Message-----
From: Jean-Paul Gabrielli [SMTP:Jean-Paul.Gabriellisema.fr]
Sent: Monday, September 25, 2000 11:02 AM
To: zeForte-users
Subject: (forte-users) [UNIX] "Too many open files" 3.0.M2 question
Hi,
running a server partition that reads a configuration file,
and apparently doen't close it after, I have that exception:
SYSTEM ERROR: System Error: Too many open files, opening '....'with mode
'r'
Class: qqos_FileResourceException
1) Is there such a limit, or does this rely only on the OS one ?
2) How is this error not trapped, as I only got itinteractively, whereas
my server log does a exception trap/segmentation fault,
thanlks
j-p
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe,send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com
>
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
Re: forte-users-digest V1 #89
forte-users-digest Tuesday, 8 October 1996 Volume 01 : Number 089
From: Alexander Ananiev <[email protected]>
Date: Tue, 08 Oct 1996 16:36:14 -0500
Subject: "Single DBSession" approach
The standard Forte approach for the database access assumes
that one DBSession handles requests from several users
(clients), so the database connection is not associated with
the particular user. This significantly impacts the
architecture of the Forte application. Some of the problems
caused by this approach are:
1) An application-level security system should be developed
instead of using the DBMS security system. Suffice it to say
that application-level security system cannot provide the
protection from back-door access to the database.
2) The application cannot utilize the DBMS locking mechanism
for the case when the record is retrieved to the client for
editing purposes ("long" transaction).
It means that SecurityManager and LockManager should be
developed to resolve these problems. This does not seem to be
very good solution because these objects are intended to repeat
the functionality of the DBMS. And these parts of the
application may become pretty complicated. For example, my
project's experience shows that the development of the lock
manager is not a trivial task and most likely this lock manager
will be worse than the DBMS locking mechanism in terms of
reliability and performance just because it acts as an outside
program to the database. Besides, this approach could cause
serious problems if the database can be updated by non-Forte
applications (e.g., by some legacy system or batch process).
"One DBSession per several users" approach makes sense if each
user connection to the database is implemented as one
server process.(Another good argument in favor of single
DBsession is a heterogeneous environment where there is no
stable connection to one database, but here I'm talking about a
"regular" application that uses only one DBMS.) Since most of
the time this process is idle, then, of course, decreasing the
number of processes leads to better server utilization and
performance. But by its sense, database connection is just the
current transaction ID (with the user id, of course). So the
connection could be just a number that should be passed to the
DBMS along with each request and then DBMS can create a thread
to handle the request or forward it to the next available
process if it does not support multithreading.
DBMS vendors realize this and some of them already implemented
this approach (I know that Oracle and Informix did that and
Sybase was mentioned in the recent "one-threaded DBSession"
discussion). And one-threaded DBSession that lives on the
server doesn't fit well to that. The better approach would be
to make DBSession the attribute of the TransactionHandle
object, so the current connection will always be passed from
the client to the service and this service can work through
this connection.
So, my point is that the application should let DBMS do its
work and use as much of the functionality of the DBMS as
possible and the "single DBsession" approach doesn't help it to
do that.
I would be glad to hear any other opinion on this topic. I
think that the "DBsession" problem is extremely important for
any multi-tier application (for example, all Web applications
are facing this problem). I'm also interested in how people
are dealing with this problem on other projects, for example if
there are some projects where the alternative approach (one
DBSession per each user) was implemented and what problems were
encountered during that.
Alexander Ananyev
Price Waterhouse
End of forte-users-digest V1 #89
One of the first issues that needs to be addressed is that passing
DBSessions from partition to partition is a huge performance hit. When
Forte executes a SQL SELECT or FETCH statement on a DBSession that exists
outside the current partition (DBSessions are "anchored" objects that are
accessed via proxies.) Forte fetches the result set into the partition
containing the DBSession and then passes proxies or creates copies into
the partition where the SQL code is located. These are some of the
largest performance hits you can take in Forte.forte-users-digest Tuesday, 8 October 1996 Volume 01 : Number 089
From: Alexander Ananiev <[email protected]>
Date: Tue, 08 Oct 1996 16:36:14 -0500
Subject: "Single DBSession" approach
The standard Forte approach for the database access assumes
that one DBSession handles requests from several users
(clients), so the database connection is not associated with
the particular user. This significantly impacts the
architecture of the Forte application. Some of the problems
caused by this approach are:
1) An application-level security system should be developed
instead of using the DBMS security system. Suffice it to say
that application-level security system cannot provide the
protection from back-door access to the database.
2) The application cannot utilize the DBMS locking mechanism
for the case when the record is retrieved to the client for
editing purposes ("long" transaction).
It means that SecurityManager and LockManager should be
developed to resolve these problems. This does not seem to be
very good solution because these objects are intended to repeat
the functionality of the DBMS. And these parts of the
application may become pretty complicated. For example, my
project's experience shows that the development of the lock
manager is not a trivial task and most likely this lock manager
will be worse than the DBMS locking mechanism in terms of
reliability and performance just because it acts as an outside
program to the database. Besides, this approach could cause
serious problems if the database can be updated by non-Forte
applications (e.g., by some legacy system or batch process).
"One DBSession per several users" approach makes sense if each
user connection to the database is implemented as one
server process.(Another good argument in favor of single
DBsession is a heterogeneous environment where there is no
stable connection to one database, but here I'm talking about a
"regular" application that uses only one DBMS.) Since most of
the time this process is idle, then, of course, decreasing the
number of processes leads to better server utilization and
performance. But by its sense, database connection is just the
current transaction ID (with the user id, of course). So the
connection could be just a number that should be passed to the
DBMS along with each request and then DBMS can create a thread
to handle the request or forward it to the next available
process if it does not support multithreading.
DBMS vendors realize this and some of them already implemented
this approach (I know that Oracle and Informix did that and
Sybase was mentioned in the recent "one-threaded DBSession"
discussion). And one-threaded DBSession that lives on the
server doesn't fit well to that. The better approach would be
to make DBSession the attribute of the TransactionHandle
object, so the current connection will always be passed from
the client to the service and this service can work through
this connection.
So, my point is that the application should let DBMS do its
work and use as much of the functionality of the DBMS as
possible and the "single DBsession" approach doesn't help it to
do that.
I would be glad to hear any other opinion on this topic. I
think that the "DBsession" problem is extremely important for
any multi-tier application (for example, all Web applications
are facing this problem). I'm also interested in how people
are dealing with this problem on other projects, for example if
there are some projects where the alternative approach (one
DBSession per each user) was implemented and what problems were
encountered during that.
Alexander Ananyev
Price Waterhouse
End of forte-users-digest V1 #89
One of the first issues that needs to be addressed is that passing
DBSessions from partition to partition is a huge performance hit. When
Forte executes a SQL SELECT or FETCH statement on a DBSession that exists
outside the current partition (DBSessions are "anchored" objects that are
accessed via proxies.) Forte fetches the result set into the partition
containing the DBSession and then passes proxies or creates copies into
the partition where the SQL code is located. These are some of the
largest performance hits you can take in Forte. -
RE: (forte-users) Forte ADE
In addition to this confusion, I'd like to see some statement by Forte to
indicate
WHEN the next Forte R4 is scheduled (before the Sun era is was said to be
Summer 2000) and
WHAT exactly it will contain (major headings will do).
With the cancellation of the Forte Forum event doubt and uncertainty are
spreading in the
Forte communities that I talk with and no one seems to counterbalance these
doubts with an
official statement. How serious does Sun take TOOL Forte for the coming few
years? Release
of Fusion V2 seems to say "serious". The deafning silence with regard to R4
indicates the
opposite. And the users are divided (as always).
Theo de Klerk
Architecture & Application Integration
Professional Services
Compaq Computer Corp. - the Netherlands
-----Original Message-----
From: Rottier, Pascal [mailto:Rottier.Pascalpmintl.ch]
Sent: Tuesday, 18 April, 2000 17:49
To: 'kamranaminyahoo.com'
Subject: (forte-users) Forte ADE
A long, long time ago
In a galaxy far away....
I saw a demonstration of Forte's new Application Development
Environment,
which was more userfriendly than the current one. It also looked more
similar to the interface of the other development tools out
there, with a
tree structure and capabilities to browse through the
inheritance tree, and
not opening a new window for every project, class and method that is
accessed.
This new interface was supposed to be included in Forte 4, which would
combine TOOL and Java and would be released soon.
Since then, we've seen SynerJ and now FJEE, but Forte 4 is still not
released. And when it will be released, it still won't
support TOOL and Java
simultaneously. That's OK. I understand that.
But now I've heard that this improved ADE won't even be
included in Forte 4.
Is this true? And if so, why?
Pascal
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe,
send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.comYou may be interested in the following which comes from a statement of direction
recently issued by Sun.
Product Context
+ Forté 4GL is an award-winning, proven product with many unique advantages for
building
enterprise business systems that are distributed, that involve the integration
of existing
business systems as well as new functionality, and that target heterogeneous
runtime
environments.
+ Forté 4GL is recognized by Gartner Group as the most successful Enterprise
Application
Development Tool.
+ Forte 4GL has a substantial customer base that has been successful with the
product and that
looks forward to using Forté 4GL for new applications.
+ The Sun Microsystems, Inc. (SMI) development tools group (formerly Forté
Software, Inc.)
has a strong internal commitment to Forté 4GL. Forté Fusion is written with, and
is currently
being enhanced with Forté 4GL.
+ SMI has retained the Forté field sales organization as an independent unit
whose primary
product offerings are Forté 4GL and Forté Fusion. Continued volume sales of
Forté 4GL
remain the foundation of our business plan.
Product Future
+ We intend to actively enhance and promote Forté 4GL for the indefinite
future.
+ We believe Forté 4GL will flourish in the long term, especially if we are
able to harness the
considerable selling power of the entire SMI field sales organization. To make
the product
more attractive and easier to sell, we will continue to make the product more
modular and
easier to integrate with heterogeneous software environments.
+ We believe that the best opportunity for attracting new customers is to
leverage the ability of
Forté 4GL to easily build powerful shared business services (server components)
that can be
accessed by non-Forté clients (e.g., browsers, Java clients) and that can easily
integrate with
new and existing business systems.
+ We believe that Forté 4GL?s continued success is enhanced by continuing to
issue small and
frequent product releases. Our target is two such releases per year.
+ There is a great potential for our three product lines (Forté 4GL, Forté
Fusion, and Forté for
Java) to complement and reinforce each other. Interoperability among the three
product lines
is seen as a critical success factor for Forté 4GL.
Forte 4GL Statement of Direction Page 2
Sun Microsystems, Inc Proprietary and Confidential
Product Priorities
1. Interoperability with third party software components
+ External (non-4GL) client support (e.g., browsers, Java clients)
+ External server integration (e.g., messaging, component support, data
exchange)
2. Enhanced productivity
+ Increased automation (i.e., less coding)
+ Support for platform updates (e.g., new versions of OS, DBMS)
3. TOOL code to Java code migration
4. Unified developer look and feel with other Forte development products
5. Common repository
Short Term Product Plans
Mid-year release
+ New features available as ?preview? per the standard Forte maintenance
release procedures
+ Tentatively labeled ?release 3.5? and distributed as a free product
enhancement for
customers under maintenance
+ Scheduled for Summer 2000
+ Defining features
+ Introspection (reflection) ? the ability for an object to describe itself at
runtime
+ Improved integration with applications developed using Forté-for-Java
Community
Edition
+ Platform support improvements to track important operating system and
database
vendor activity
+ Target features
+ Display system enhancements (e.g., Motif 2 support, line arrowheads, window
refresh control, editable outline fields)
+ Dynamic library loading
+ Improved CORBA/IIOP support
+ Improved XML and XSLT class support
+ JMQ support
New year release
+ New features available as ?preview? per the standard Forte maintenance
release procedures
+ Tentatively labeled ?release 3.6? and distributed as a free product
enhancement for
customers under maintenance
+ Scheduled for year end 2000
+ Defining features
+ Any Release 3.5 target features that were not included in 3.5
+ Generation of EJB interfaces for R3 service objects
+ Platform support improvements to track important operating system and
database
vendor activity
+ Target features
+ COBOL record handling as part of the OS390 transaction adaptor
+ Improved runtime security
+ Interface classes for access to Netscape Server 4.0 and possibly other web
servers
Long Term Product Plans
+ To be determined by customer and market feedback.
+ A major criterion for new functionality will be enhancing the revenue
generating ability of
the product, thereby fostering its long-term health in the marketplace.
+ Substantial emphasis will be placed on creating new capabilities that enhance
the
attractiveness of the product for new users.
+ The contents of Release 3.7 (or whatever it will be called) will be
solidified just after release
3.5 ships. Subsequent planning visibility will be two forward releases.
"Klerk, Theo de" <Theo.de.Klerkcompaq.com> on 04/18/2000 12:27:36 PM
To: "'Rottier, Pascal'" <Rottier.Pascalpmintl.ch>,
"'kamranaminyahoo.com'" <kamranaminyahoo.com>
cc: (bcc: Charlie Shell/Bsg/MetLife/US)
Subject: RE: (forte-users) Forte ADE -
Re: (forte-users) HTTP request through proxy server
Daniel -
No, it does not. ;)
How do you say to HTTPRequest to go through proxy?
Thanks,
Taras
Daniel Nguyen wrote:
>
Hi,
It works very well. I have experienced this model for a distant Forte client
calling a Forte Server service Object for instance without any environment
and without TCP access (passing through firewall for instance).
It has also worked very well to make an injectot to improve Web Enterprise
and IIS using the SendRequest from HTTPAccess.
Hope this helps,
Daniel Nguyen
Freelance Forte Consultant
http://perso.club-internet.fr/dnguyen/
Taras Katkov a écrit:
HTTP request through proxy server using forte HTTP library?
Any experience?
Thanks,
Taras
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com--
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comYou can also use the HTTP-DC project.... You don't
need Web Enterprise for this. From what I can tell,
this is available in L.x on....
There is api documentation in M.2 (with scant
examples.)
There's a special process to put the project in your
repository (it isn't installed in the repository in
the standard install,) the documentation in M.2
(probably in M.0 too, AFAIK) that tells you how to do
this (look for HTTP-DC in the online help.)
I haven't done much with it yet, I've just installed
it. If anybody out there has examples, that'd be
great. I'll try to contribute more the moment I get a
chance to explore it....
Christopher Fury
BellSouth Communications Systems
--- Daniel Nguyen <dnguyenclub-internet.fr> wrote:
Hi,
If you have Web Enterprise, you can user
HttpAccess.SendRequest().
Hope this helps,
Daniel Nguyen
Freelance Forte Consultant
Amin, Kamran a écrit:
Is there any way to make a HTTP request from TOOLto another HTTP Service?
thanks in advance.
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. Tounsubscribe, send in a new
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To
unsubscribe, send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com
Kick off your party with Yahoo! Invites.
http://invites.yahoo.com/ -
RE: (forte-users) (Fwd) ODBC & Dynamically Choosing aDatabase Ve ndor
The error you are getting is saying that the data source is not correctly
specified. Make sure the data source(or the name of the ODBC driver you
created) is correctly specified in your code.
ka
-----Original Message-----
From: Duncan Kinnear [mailto:[email protected]]
Sent: Sunday, December 19, 1999 6:26 PM
To: [email protected]
Subject: (forte-users) (Fwd) ODBC & Dynamically Choosing a Database
Vendor
I am trying to dynamically create a DBSession to connect to the
Microsft SQL Server ODBC Driver on a Forte Server Node.
I have tested the ODBC connection on the Local Machine and it works fine.
I have connected to the SQL Server on that machine with a Static
DBSession Object and that works fine.
I have used the same code to create a DBSession to Informix on Unix
and that worked fine.
The error I get is a converted ODBC one:
SYSTEM ERROR: Attempt to load partition named TestWinProject_cl0_Part1
failed.
Class: qqsp_ResourceException
Error #: [1001, 4]
Detected at: qqrt_ForteExecAgent::LoadPartition at 2
Error Time: Mon Dec 20 12:05:37
Distributed method called: qqrt_ForteExecAgentProxy.LoadPartition!7
(object name Unnamed) from partition "Node Manager", (partitionId =
40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11c, taskId =
[40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11c.38]) in application
"System
Manager", pid 250 on node ALLY in environment testenv
Exception occurred (remotely) on partition "Forte_Executor",
(partitionId
= 40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e, taskId =
[40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e.22]) in application
"TestWinProject_cl0", pid 235 on node ALLY in environment TestEnv.
SYSTEM ERROR: Failed to create service object TestDataProject.TestService.
Class: qqsp_ResourceException
Last TOOL statement: method TestServiceMgr.
Error Time: Mon Dec 20 12:05:37
Exception occurred (remotely) on partition "Forte_Executor",
(partitionId
= 40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e, taskId =
[40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e.22]) in application
"TestWinProject_cl0", pid 235 on node ALLY in environment TestEnv.
USER ERROR: (This error was converted)
Failed to connect to database: ForteSQLServer , username: justin .
[Microsoft][ODBC Driver Manager] Data source name not found and no
default
driver specified
Class: qqdb_RemoteAccessException with ReasonCode:
DB_ER_DBMSCONNECTION
DBMS SQLSTATE: IM002
Class: qqsp_ErrorDescriptor
Detected at: qqdb_OdbcVendorInfo::DoSQLConnect at 10
Last TOOL statement: method ServiceMgr.SetDBSession
Error Time: Mon Dec 20 12:05:37
Exception occurred (remotely) on partition "Forte_Executor",
(partitionId
= 40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e, taskId =
[40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e.22]) in application
"TestWinProject_cl0", pid 235 on node ALLY in environment TestEnv.
Versions:
SQL SERVER 6.5
ODBC Driver SQL Server 2.65.0240
ODBC Manager 3.0.28.22
NT 4 sp4
Forte 3.0.J.1
The code I'm using is almost identical to that given in the "Dynamically
Choosing a Database Vendor" section of the "Making a Database
Connection" chapter of the "Accessing Databases" manual.
Any suggestions would be greatly appreciated
Thanks in advance.
Cheers,
Duncan Kinnear,
McCarthy and Associates, Email:
[email protected]
PO Box 764, McLean Towers, Phone: +64 6 834 3360
Shakespeare Road, Napier, New Zealand. Fax: +64 6 834 3369
Providing Integrated Software to the Meat Processing Industry for over 10
years
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected] -
Re: (forte-users) Express Question
Hi,
I've done it using a dynamic DBSession manager (and dynamic dbsession
instanciation). But, you need to customize the Express Framework
(ExpressService.BusinessDBMgr) and modify the select, update, delete, execute
methods. You need also to maintain the statement cache linked to the DBsession
and manage the link between a DBsession and a task or use explicit mutex (the
aim is to have only one task assigned to a DBsession at a time : this should be
done in the DBSession Manager). If you use Dynamic DBSessions, you will also
need to add a synchronization to the DBsession Manager.
If you want to suppress the default DBSession service object, you will need to
customize the code generation. You should ask the Forte Consulting I think...
Hope this helps,
Daniel Nguyen
Freelance Forte Consultant
Url : http://perso.club-internet.fr/dnguyen/
[email protected] a écrit:
Has anyone tried replicating the partitions that contain the DBService SOs
from the Business Model (ie. DBSessions)? We are attempting to do this to
avoid single-threading access to our database and wondered if anyone had
done this successfully. Thanks for your help.
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]Hi,
I've done it using a dynamic DBSession manager (and dynamic dbsession
instanciation). But, you need to customize the Express Framework
(ExpressService.BusinessDBMgr) and modify the select, update, delete, execute
methods. You need also to maintain the statement cache linked to the DBsession
and manage the link between a DBsession and a task or use explicit mutex (the
aim is to have only one task assigned to a DBsession at a time : this should be
done in the DBSession Manager). If you use Dynamic DBSessions, you will also
need to add a synchronization to the DBsession Manager.
If you want to suppress the default DBSession service object, you will need to
customize the code generation. You should ask the Forte Consulting I think...
Hope this helps,
Daniel Nguyen
Freelance Forte Consultant
Url : http://perso.club-internet.fr/dnguyen/
[email protected] a écrit:
Has anyone tried replicating the partitions that contain the DBService SOs
from the Business Model (ie. DBSessions)? We are attempting to do this to
avoid single-threading access to our database and wondered if anyone had
done this successfully. Thanks for your help.
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]
Maybe you are looking for
-
How do I use a protected cartridge in my other HP printer
I had an HP 6510 die on me so I picked up an HP 6520. They use the same ink cartridges, but when I ran out of the ink the new printer came with I discovered the old cartridges from my 6510 won't work because I must've had the protection setting on. I
-
How to register custom FacesPageLifecycle?
Hi, In 10G, to customize the way errors are presented to the users I was extending ADFPhaseListener to provide my custom FacesPageLifecycle. However, in 11G ADFPhaseListener is marked as deprecated saying that to customize the lifecycle I must regist
-
Missing chapters / Tracks in audibooks
Hi, I am wondering: have I been unlucky with my pruchases, or is it iTune standard not to divide audibooks into useable parts? First I bought a novel. Came in 5 chunks of 2 hours plus. No chapters. Fall asleep, and next time you'll have to rewind and
-
From Quality Stock to free stock
Where i can change the kind of stock for a material. I mean, i have 10 units of Material A in quality stock and i want to use this stock in a 201. How can i change it? Regards
-
Compound layout in View selector possible in OBIEE 10g but not in OBIEE 11
Hi! I am Claire. I have created 3 compound layout and I wanted it to be included in my view selector. I noticed that I is not possible in BI 11g but was previously possible in Bi 10G. Kindly help me on this matter. The compound layout is not appearin