RE: (forte-users) XMLParser-Node : Serializing parts of aDOM across par

I managed to solve this problem with the help of
Sanjeev Sondur and Girish Nair from Sun.
The Solution suggested is as follows :
Whenever a node is supposed to passed as a parameter
for an inter-partition call. We have marshal and
UN-Marshalling :
- Create a new document.
- Clone the node in the context on the new document
- Append the node to the new document
- Serialize the document into a MemoryStream which is
a attribute of the object (SerializedNode) that
is passed in Lieu of a Node.
- On the other end UnMarshall by DeSeralizing the Document
and then reading the node.
Code Follows :
SerializedNode::SerializeNode(pNode);
NewDoc : document = new();
lNode : node;
if pNode <> nil then
-- This clones the node from an old document and creates it
-- in the context of the new document.
lNode = NewDoc.ImportNodeFromDocument(pNode, deep = true);
-- You can then attach to the any part of DOM (I am using
child of root)
NewDoc.appendchild(lNode);
end if;
-- _mStream is MemoryStream
mStream.Open(Framework.SPAM_WRITE, IsBinary = TRUE);
_mStream.seek(0);
_mStream.WriteSerialized(NewDoc);
_mStream.close();
On the other end I Unmarshall it
SerializedNode::GetNode()
mStream.Open(Framework.SPAM_READ, IsBinary = TRUE);
_mStream.seek(0);
NewDoc : document = (Document)(_mStream.ReadSerialized());
lNode : node = NewDoc.getFirstChild();
if lNode = NIL then
task.lgr.putline(' In GetNode : Node was NIL');
end if;
return lNode;
Note : This can use used for read-only access to parts of the DOM.
across partitions.
Thanks to all who responded.
Vivek Shetty
vivekvi-corp.com vivek.shettyLibertyMutual.com
978-884-9942 (cell) 978-750-3639 x 202 (Liberty Mutual)
-----Original Message-----
From: Shetty, Vivek [mailto:Vivek.ShettyLibertyMutual.com]
Sent: Thursday, December 21, 2000 10:04 AM
To: 'forte-userslists.xpedior.com'
Subject: (forte-users) XMLParser-Node : Serializing parts of a DOM
across partitions
I am modeling an Insurance-Policy as a XML document.
One of my requirement was to pass pieces of this Policy (Node)
to a service object for processing.
I have discovered that the Node cannot be serialized across partitions.
I can serialize the whole document using the exportDocument and send
it across the partition and import it on the other end. This is fine when
large pieces of the document have to be sent over.
When smaller pieces of this information has to sent to a service object,
I was planning to create a new document, extract the required nodes
from the old document create in the new document and send the
new document (which is a subset) across.
I am having problems extracting a node from one document and
creating it another document.
I have tried node.clonenode, document.importnodefromdocument without much
success.
I have a choice of writing a method that creates a structure in the new
document by
recursively navigating the old tree and creating new nodes in the new
document from scratch.
Have any of you faced similar situations and come up with a more elegant
solution.
Please share.
Thanks
Vivek Shetty
vivekvi-corp.com vivek.shettyLibertyMutual.com
978-884-9942 (cell) 978-750-3639 x 202 (Liberty Mutual)
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

Similar Messages

  • RE: (forte-users) Phantom Nodes

    Yes both the client and server have to have the same setting and it does not
    work all the time.
    -----Original Message-----
    From: Samer Kanjo [mailto:[email protected]]
    Sent: Thursday, May 10, 2001 11:33 PM
    To: Amin, Kamran; Forte Users
    Subject: RE: (forte-users) Phantom Nodes
    Kamran,
    Just so I am clear on the use of keep alive settings,
    the settings are required on both the server and the
    client, correct? If so then should the settings on
    both client and server nodes be equal?
    Again to be clear, are you saying that the keep alive
    settings alone will prevent phantom nodes?
    Kelsey & Pascal, do you still have the problem even
    though you are using keep alive settings?
    Samer Kanjo
    --- "Amin, Kamran" <[email protected]> wrote:
    The socket time is an OS level setting and is
    different on each OS. I had
    open up a ticket with Forte 2 years ago and the only
    quick solution was to
    change the name of the client computer which faked
    Forte into thinking its a
    different node. This way the client was able to get
    back into their
    application quickly. The only problem was that the
    clients had to reboot
    their computer. The other way to prevent this was
    to use the keep alive
    settings to force a clean up on the Forte central
    environment side.
    ka
    -----Original Message-----
    From: Samer Kanjo [mailto:[email protected]]
    Sent: Thursday, May 10, 2001 6:26 PM
    To: [email protected]; Forte Users
    Subject: RE: (forte-users) Phantom Nodes
    Kelsey,
    We use model nodes exclusively. Occasionally, a
    client
    node would crash and would be inaccessbile for two
    hours but would still appear active under the model
    node. After two hours the client could access the
    environment again. My only option thus far has been
    to
    bounce the environment but that can only be done
    after
    work hours, which may not be convenient for the
    affected user.
    Kamran Amin just wrote me to say that the two hour
    delay is the result of the default socket timeout
    setting on UNIX boxes. Perhaps reducing the socket
    timeout from two hours to something more reasonable
    would fix the problem without manipulating the
    environment configuration.
    I am not sure how I would determine a good socket
    timeout setting for my application. Does anyone have
    any ideas? Is my assumption about reducing the
    socket
    timeout to avoid manipulating the environment
    configuration to remove the phantom nodes in a more
    timely fashion correct?
    Samer Kanjo
    --- [email protected] wrote:
    "... have you reported this to Forte as a bug or
    looked through the defect
    reports?..."
    No and No. I just kind of "stumbled" upon this
    solution this week. I just
    opened the properties windows when it just all ofa
    suddened dawned on me:
    "Maybe, if none of the boxes are checked then the
    node effectively serves
    no usefull purpose in the environment. Therefore,
    maybe Forte will be more
    apt to release it - like the garbage collectordoes
    with an object that is
    not referenced".
    " ... Have you tried this technique when usingmodel
    nodes? ..."
    No I haven't. So far our model nodes have beenwell
    behaved. If a member
    was online the node was online, otherwise, if "no
    one was home" then it was
    off-line. Model nodes aren't real nodes; I viewthem
    as a sort of virtual
    node. Only real nodes have ocassionally behaved
    goofy. I think what happens
    is either the user's machine is improperlyshutdown
    or they just all of
    sudden loose connection to the network. Exception
    handling was never Forte
    ADE's forte.
    Kelsey Petrychyn, P. Eng. SaskTel TechnicalAnalyst
    ITM - Technology Solutions - Distributed Computing
    Tel (306) 777 - 4906, Fax (306) 359 - 0857
    Internet:[email protected]
    Quality is not job 1. It is the only job!
    Samer Kanjo
    <skanjo@yahoo To:
    "Forte Users" <[email protected]>
    .com> cc:
    Subject:
    RE: (forte-users) Phantom Nodes
    05/10/2001
    01:57 PM
    Pascal,
    This is very inetresting. I have experienced the
    same
    problem and have noted the mysterious two hourdelay
    in getting the client node back up and running. I
    thought it may have had something to do with the
    keepalive settings, which seem to work otherwise.
    Kelsey, have you reported this to Forte as a bugor
    looked through the defect reports? Have you tried
    this
    technique when using model nodes? I will give your
    fix
    of reconfiguring the node a try the next time I
    encounter the problem. However, I use model nodesso
    perhaps it may not have the same effect.
    Samer Kanjo
    --- "Rottier, Pascal" <[email protected]>
    wrote:
    I've seen this problem many times myself and the
    cause was always the same.
    The nodemanager of the phantom node was notproperly
    shutdown. Usually,
    because this node was running on NT and somebody
    simply shutdown the
    machine. A "kill -9" on unix will also have thesame
    effect.
    Part of the shutdown process of a node, which
    you
    should always invoke from
    e-console or e-script, is to inform theenvironment
    that it's going away.
    Then Forte will mark it as offline, rather then
    online. However, it the
    nodemgr suddenly dies, there is no such signal.
    === message truncated ===

    Therefore, how to remotely start a node manager ? :-p
    j-p
    -----Message d'origine-----
    De: John Parks [mailto:jparkss1.com]
    Date: vendredi 15 septembre 2000 20:07
    &Agrave;: Jean-Paul.Gabriellisema.fr
    Cc: 'Forte Users'
    Objet: Re: (forte-users) [Model Nodes] What prevents Server Parts to be
    assigned there ?!:?
    Jean-Paul,
    The ModelNode is a client node by definiton, no matter what properties you
    change. I've previously asked for an enhancement to allow a
    model node to be a
    server node, but I don't expect much to happen. To install
    server applications
    to several nodes, you have to make sure that the node manager on
    each node is
    active. There really is no built-in support for distributing
    applications in
    mass to servers like there is for clients (using the model node feature).
    Regards,
    John Parks
    S1 Corporation
    Jean-Paul Gabrielli wrote:
    Hi,
    I want to have a separate node to provide a dedicated service,
    and therefore when I start my environment server and declared that
    node as ModelNode, with 'client' disabled, i still can't assign to it
    my server partition.
    And if I declare it as regular node, the installation of the application
    failed if the node is not online.
    What choice do I have ?
    What prevents that ModelNode, client disabled, to host serverpartition ?!,
    j-paul gabrielli
    sema dts
    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) Node Installed Libraries

    If you use Forte, the solution is to patch compcomp, or add a 'post-distrib'
    script.
    compcomp:
    replace the -L/path/file by -L/path -l:file
    Add -Wl,+s in link command
    post-distrib:
    # Enable SHLIB_PATH
    for all binaries,
    chatr +s enable $bin
    done
    # Enable dyunamic libs for all static
    Libs=$(cahtr $bin | grep ^static)
    for aLib in $Libs ; do
    chatr $bin +s enable -l $aLib
    done
    cheers
    j-paul
    -----Message d'origine-----
    De: kelsey.petrychynsasktel.sk.ca
    [mailto:kelsey.petrychynsasktel.sk.ca]
    Date: lundi 18 septembre 2000 18:36
    &Agrave;: David McPaul; Rottier.Pascalpmintl.ch
    Cc: forte-userslists.xpedior.com
    Objet: RE: (forte-users) Node Installed Libraries
    Libraries have been a sore point with us too....
    When we build something that uses a user created or third party
    library the
    explicit directory path is hard-coded into the build.
    So when you deploy the application to a different machine there
    is much grief
    because the build can't find the library.
    We got around this by "fooling" the build. We used directory
    creation and soft
    links in Unix so that the library appears to be in the same
    directory on both machines.
    I think this is called Static vs. Dynamic Libraries. We've talked
    to Forte last
    year about this and they indicated that this will be a
    future enhancement. Don't hold your breath though.....
    David McPaul <dmcpaullumley.com.au> on 09/17/2000 07:14:13 PM
    To: "'Rottier, Pascal'" <Rottier.Pascalpmintl.ch>, "'Forte Users'"
    <forte-userslists.xpedior.com>
    cc: (bcc: Kelsey Petrychyn/SaskTel/CA)
    Subject: RE: (forte-users) Node Installed Libraries
    Hi,
    We build here against a standard environment (1 NT server, 1 NT
    modal node, 1 95 modal node)
    I have noticed that forte is very picky about where it deploys
    compiled partitions (and thus libraries). Basically if you
    didn't make your
    distribution against the environment you are installing on then
    the compiled
    partitions don't install and you will need to reconfigure the
    application by
    moving your partitions and libraries to the nodes that they should be.
    Now I expected that would be the case between different
    architectures (UNIX/NT) but I think forte expects you to compile against
    each machine you want to install on.
    Not much help I know.
    Cheers
    David
    -----Original Message-----
    From: Rottier, Pascal [mailto:Rottier.Pascalpmintl.ch]
    Sent: Saturday, September 16, 2000 12:59 AM
    To: 'Forte Users'
    Subject: (forte-users) Node Installed Libraries
    Hi guys,
    When you deploy a library using Forte, if automatically updates the
    "Installed Libraries" list of the target node. However, not always. My
    question is, why? What property determines if a library should appear in
    this list or not. Of course, you can always add or remove it manually. But
    why doesn't it work the same automatically for all libraries.
    Pascal Rottier
    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
    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
    ******This
    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

    If you use Forte, the solution is to patch compcomp, or add a 'post-distrib'
    script.
    compcomp:
    replace the -L/path/file by -L/path -l:file
    Add -Wl,+s in link command
    post-distrib:
    # Enable SHLIB_PATH
    for all binaries,
    chatr +s enable $bin
    done
    # Enable dyunamic libs for all static
    Libs=$(cahtr $bin | grep ^static)
    for aLib in $Libs ; do
    chatr $bin +s enable -l $aLib
    done
    cheers
    j-paul
    -----Message d'origine-----
    De: kelsey.petrychynsasktel.sk.ca
    [mailto:kelsey.petrychynsasktel.sk.ca]
    Date: lundi 18 septembre 2000 18:36
    &Agrave;: David McPaul; Rottier.Pascalpmintl.ch
    Cc: forte-userslists.xpedior.com
    Objet: RE: (forte-users) Node Installed Libraries
    Libraries have been a sore point with us too....
    When we build something that uses a user created or third party
    library the
    explicit directory path is hard-coded into the build.
    So when you deploy the application to a different machine there
    is much grief
    because the build can't find the library.
    We got around this by "fooling" the build. We used directory
    creation and soft
    links in Unix so that the library appears to be in the same
    directory on both machines.
    I think this is called Static vs. Dynamic Libraries. We've talked
    to Forte last
    year about this and they indicated that this will be a
    future enhancement. Don't hold your breath though.....
    David McPaul <dmcpaullumley.com.au> on 09/17/2000 07:14:13 PM
    To: "'Rottier, Pascal'" <Rottier.Pascalpmintl.ch>, "'Forte Users'"
    <forte-userslists.xpedior.com>
    cc: (bcc: Kelsey Petrychyn/SaskTel/CA)
    Subject: RE: (forte-users) Node Installed Libraries
    Hi,
    We build here against a standard environment (1 NT server, 1 NT
    modal node, 1 95 modal node)
    I have noticed that forte is very picky about where it deploys
    compiled partitions (and thus libraries). Basically if you
    didn't make your
    distribution against the environment you are installing on then
    the compiled
    partitions don't install and you will need to reconfigure the
    application by
    moving your partitions and libraries to the nodes that they should be.
    Now I expected that would be the case between different
    architectures (UNIX/NT) but I think forte expects you to compile against
    each machine you want to install on.
    Not much help I know.
    Cheers
    David
    -----Original Message-----
    From: Rottier, Pascal [mailto:Rottier.Pascalpmintl.ch]
    Sent: Saturday, September 16, 2000 12:59 AM
    To: 'Forte Users'
    Subject: (forte-users) Node Installed Libraries
    Hi guys,
    When you deploy a library using Forte, if automatically updates the
    "Installed Libraries" list of the target node. However, not always. My
    question is, why? What property determines if a library should appear in
    this list or not. Of course, you can always add or remove it manually. But
    why doesn't it work the same automatically for all libraries.
    Pascal Rottier
    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
    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
    ******This
    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

  • RE: [forte-users] Version L Clients working with Version NServer Partit

    we were not able to get this combination to work, for some reason, our cache
    was not loading when we do this.
    suma
    -----Original Message-----
    From: Bill Bhatta [mailto:[email protected]]
    Sent: Wednesday, May 30, 2001 3:04 PM
    To: [email protected]
    Cc: Ravi; Kent Smith; John Werry
    Subject: [forte-users] Version L Clients working with Version N Server
    Partitions
    My "L" clients are successfully communicationg with a
    3.5 server partition. Anyone else doing this? Any
    potential problems I need to look out for?
    Bill
    a year! http://personal.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: [email protected]

    we were not able to get this combination to work, for some reason, our cache
    was not loading when we do this.
    suma
    -----Original Message-----
    From: Bill Bhatta [mailto:[email protected]]
    Sent: Wednesday, May 30, 2001 3:04 PM
    To: [email protected]
    Cc: Ravi; Kent Smith; John Werry
    Subject: [forte-users] Version L Clients working with Version N Server
    Partitions
    My "L" clients are successfully communicationg with a
    3.5 server partition. Anyone else doing this? Any
    potential problems I need to look out for?
    Bill
    a year! http://personal.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: [email protected]

  • Re: (forte-users) Ok, what's the "secret" for setting serverside envi

    Dear Robinson,
    It seems to be that you have 2 ways of solving the problem:
    1) restart forte after setting the environment variables
    2) write a little application which sets the required variables, using
    the task.part.OperatingSystem.SetEnv(name,value) method.
    If you have to chage the variables rarely, then it`s easier to restart forte,
    otherwise I would suggest to use the SetEnv function...
    Best Regards,
    Tamas Deak
    "Robinson, Richard" wrote:
    Subject says it all.
    We have a bunch of environment variables that are used by the server side
    objects. What I want to do is change the value of some of the variables
    prior to running my application in Forte Development IDE (3.0.G.2). I've
    tried to set the environment variables via NT's registry, but it appears
    that at execution time the variables take on the value of whatever they are
    for the node manager.
    Most IDE's I've worked with before have a way to specify environment
    variables right in the tool. Forte doesn't appear to have that capability -
    say it ain't so!
    Any clues?
    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]
    Tamas Deak
    Lufthansa Systems Hungary
    (forte developer)
    2-6 Mazsa ter, Budapest, 1107, HUNGARY
    (36-1) 4312 973
    [email protected]
    [email protected][email protected]-

    Richard,
    There is no way of changing the environment variable once the Node
    Manager is up. You will have to shutdown the node manager and then restart
    it to have the new environment variables take effect. Sorry, there is no
    secret way of doing this that I know of.
    But you can set the variables on you development machine and run you
    application without distributing. This way the partition will be running in
    your client machine and not the server.
    Another way we have also got around this is by having a special
    environment variable on the client side that opens a admin screen when you
    run you application. This admin screen will allow you to change the
    environment variables and then set them on the server partition. You will
    have to do come coding on the server to make this happen but if you are
    using a framework then it should be easy. We call this developer reconnect
    facility. It only can be activated by the special client side environment
    variable. I comes in very handy when we are development and want to change
    the database on the server partition.
    Hope this help.
    ka
    Kamran Amin
    Framework, Inc.
    303 South Broadway
    Tarrytown, NY 10591
    (914) 631-2322x121
    [email protected]
    http://www.frameworkinc.com/
    -----Original Message-----
    From: Robinson, Richard [mailto:[email protected]]
    Sent: Thursday, November 04, 1999 7:23 AM
    To: [email protected]
    Subject: (forte-users) Ok, what's the "secret" for setting server side
    environment varia bles when running in the Forte Development
    Environment?
    Subject says it all.
    We have a bunch of environment variables that are used by the server side
    objects. What I want to do is change the value of some of the variables
    prior to running my application in Forte Development IDE (3.0.G.2). I've
    tried to set the environment variables via NT's registry, but it appears
    that at execution time the variables take on the value of whatever they are
    for the node manager.
    Most IDE's I've worked with before have a way to specify environment
    variables right in the tool. Forte doesn't appear to have that capability -
    say it ain't so!
    Any clues?
    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) Forte and CORBA question

    Hi,
    The discarding the Java variable that references a distributed Forte object
    doesn't cause that the distributed object will be reclaimed. In Forte client
    you can use ReleaseDistReference() of the current partition (task.part) to
    free the remote object. For Java client, you can implement the following
    solution:
    - define a method ReleaseMyObject() in the SO you are using to get the proxy
    to the dist. object. As parameter for it use something that can identify
    your object (attribute).
    - your SO has an array or hashtable with your distributed objects, every new
    object is added to it.
    - in the implementation of ReleaseMyObject() find the object to release in
    the array and call ReleaseDistReference() for it,
    - from the Java client, call the ReleaseMyObject() for the object that is
    not more needed.
    Regards,
    Zenon Adamek
    ----- Original Message -----
    From: Joseph Mirwald <jomirweb.de>
    To: Dave Ortman <dortmanyahoo.com>; 'Forte User Forum'
    <forte-userslists.xpedior.com>
    Sent: Wednesday, March 07, 2001 3:58 PM
    Subject: Re: (forte-users) Forte and CORBA question
    Hello Dave,
    do you use a copy return or copy parameters in this method ?
    If not, then maybe Forte is unable to garbage-collect this object because
    it is forever
    a proxy which only the server-partition may be able to drop it from memory
    (object=NIL).
    Try this and let us know what happens.
    Hope this helps
    Joseph Mirwald
    At 11:49 07.03.01 -0800, Dave Ortman wrote:
    We're attempting to use a Java client to access a
    Forte server. In doing such, we've experienced a
    problem which I hoped somebody could shed some light
    on.
    We've had a Java client calling Forte service objects
    and passing Forte objects back and forth as CORBA
    structs with no problem. However, we have experienced
    some problem obtaining and using remote references to
    distributed objects from the Java client.
    The problem is memory utilization. Each time I obtain
    a reference to a new object, the memory utilization on
    the Forte server jumps up quite a bit (around 100k per
    object on an NT box). Eventually, if I fetch enough
    objects, the server will crash due to lack of memory.
    It seems that Forte never reclaims the memory, even
    though I'm not using (and don't have a handle to) this
    remote objects.
    The objects are very small. In fact, I created a test
    Forte SO with one method, getObject(); which returns a
    distributed object with a single attribute. I then
    have a Java client access the getObject() method
    repeatedly - discarding the reference to the object
    after each iteration. After a short while, the box
    will come down.
    Any thoughts?
    Thanks in advance,
    -Dave Ortman
    --- "Epari, Madhusudhan" <meparioxhp.com> wrote:
    Hi All,
    Following error occurs consistently on a router
    partition for every call to
    the service object but the partition doesn't die or
    crash. I tried bumping
    up the partition memory too. Any thoughts on why
    it's happening?
    Thanks in advance,
    Madhu
    SYSTEM ERROR: Failed to connect or lost connection
    to the
    environment manager
    at FORTE_NS_ADDRESS = <Unknown>. Check that the
    environment
    manager is
    installed at that location. If it is, then check
    to be sure that
    there are
    enough system resources available to support this
    partition.
    Class: qqsp_SystemResourceException
    Error #: [601, 201]
    Detected at: qqdo_NsClient::FindObject at 1
    Error Time: Wed Feb 21 09:30:56
    Exception occurred (locally) on partition
    "CSA_cl0_Part2-router",
    (partitionId =
    C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c:0x1,
    taskId =
    [C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c.8]) in
    application
    "MWRouting_cl1", pid 18937 on node forted1 in
    environment
    frtedev.
    SYSTEM ERROR: Attempt to send from a partition
    (C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c:0x1)
    that no
    longer exists.
    Class: qqsp_DistAccessException
    Error #: [601, 111]
    Detected at: qqdo_PartitionMgr::SendMsg at
    1
    Error Time: Wed Feb 21 09:30:56
    Distributed method called:
    qqdo_NsServerProxy.FindObject
    (object name
    Unnamed) from partition
    "CSA_cl0_Part2-router",
    (partitionId =
    C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c:0x1,
    taskId =
    [C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c.8]) in
    application
    "MWRouting_cl1", pid 18937 on node
    forted1 in environment
    frtedev
    Exception occurred (locally) on partition
    "CSA_cl0_Part2-router",
    (partitionId =
    C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c:0x1,
    taskId =
    [C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c.8])
    in
    application "MWRouting_cl1", pid 18937 on
    node forted1 in
    environment
    frtedev.
    LbRouter::FindMembers - CAUGHT EXCEPTION attaching
    members from
    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--
    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

    Why not this:
    while myText.moveToString(' ') do
    myText.ReplaceRange('-', myText.Offset, myText.Offset+1);
    end while;
    or if you prefer verbosity:
    while myText.moveToString(source=' ') do
    myText.ReplaceRange(source='-', startOffset=myText.Offset,
    endOffset=myText.Offset+1);
    end while;
    -----Original Message-----
    From: FatchJeBAM.com [mailto:FatchJeBAM.com]
    Sent: Wednesday, January 12, 2000 2:51 PM
    To: Troy.Burnsvacationclub.com; kamranaminyahoo.com
    Subject: RE: (forte-users) search and replace within a TextData
    How about this?? May have to play with start/end on ReplaceRange as I
    didn't really test this
    Anybody got a better way??
    -- replace space with underscore
    For x in 1 to myTextdata.LengthToEnd() do
    If myTextData.IsSpace() then
    MyTextdata.ReplaceRange('_'. Startoffset=myTextdata.offset,
    endoffset=myTextdata.offset+1);
    End if;
    MyTextdata.MoveNext;
    End for;
    Jerry Fatcheric
    -----Original Message-----
    From: Burns, Troy [mailto:Troy.Burnsvacationclub.com]
    Sent: Wednesday, January 12, 2000 9:40 AM
    To: kamranaminyahoo.com
    Subject: (forte-users) search and replace within a
    TextData
    Hello all,
    I need to search within a textdata object, replacing all
    occurrances of a
    space
    with another character. Can you give a quick code example
    of how I would do
    this?
    Thanks in advance,
    Troy
    Troy Burns
    Marriott Vacation Club Intl.
    E-mail: troy.burnsvacationclub.com
    Phone: (941) 688-7700 ext. 4408
    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:
    forte-users-requestlists.sageit.com
    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: forte-users-requestlists.sageit.com

  • RE: (forte-users) What could have caused the StopWatch classto r eturn

    Attila
    1. Ops - I DO instantiate it as follows:
    [snip]
    sw : StopWatch = new;
    [snip]
    I missed the "= new" in the orig mail message (cut/past from wrong
    workspace).
    2. LogWriter(deltaT:integer, t1:DateTimeData, t2:DateTimeData)
    [snip]
    task.part.logmgr.put('| ');
    task.part.logmgr.put(deltaT);
    task.part.logmgr.put(' | ');
    task.part.logmgr.put(t1);
    task.part.logmgr.put(' | ');
    task.part.logmgr.put(t2);
    task.part.logmgr.putline(' |');
    [snip]
    OK, it's just a quick 'n dirty but it does the job for testing.
    Regards,
    Dirk
    -----Original Message-----
    From: Attila R&aacute;cz [mailto:[email protected]]
    Sent: Thursday, 7 October 1999 14:35
    To: Haben, Dirk
    Subject: Re: (forte-users) What could have caused the
    StopWatch class to
    return a negative v alue?
    Hi Dirk,
    1. You don't instantiate the StopWatch object!!! So the
    attached code have to
    throw a NIL exception. On my PC it does:
    "Trying to invoke a method on a NIL object (qqos_StopWatch, 1)."
    2. Send the whole LogWriter method for analyzing.
    Attila
    "Haben, Dirk" wrote:
    G'day
    Suppose the following output is produced:
    Loaded Forte Message Catalog 'fortemsg/en_us.cat'
    NLM Startup is Complete - Partition's Locale is 'c'
    Loading partition CollectResponseStatistics_cl0_Client built on 30-Sep-1999
    09:12:28.
    Attached to manager for node BLAH.
    %DiH-I-VERID: CollectResponseStatistics_v371.002
    %DiH-I-BGP, BGP Started...
    %DiH-I, Repeat Interval (in milliseconds) 300000
    %DiH-I, Sample Account Number: 123456
    %DiH-I-BGPSTART, BackgroundProcessing started at: 07-Oct-1999 08:54:16
    | Total Time | Account Fetch | Account Fetch |
    | in milliSeconds | Start Time | Completion Time |
    |-----------------|----------------------|----------------------|
    | -194 | 07-Oct-1999 08:54:16 | 07-Oct-1999 08:54:17 |
    What could cause the stopwatch class to return this negative value? Here is
    the code that is run:
    sw : StopWatch;
    //that line is actual as follows:
    sw : StopWatch = new;
    //*****[Dirk]
    >>
    BP_t1 : DateTimeData = new;
    BP_t2 : DateTimeData = new;
    BP_t1.SetCurrent();
    self.LogWriter('%DiH-I-BGPSTART, BackgroundProcessing started at: ',BP_t1);
    self.LogWriterHeading();
    tmpAcc : account = new;
    sw.fire();
    BP_t1.SetCurrent();
    tmpAcc = self.AccountFetch(aAccountNumber);
    BP_t2.SetCurrent();
    deltaT : Integer = sw.split();
    self.LogWriter(deltaT,BP_t1,BP_t2);
    Oh, and the logwriter is just a formatted logmgr.put(deltaT) ,
    logmgr.put(t1) etc
    Any light on this one much appreciated.
    Thanks,
    Dirk
    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]
    Attila Racz Lufthansa
    Systems Hungary
    BUD LSYH
    E-mail: [email protected] .-``'.
    Tel.: (36 1) 431-2910 .` .' Mazsa ter 2-6.
    Fax : (36 1) 431-2977 _.-' '._ H-1107
    Budapest, Hungary

    Attila
    1. Ops - I DO instantiate it as follows:
    [snip]
    sw : StopWatch = new;
    [snip]
    I missed the "= new" in the orig mail message (cut/past from wrong
    workspace).
    2. LogWriter(deltaT:integer, t1:DateTimeData, t2:DateTimeData)
    [snip]
    task.part.logmgr.put('| ');
    task.part.logmgr.put(deltaT);
    task.part.logmgr.put(' | ');
    task.part.logmgr.put(t1);
    task.part.logmgr.put(' | ');
    task.part.logmgr.put(t2);
    task.part.logmgr.putline(' |');
    [snip]
    OK, it's just a quick 'n dirty but it does the job for testing.
    Regards,
    Dirk
    -----Original Message-----
    From: Attila R&aacute;cz [mailto:[email protected]]
    Sent: Thursday, 7 October 1999 14:35
    To: Haben, Dirk
    Subject: Re: (forte-users) What could have caused the
    StopWatch class to
    return a negative v alue?
    Hi Dirk,
    1. You don't instantiate the StopWatch object!!! So the
    attached code have to
    throw a NIL exception. On my PC it does:
    "Trying to invoke a method on a NIL object (qqos_StopWatch, 1)."
    2. Send the whole LogWriter method for analyzing.
    Attila
    "Haben, Dirk" wrote:
    G'day
    Suppose the following output is produced:
    Loaded Forte Message Catalog 'fortemsg/en_us.cat'
    NLM Startup is Complete - Partition's Locale is 'c'
    Loading partition CollectResponseStatistics_cl0_Client built on 30-Sep-1999
    09:12:28.
    Attached to manager for node BLAH.
    %DiH-I-VERID: CollectResponseStatistics_v371.002
    %DiH-I-BGP, BGP Started...
    %DiH-I, Repeat Interval (in milliseconds) 300000
    %DiH-I, Sample Account Number: 123456
    %DiH-I-BGPSTART, BackgroundProcessing started at: 07-Oct-1999 08:54:16
    | Total Time | Account Fetch | Account Fetch |
    | in milliSeconds | Start Time | Completion Time |
    |-----------------|----------------------|----------------------|
    | -194 | 07-Oct-1999 08:54:16 | 07-Oct-1999 08:54:17 |
    What could cause the stopwatch class to return this negative value? Here is
    the code that is run:
    sw : StopWatch;
    //that line is actual as follows:
    sw : StopWatch = new;
    //*****[Dirk]
    >>
    BP_t1 : DateTimeData = new;
    BP_t2 : DateTimeData = new;
    BP_t1.SetCurrent();
    self.LogWriter('%DiH-I-BGPSTART, BackgroundProcessing started at: ',BP_t1);
    self.LogWriterHeading();
    tmpAcc : account = new;
    sw.fire();
    BP_t1.SetCurrent();
    tmpAcc = self.AccountFetch(aAccountNumber);
    BP_t2.SetCurrent();
    deltaT : Integer = sw.split();
    self.LogWriter(deltaT,BP_t1,BP_t2);
    Oh, and the logwriter is just a formatted logmgr.put(deltaT) ,
    logmgr.put(t1) etc
    Any light on this one much appreciated.
    Thanks,
    Dirk
    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]
    Attila Racz Lufthansa
    Systems Hungary
    BUD LSYH
    E-mail: [email protected] .-``'.
    Tel.: (36 1) 431-2910 .` .' Mazsa ter 2-6.
    Fax : (36 1) 431-2977 _.-' '._ H-1107
    Budapest, Hungary

  • RE: (forte-users) SerializationException

    Ravi,
    Are your partitions compiled?
    On comiled partitions, NIL object exceptions show
    up as these.
    Hope this helps.
    Nirmal
    Nirmal P Uppalapati Phone:
    (203) 622-5386
    VP-US Operations
    (203)
    359-3992
    PSI Data Systems Ltd. Mobile:
    (203) 829-7741
    Suite 406
    Fax: (203) 359-4662
    One Bank Street mail :
    nirmalpsidata.com
    Stamford, CT 06901 USA Web:
    http://www.psi.soft.net
    -----Original Message-----
    From: Ravindra Kallamadi
    [SMTP:rkallamadiyahoo.com]
    Sent: Wednesday, January 26, 2000 6:12 PM
    To: kamranaminyahoo.com
    Cc: William.K.Bhattapmusa.com
    Subject: (forte-users) SerializationException
    Has anyone experienced the following
    SerializationException?
    Thu Jan 20 22:33:31 : End of Stack Backtrace
    Thu Jan 20 22:33:31 : THROW:: Exception
    0x1850038, task 0x10325d8
    Thu Jan 20 22:33:31 : FATAL ERROR: System
    segmentation/access violation
    caught.
    Class: qqos_SystemException
    Error #: [101, 321]
    Detected at: qqos_MainExFilter at 1
    Error Time: Thu Jan 20 22:33:31
    Exception occurred (locally) on partition
    "xxxx_cl0_Part4",
    (partitionId =
    DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,
    taskId =
    [DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x3 
    4e.26]) in application
    "xxxx_cl0", pid 1163 on node MCPORCA1 in
    environment mcfem01.
    Thu Jan 20 22:33:31 :
    Thu Jan 20 22:33:31 : THROW:: Exception
    0x1850188, task 0x10325d8
    Thu Jan 20 22:33:31 : SYSTEM ERROR: Error during
    Serialization.
    Class: qqsp_SerializationException
    Error #: [201, 34]
    Detected at: qqlo_Xlate at 1
    Error Time: Thu Jan 20 22:33:31
    Exception occurred (locally) on partition
    "xxxx_cl0_Part4",
    (partitionId =
    DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,
    taskId =
    [DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x3 
    4e.26]) in application
    "xxxx_cl0", pid 1163 on node MCPORCA1 in
    environment mcfem01.
    Thu Jan 20 22:33:31 :
    Thu Jan 20 22:33:31 : THROW:: Exception
    0x1850188, task 0x10325d8
    Thu Jan 20 22:33:31 : SYSTEM ERROR: Error
    serializing attribute 1 of
    class mach_status
    (serialization type 6).
    Class: qqsp_SerializationException
    Error #: [1001, 267]
    Detected at: qqrt_4GLClassType::InstanceXlate
    at 1
    Error Time: Thu Jan 20 22:33:31
    Exception occurred (locally) on partition
    "xxxx_cl0_Part4",
    (partitionId =
    DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,
    taskId =
    [DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x3 
    4e.26]) in application
    "xxxx_cl0", pid 1163 on node MCPORCA1 in
    environment mcfem01.
    Thu Jan 20 22:33:31 :
    Thu Jan 20 22:33:31 : THROW:: Exception
    0x1850038, task 0x10325d8
    Thu Jan 20 22:33:31 : FATAL ERROR: System
    segmentation/access violation
    caught.
    Class: qqos_SystemException
    Thanks.
    Ravi Kallamadi
    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

    Serialization errors can also come from mismatched id's in plans. This
    happens when you have 2+ repositories containing the same code but having
    different id's inside the plans. Applications built from these multiple
    repositories will not be able to communicate with each other. Serialization
    errors will occur when they attempt to. To fix this. Make sure that you
    export all code with the "ids" flags. Check your fscript manual for more
    information on this, but basically it is something like
    exportworkspace <path>/<filename> ids
    Overwriting a plan in Forte even with the overwrite command will not
    overwrite the id's. So it might be necessary to junk a repository and start
    it from scratch, importing the id's into it. This will ensure that all of
    your "shared" code in the multiple repositories are in synch. And yes, this
    is a huge pain.
    Scott Francis
    -----Original Message-----
    From: Peter Sham [mailto:peter_shamyahoo.com]
    Sent: Friday, January 28, 2000 10:18 AM
    To: BOURDON Patrice; 'Ravindra Kallamadi'; kamranaminyahoo.com
    Cc: William.K.Bhattapmusa.com
    Subject: RE: (forte-users) SerializationException
    Hi,
    One more suggestion. You can run fscript and issue command "showapp" under
    partition workshop, then you will see all the projects being pulled in for a
    partition. This would show you whether your code for that attribute is
    missing from the list of projects.
    Regards,
    Peter Sham.
    BOURDON Patrice <patrice.bourdonalliance-sante.fr> wrote:
    hi,
    is the type of "attribute 1 of class mach_status" known of your partition ?
    you can get this kind of error if you pass an object whose some type of
    attribute are unknown in called partition
    (but only from calling partition).
    Patrice
    -----Message d'origine-----
    De: Ravindra Kallamadi [mailto:rkallamadiyahoo.com]
    Date: jeudi 27 janvier 2000 00:12
    &Agrave;: kamranaminyahoo.com
    Cc: William.K.Bhattapmusa.com
    Objet: (forte-users) SerializationException
    Has anyone experienced the following SerializationException?
    Thu Jan 20 22:33:31 : End of Stack Backtrace
    Thu Jan 20 22:33:31 : THROW:: Exception 0x1850038, task 0x10325d8
    Thu Jan 20 22:33:31 : FATAL ERROR: System segmentation/access violation
    caught.
    Class: qqos_SystemException
    Error #: [101, 321]
    Detected at: qqos_MainExFilter at 1
    Error Time: Thu Jan 20 22:33:31
    Exception occurred (locally) on partition "xxxx_cl0_Part4",
    (partitionId = DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,
    taskId =
    [DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e.26]) in application
    "xxxx_cl0", pid 1163 on node MCPORCA1 in environment mcfem01.
    Thu Jan 20 22:33:31 :
    Thu Jan 20 22:33:31 : THROW:: Exception 0x1850188, task 0x10325d8
    Thu Jan 20 22:33:31 : SYSTEM ERROR: Error during Serialization.
    Class: qqsp_SerializationException
    Error #: [201, 34]
    Detected at: qqlo_Xlate at 1
    Error Time: Thu Jan 20 22:33:31
    Exception occurred (locally) on partition "xxxx_cl0_Part4",
    (partitionId = DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,
    taskId =
    [DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e.26]) in application
    "xxxx_cl0", pid 1163 on node MCPORCA1 in environment mcfem01.
    Thu Jan 20 22:33:31 :
    Thu Jan 20 22:33:31 : THROW:: Exception 0x1850188, task 0x10325d8
    Thu Jan 20 22:33:31 : SYSTEM ERROR: Error serializing attribute 1 of
    class mach_status
    (serialization type 6).
    Class: qqsp_SerializationException
    Error #: [1001, 267]
    Detected at: qqrt_4GLClassType::InstanceXlate at 1
    Error Time: Thu Jan 20 22:33:31
    Exception occurred (locally) on partition "xxxx_cl0_Part4",
    (partitionId = DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,
    taskId =
    [DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e.26]) in application
    "xxxx_cl0", pid 1163 on node MCPORCA1 in environment mcfem01.
    Thu Jan 20 22:33:31 :
    Thu Jan 20 22:33:31 : THROW:: Exception 0x1850038, task 0x10325d8
    Thu Jan 20 22:33:31 : FATAL ERROR: System segmentation/access violation
    caught.
    Class: qqos_SystemException
    Thanks.
    Ravi Kallamadi
    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
    --0-1804289383-949072683=:11145
    Content-Type: text/html; charset=us-ascii
    <P>Hi,</P>
    <P>One more suggestion.  You can run fscript and issue command
    "showapp" under partition workshop, then you will see all the projects being
    pulled in for a partition.  This would show you whether your code for
    that attribute is missing from the list of projects.</P>
    <P>Regards,</P>
    <P>Peter Sham.</P>
    <P><B><I>BOURDON Patrice &lt;patrice.bourdonalliance-sante.fr&gt;</B></I>
    wrote:<BR>
    <BLOCKQUOTE style="BORDER-LEFT: #1010ff 2px solid; MARGIN-LEFT: 5px;
    PADDING-LEFT: 5px">hi,<BR><BR>is the type of "attribute 1 of class
    mach_status" known of your partition ?<BR>you can get this kind of error if
    you pass an object whose some type of<BR>attribute are unknown in called
    partition<BR>(but only from calling
    partition).<BR><BR>Patrice<BR><BR>-----Message d'origine-----<BR>De:
    Ravindra Kallamadi [mailto:rkallamadiyahoo.com]<BR>Date: jeudi 27 janvier
    2000 00:12<BR>&Agrave;:: kamranaminyahoo.com<BR>Cc:
    William.K.Bhattapmusa.com<BR>Objet: (forte-users)
    SerializationException<BR><BR><BR>Has anyone experienced the following
    SerializationException?<BR><BR>---------------------------------------------
    -------------------------<BR>Thu Jan 20 22:33:31 : End of Stack
    Backtrace<BR><BR>Thu Jan 20 22:33:31 : THROW:: Exception 0x1850038, task
    0x10325d8<BR>Thu Jan 20 22:33:31 : FATAL ERROR: System segmentation/access
    violation<BR>caught.<BR>Class: qqos_SystemException<BR>Error #: [101,!
    321]<BR>Detected at: qqos_MainExFilter at 1<BR>Error Time: Thu Jan 20
    22:33:31 <BR>Exception occurred (locally) on partition
    "xxxx_cl0_Part4",<BR>(partitionId =
    DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,<BR>taskId
    =<BR>[DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e.26]) in
    application<BR>"xxxx_cl0", pid 1163 on node MCPORCA1 in environment
    mcfem01.<BR>Thu Jan 20 22:33:31 : <BR>Thu Jan 20 22:33:31 : THROW::
    Exception 0x1850188, task 0x10325d8<BR>Thu Jan 20 22:33:31 : SYSTEM ERROR:
    Error during Serialization.<BR>Class: qqsp_SerializationException<BR>Error
    #: [201, 34]<BR>Detected at: qqlo_Xlate at 1<BR>Error Time: Thu Jan 20
    22:33:31 <BR>Exception occurred (locally) on partition
    "xxxx_cl0_Part4",<BR>(partitionId =
    DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,<BR>taskId
    =<BR>[DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e.26]) in
    application<BR>"xxxx_cl0", pid 1163 on node MCPORCA1 in environment
    mcfem01.<BR>Thu Jan 20 22:33:31 : <BR>Thu Jan 20 22:33:31 : THROW::
    Exception 0x185!
    0188, task 0x10325d8<BR>Thu Jan 20 22:33:31 : SYSTEM ERROR: Error
    serializing attribute 1 of<BR>class mach_status<BR>(serialization type
    6).<BR>Class: qqsp_SerializationException<BR>Error #: [1001,
    267]<BR>Detected at: qqrt_4GLClassType::InstanceXlate at 1<BR>Error Time:
    Thu Jan 20 22:33:31 <BR>Exception occurred (locally) on partition
    "xxxx_cl0_Part4",<BR>(partitionId =
    DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,<BR>taskId
    =<BR>[DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e.26]) in
    application<BR>"xxxx_cl0", pid 1163 on node MCPORCA1 in environment
    mcfem01.<BR>Thu Jan 20 22:33:31 : <BR>Thu Jan 20 22:33:31 : THROW::
    Exception 0x1850038, task 0x10325d8<BR>Thu Jan 20 22:33:31 : FATAL ERROR:
    System segmentation/access violation<BR>caught.<BR>Class:
    qqos_SystemException<BR>----------------------------------------------------
    -------------------<BR><BR>Thanks.<BR><BR>Ravi Kallamadi<BR><BR>--<BR>For
    the archives, go to: http://lists.xpedior.com/forte-users and use<BR>the
    login: fort!
    e and the password: archive. To unsubscribe, send in a new <BR>email the
    word: 'Unsubscribe' to:
    forte-users-requestlists.xpedior.com<BR><BR>--<BR>For the archives, go to:
    http://lists.xpedior.com/forte-users and use<BR>the login: forte and the
    password: archive. To unsubscribe, send in a new <BR>email the word:
    'Unsubscribe' to: forte-users-requestlists.xpedior.com<BR><BR></BLOCKQUOTE>

  • (Forte-users) log file error

    Hi,
    We are getting this error in our log files, when we run our application.(We
    are running interpreted)
    Any help will be appreciated to solve this problem.
    Thanks
    Carole
    Attached to manager for node FORTE_DEV.
    aud Wed May 10 08:58:28 : Loading partition CSaver_cl169_Part1-router built
    on 08-May-2000 16:32:42.
    Attached to manager for node FORTE_DEV.
    aud Wed May 10 10:01:12 : Shutting down partition as requested.
    aud Wed May 10 10:01:13 : Unloaded partition CSaver_cl169_Part1-router.
    aud Wed May 10 10:01:15 : Loading partition CSaver_cl169_Part1-router built
    on 08-May-2000 16:32:42.
    Attached to manager for node FORTE_DEV.
    LbRouter::FindMembers - CAUGHT EXCEPTION attaching members from
    SYSTEM ERROR: Failed to connect or lost connection to the environment
    manager
    at FORTE_NS_ADDRESS = <Unknown>. Check that the environment manager is
    installed at that location. If it is, then check to be sure that there
    are
    enough system resources available to support this partition.
    Class: qqsp_SystemResourceException
    Error #: [601, 201]
    Detected at: qqdo_NsClient::FindObject at 1
    Error Time: Wed May 10 10:01:40
    Exception occurred (locally) on partition "CSaver_cl169_Part1-router",
    (partitionId = A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1, taskId
    =
    [A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
    "CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev.
    SYSTEM ERROR: Attempt to send from a partition
    (A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1) that no longer
    exists.
    Class: qqsp_DistAccessException
    Error #: [601, 111]
    Detected at: qqdo_PartitionMgr::SendMsg at 1
    Error Time: Wed May 10 10:01:40
    Distributed method called: qqdo_NsServerProxy.FindObject (object
    name
    Unnamed) from partition "CSaver_cl169_Part1-router", (partitionId
    =
    A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1, taskId =
    [A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
    "CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev
    Exception occurred (locally) on partition
    "CSaver_cl169_Part1-router",
    (partitionId = A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1,
    taskId
    = [A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
    "CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev.
    LbRouter::FindMembers - CAUGHT EXCEPTION attaching members from
    SYSTEM ERROR: Failed to connect or lost connection to the environment
    manager
    at FORTE_NS_ADDRESS = <Unknown>. Check that the environment manager is
    installed at that location. If it is, then check to be sure that there
    are
    enough system resources available to support this partition.
    Class: qqsp_SystemResourceException
    Error #: [601, 201]
    Detected at: qqdo_NsClient::FindObject at 1
    Error Time: Wed May 10 10:01:40
    Exception occurred (locally) on partition "CSaver_cl169_Part1-router",
    (partitionId = A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1, taskId
    =
    [A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
    "CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev.
    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

    One thing to look at is this message: Check that the environment manager is
    installed at that location. If it is, then check to be sure that there are
    enough system resources available to support this partition.
    Particularly the enough systems resources part of it. I've seen this message
    before, but it's been awhile, & the problem was we didn't have enough
    virtual memory on the server & also we needed more tcp/ip connections. If I
    remember right our Unix guy had to change some of the configuration
    parameters in the kernel on the server.
    Hope this helps.
    -----Original Message-----
    From: MacDonald, Carole [mailto:CMacDonaldnbs.co.za]
    Sent: Thursday, May 11, 2000 3:53 AM
    To: forte-userslists.xpedior.com
    Subject: (Forte-users) log file error
    Hi,
    We are getting this error in our log files, when we run our application.(We
    are running interpreted)
    Any help will be appreciated to solve this problem.
    Thanks
    Carole
    Attached to manager for node FORTE_DEV.
    aud Wed May 10 08:58:28 : Loading partition CSaver_cl169_Part1-router built
    on 08-May-2000 16:32:42.
    Attached to manager for node FORTE_DEV.
    aud Wed May 10 10:01:12 : Shutting down partition as requested.
    aud Wed May 10 10:01:13 : Unloaded partition CSaver_cl169_Part1-router.
    aud Wed May 10 10:01:15 : Loading partition CSaver_cl169_Part1-router built
    on 08-May-2000 16:32:42.
    Attached to manager for node FORTE_DEV.
    LbRouter::FindMembers - CAUGHT EXCEPTION attaching members from
    SYSTEM ERROR: Failed to connect or lost connection to the environment
    manager
    at FORTE_NS_ADDRESS = <Unknown>. Check that the environment manager is
    installed at that location. If it is, then check to be sure that there
    are
    enough system resources available to support this partition.
    Class: qqsp_SystemResourceException
    Error #: [601, 201]
    Detected at: qqdo_NsClient::FindObject at 1
    Error Time: Wed May 10 10:01:40
    Exception occurred (locally) on partition "CSaver_cl169_Part1-router",
    (partitionId = A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1, taskId
    =
    [A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
    "CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev.
    SYSTEM ERROR: Attempt to send from a partition
    (A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1) that no longer
    exists.
    Class: qqsp_DistAccessException
    Error #: [601, 111]
    Detected at: qqdo_PartitionMgr::SendMsg at 1
    Error Time: Wed May 10 10:01:40
    Distributed method called: qqdo_NsServerProxy.FindObject (object
    name
    Unnamed) from partition "CSaver_cl169_Part1-router", (partitionId
    =
    A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1, taskId =
    [A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
    "CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev
    Exception occurred (locally) on partition
    "CSaver_cl169_Part1-router",
    (partitionId = A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1,
    taskId
    = [A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
    "CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev.
    LbRouter::FindMembers - CAUGHT EXCEPTION attaching members from
    SYSTEM ERROR: Failed to connect or lost connection to the environment
    manager
    at FORTE_NS_ADDRESS = <Unknown>. Check that the environment manager is
    installed at that location. If it is, then check to be sure that there
    are
    enough system resources available to support this partition.
    Class: qqsp_SystemResourceException
    Error #: [601, 201]
    Detected at: qqdo_NsClient::FindObject at 1
    Error Time: Wed May 10 10:01:40
    Exception occurred (locally) on partition "CSaver_cl169_Part1-router",
    (partitionId = A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696:0x1, taskId
    =
    [A37D7E70-0024-11D3-9C6C-522EAE7DAA77:0xa696.9]) in application
    "CSaver_cl169", pid 698 on node FORTE_DEV in environment nbs_dev.
    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
    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) 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.com

    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.com

  • How to use "User Events" in different parts of an application

    Hi,
    "You programmatically can create and name your own events, called user events, to carry user-defined data. Like queues and notifiers, user events allow different parts of an application to communicate asynchronously. You can handle both user interface and programmatically generated user events in the same Event structure."
    What you read was part of labview 7.1 user manual ( Chapter 9 - pg.12 ). I've some problems with the underlined sentence. I hope someone can help me.
    When using Queues, the programmer may use a named queue everywhere in the application. there is no need to wire queue reference among VIs or using global variables to store queue reference. the name of the queue will be all that you need. I wonder if it is also possible with a event refnum that is the output of "Register for Event" node. As far as I've tested. the answer is Negative! I tried to copy-paste refnum in front panels and using the same name. but there is no connection between event refnums.
    LV User manual claims that user events can be used like queues, but it doesn't seem so.
    Does anybody have an idea?
    Best Regards.

    I didn't look at Damien Gray's presentation recently, but if I remember it correctly, it is on a much higher level than what I meant, because it refers to LARGE application. This is a very simple one.
    Using a functional global is not problematic CPU-wise, nor memory wise (unless you get into really big data structures, like hundreds of MBs), so you shouldn't be afraid to use it. I'm also not sure why you're afraid of the loop. The loop is only there to "hold" the USR. It only runs once. If you want, you can replace it with a for loop that runs once. I've recently learned that apparently, you can also get rid of the loop and use a local variable (look at the example called XY chart) instead of a USR. I don't think a local variable should have any more impact than a USR, but that needs to be tested. It can definitely be more convenient for some VIs where you don't have to wire the SR through the entire VI.
    Anyway, you will need to have an "obtain ref" VI which will hold a 1D array of names and a corresponding array of refs. Then, you search the array for the name, and if it finds the name, it extracts the correct reference. You will also need a way to input references and names into the array and possibly a way to empty the array. You may need to have 2 levels - the inner VI will be the LV2 VI and the parent will be the obtain ref\fill array\close VI. You will need some error handling as well - what happens if you search for a name and it can't be found and so on...
    Hope this helps.
    Try to take over the world!

  • RE: (forte-users) user name

    Troy Burns wrote:
    It would definitely be of interest to me, since this is an item on my
    "to-do" list. If you can release the code, let me know.Here 'tiz.
    The files you're getting are:
    SFVosC.pex - "C" wrapper.
    Vos.C - The "C" callout.
    Vos.H - A header file for Vos.C, used by ...
    VosCLI.C - A command-line-driven mainline to test Vos.C
    VosObj.CEX - An object that provides a "nice" interface to the "C" wrapper.
    We use this in two ways: instantiated as a local object to get the username
    under VMS or NT, or as a service object partitioned to an NT server to do
    username/password authentication on behalf of clients on other operating
    systems.
    The following changes have been made throughout the files in an attempt to
    keep various people in DuPont happy:
    "our_application_root" replaces the actual name of the root directory of
    the application.
    "our_vms_server" replaces the actual name of the system in question.
    "our_nt_server" replaces the actual name of the system in question.
    "our_application_name" replaces the actual name of the application.
    A copyright notice, the usual disclaimer, and a "fair use" statement (which
    is just a reference to the Perl Artistic License) have been inserted.
    Except for the "ExternalObjectFiles" declaration in SFVosC.pex, all the
    changes appear to have been in comments. But the files come with the usual
    freeware warranty (i.e. "use at your own risk".)
    Have fun with these!
    Tom Wyant
    (See attached file: SFvosC.pex)(See attached file: Vos.c)(See attached
    file: Vos.h)(See attached file: Voscli.c)(See attached file: VosObj.cex)

    I would try going to the "lowest common denominator" between WindowsNT and
    Windows95 - DOS. Both windowing OS's sort of have their roots in DOS, or at
    least both are capable of opening a DOS session.
    Therefore, from a DOS prompt type "set" to view the environment variables for
    both OS types. Look for a common variable between the two that stores the
    userID. If you can find one of these your application will be that much more
    portable between these two Windows mutations.
    I used "set" on my NT and found my userID assigned to a few variables. I haven't
    done this on a Windows95 machine in quite some time, but if the machine is on
    the network it should have at least one environment variable with the userID.
    I'm just guessing that DOS has a variable to store the userID that will be
    common to both machines.
    Good luck....
    Kelsey PetrychynSaskTel Technical Analyst
    ITM - Technology Solutions - Distributed Computing
    Tel (306) 777 - 4906, Fax (306) 359 - 0857
    Internet:kelsey.petrychynSasktel.sk.ca
    Quality is not job 1. It is the only job!
    "Olivier Andrieux" <oandrieuxaxialog.fr> on 07/19/2000 09:12:41 AM
    To: forte-userslists.xpedior.com
    cc: (bcc: Kelsey Petrychyn/SaskTel/CA)
    Subject: (forte-users) user name
    Hi
    I use this command to catch the username:
    task.part.operatingsystem.getenv('username')
    with NT, there is no problem
    but with windows95 or 98 the command doesn't find the username.
    Thanks in advance.
    Olivier Andrieux
    Axialog
    Lille
    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) Minimal Fusion

    Thomas,
    A response which may contain no answers...and may lead to more questions...
    As a novice fusion user, one of the largest obstacles to using Fusion is the lack of XML API's in an application, be it a customer's in-house or vendor's software product. Corresponding to this is simply the lack of any API's in the application. As Forte (abet Sun, now iPlanet) says in their training manual 'A nontrivial task is to build new adapters for your programs if you wish to enable them to interact using XML documents over HTTP'. This is probably an understatement.
    The question that come to mind is:
    Does the warehouse have published API's their product?
    If not, then, IMHO, you have steep hill to climb, not the least being communication, cooperation, and coordination from the warehouse vendor (another one of those 'nontrivial tasks') in trying to create the required API's
    if so, then it is a matter of building an adapter, in a language that is compatible with the warehouse's API (hopefully C or some derivation of) , that contains (1) a DOM (Document Object Module) to API Translator, (2) an XML Parser (converts XML to DOM and visa-versa) , and (3) a HTTP server (again, another one of those 'nontrivial tasks').
    Forte (abet Sun, now iPlanet) suggests, and I would concur (with reservations), that if you haven't done this before you should probably hire their services from the Forte Integration Services group. Their costs (admittible high) should be offset be the time it would take to develop one on your own. A side benefit is working with them, you learn the process for making other adapters in the future. If Fusion is a marketing success, then the benefits should out weigh the costs.
    The Forte Integration Services group markets, or will market, a Fusion Adapter Designer, some sort of a SDK, which assists in the creation of Adapters. I do not know the availability of that product at this time.
    As to your question "Is it reasonable to consider doing this project under Fusion as a
    getting-feet-wet experience?" If you (or your customer) can afford the costs, and the warehouse has published API's, I would say that you gotta get-your-feet-wet somehow. If the warehouse doesn't have published API's and are not willing to put forth the effort and resources to do so, I would say your chances of success are considerably less.
    In any case, IMHO, it will be a 'non trivial' undertaking.
    -later
    -labeaux
    "Thomas Mercer-Hursh, Ph.D." <thomascintegrity.com> 10/31/00 04:49PM >>>This may be one of those questions which has no answer, but ...
    Our long term plan is to develop XML APIs to each of the modules in our
    suite of non-Forte applications and to integrate these under Fusion, thus
    gaining Conductor management of the inter-module work flows and a cleaner
    loose coupling of the applications along with other benefits such as the
    ease of integration with other packages, a clean way to migrate to Forte
    modules, and an ease of interconnecting "mini-applications" to address
    specific customer needs.
    I have an existing customer who has made a decision to migrate to a third
    party warehouse from an in-house warehouse. I.e., were this transition to
    the new structure complete, this would correspond to unhooking some of our
    modules and replacing these with an adapter to the corresponding modules in
    the third party warehouse.
    In fact, as it looks now, I will need to build the logical equivalent of
    these APIs anyway -- might as well do it in XML, right? And these APIs
    will communicate with a daemon responsible for the message traffic to and
    from. I tried to get this traffic to be XML and to use MQSeries or JMS as
    the transport, but the folks at the warehouse end don't seem to be able to
    handle such things, so I am stuck doing something fairly stupid for the
    actual communication.
    So, the question for those out there who have already paid their Fusion
    dues, is it reasonable to consider doing this project under Fusion as a
    getting-feet-wet experience. There are only half a dozen APIs to do and I
    have to do those anyway and am inclined to make them XML regardless. There
    will be one communication daemon to which all these connect and the
    business processes originally implemented in Conductor will basically be
    just point to point connects, except for routing traffic from the daemon to
    the right API based on message type. That's really all I need it to do,
    i.e., far too simple to actually need Fusion, but a possible opportunity
    to get started and then to expand to other uses.
    Crazy?
    =========================================================================
    Thomas Mercer-Hursh, Ph.D email: thomascintegrity.com
    Computing Integrity, Inc. sales: 510-233-9329
    550 Casey Drive - Cypress Point support: 510-233-9327
    Point Richmond, CA 94801-3751 fax: 510-233-6950
    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

    At 07:55 AM 11/1/00, Labeaux Schiek wrote:
    As a novice fusion user, one of the largest obstacles to using Fusion is
    the lack of XML API's in an application, be it a customer's in-house or
    vendor's software product.In this case, the good news is that one of the applications in question is
    our own, so whipping up an XML API to suit each required transaction on
    that side is no more, probably less, work than importing or exporting a
    flat file or whatever. Moreover, my current expectation of how this
    interaction will work is something like this:
    </pre>
    ---Fusion------
    | |
    WACS<-->WACS_Daemon<----VPN socket
    connection---->IS_Daemon I/S
    </pre>
    I.e., I/S, our application, and the IS_Daemon which handles the connection
    traffic across the internet link are both mine. For I/S, I will create XML
    APIs to suit. For the IS_daemon, I might use the transform facilities to
    convert this XML to the pipe-delimited format they are expected at the
    other end and make the daemon a simple manager of the connection or, the
    daemon could do the conversion, but the former seems like the more
    appropriate approach. The API between the two daemons is something we are
    defining now (unfortunately I lost the argument to make that XML).
    Corresponding to this is simply the lack of any API's in the
    application. As Forte (abet Sun, now iPlanet) says in their training
    manual 'A nontrivial task is to build new adapters for your programs if
    you wish to enable them to interact using XML documents over HTTP'.My neophyte understanding is that, since I am defining the API to I/S in
    the diagram above and I can make this XML, then the adapter issue
    disappears there. I might have to create an adapter for the daemon, but if
    necessary, I could make that the same XML on a pass through and do the
    translation in the daemon.
    If not, then, IMHO, you have steep hill to climb, not the least being
    communication, cooperation, and coordination from the warehouse vendor
    (another one of those 'nontrivial tasks') in trying to create the required
    API'sWe are well through this process anyway. ... which is not to say that it
    has been or will be easy, but it must be done whether I use Fusion or
    not. Given that the vote has gone in favor of simple messages of
    pipe-delimited records, i.e., basically flat file, the technical issues
    there are minimal.
    if so, then it is a matter of building an adapter, in a language that is
    compatible with the warehouse's API (hopefully C or some derivation of) ,
    that contains (1) a DOM (Document Object Module) to API Translator, (2)
    an XML Parser (converts XML to DOM and visa-versa) , and (3) a HTTP server
    (again, another one of those 'nontrivial tasks').I'm not sure I quite understand what you are saying here. The HTTP part
    won't be there since we will apparently be connecting via a VPN sockets
    connection. But, how are you distinguishing DOM and XML since DOM is a
    particular form of XML? The XML API I build for I/S will be DOM compliant.
    Forte (abet Sun, now iPlanet) suggests, and I would concur (with
    reservations), that if you haven't done this before you should probably
    hire their services from the Forte Integration Services group. Their
    costs (admittible high) should be offset be the time it would take to
    develop one on your own. A side benefit is working with them, you learn
    the process for making other adapters in the future. If Fusion is a
    marketing success, then the benefits should out weigh the costs.I am familiar with the "party" line. If I were building a complete
    interface to another major product (I/S is roughly equivalent to JDEC in
    coverage) in the context of an EAI project, I would happily invite them in
    and hope to pick up pointers. Here, though, there are only 8 or 9 total
    transaction types and either all of the interfaces are XML, i.e., no
    adapter required as I understand it, or only the daemon will need an
    adapter and that will be a choice I can make depending on how things
    go. One does wish it were possible to sample a small piece of that
    knowledge store without having to buy the whole thing, though.
    The Forte Integration Services group markets, or will market, a Fusion
    Adapter Designer, some sort of a SDK, which assists in the creation of
    Adapters. I do not know the availability of that product at this time.Last I checked, one couldn't get this without the consulting ... hence the
    last sentence above.
    Thanks for your input.
    =========================================================================
    Thomas Mercer-Hursh, Ph.D email: thomascintegrity.com
    Computing Integrity, Inc. sales: 510-233-9329
    550 Casey Drive - Cypress Point support: 510-233-9327
    Point Richmond, CA 94801-3751 fax: 510-233-6950

  • RE: (forte-users) Named Anchored Obj-EnvironmentFailover

    I did some playing around with this stuff as well. I can tell you a few
    things.
    1) The search path option of connected environments only works for SO's, not
    for named anchors.
    2) When EnvA creates a directory "/glob", which contains object "obj1", then
    EnvA owns directory "/glob". Even after restarting environments. If EnvB
    tries to add a subdirectory to "/glob" or inserts its own objects into this
    path, then the situation becomes unstable. It doesn't immediately produce an
    error, but things go wrong anyway. Is this a bug or expected behaviour? I
    don't know. I just learned not to do this. Every environment must place it's
    named anchors in it's own tree. Directories can't be shared.
    3) I think the relative name "glob/obj1" should work, but only if you set
    the ObjectLocationMgr to start looking at the root. Default, it will start
    looking in it's own environment basepath. But I don't have any experience
    with this.
    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: Master Programmer [mailto:masterprghotmail.com]
    Sent: Monday, January 08, 2001 11:13 PM
    To: forte-userslists.xpedior.com
    Subject: (forte-users) Named Anchored Obj-Environment Failover
    Hi to all,
    We connect from EnvA to EnvB giving the user directory parameter as / and
    set the Environment Search Path
    as EnvA:EnvB. From both environments we start and register
    '/glob/obj1' named anchored objects with the same name.
    From a client we connect to EnvA and bind to'/glob/obj1' when we shutdown EnvA partition it fails-over to
    EnvB. And then we restart EnvA partition. We restart/rebind the client and
    try to use object. We see that it is using the EnvB object.
    Although we started the primary environment object again.
    It is not using the search path. Once we shutdown secondary environment
    it starts using primary environment object.
    When we try to use relative path when we are binding the object
    First parameter ('glob/obj1') No first slash. Trying 3rd parameter
    for bind function or just using environment search path, Is is not able to
    find the object. From nsls command I figured out that
    under the root directory
    /forte/UUID of ENVA/node
    /site
    /UUID of ENVB
    /glob/obj1
    names are available. When we use relative path (without slash)
    is it trying to find /glob/obj1 under the /forte/UUID of ENVA
    but we are registering the name under the root.
    What is the reason of this odd behaviour or is this a bug?
    Any answer will be appreciated,
    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

    I did some playing around with this stuff as well. I can tell you a few
    things.
    1) The search path option of connected environments only works for SO's, not
    for named anchors.
    2) When EnvA creates a directory "/glob", which contains object "obj1", then
    EnvA owns directory "/glob". Even after restarting environments. If EnvB
    tries to add a subdirectory to "/glob" or inserts its own objects into this
    path, then the situation becomes unstable. It doesn't immediately produce an
    error, but things go wrong anyway. Is this a bug or expected behaviour? I
    don't know. I just learned not to do this. Every environment must place it's
    named anchors in it's own tree. Directories can't be shared.
    3) I think the relative name "glob/obj1" should work, but only if you set
    the ObjectLocationMgr to start looking at the root. Default, it will start
    looking in it's own environment basepath. But I don't have any experience
    with this.
    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: Master Programmer [mailto:masterprghotmail.com]
    Sent: Monday, January 08, 2001 11:13 PM
    To: forte-userslists.xpedior.com
    Subject: (forte-users) Named Anchored Obj-Environment Failover
    Hi to all,
    We connect from EnvA to EnvB giving the user directory parameter as / and
    set the Environment Search Path
    as EnvA:EnvB. From both environments we start and register
    '/glob/obj1' named anchored objects with the same name.
    From a client we connect to EnvA and bind to'/glob/obj1' when we shutdown EnvA partition it fails-over to
    EnvB. And then we restart EnvA partition. We restart/rebind the client and
    try to use object. We see that it is using the EnvB object.
    Although we started the primary environment object again.
    It is not using the search path. Once we shutdown secondary environment
    it starts using primary environment object.
    When we try to use relative path when we are binding the object
    First parameter ('glob/obj1') No first slash. Trying 3rd parameter
    for bind function or just using environment search path, Is is not able to
    find the object. From nsls command I figured out that
    under the root directory
    /forte/UUID of ENVA/node
    /site
    /UUID of ENVB
    /glob/obj1
    names are available. When we use relative path (without slash)
    is it trying to find /glob/obj1 under the /forte/UUID of ENVA
    but we are registering the name under the root.
    What is the reason of this odd behaviour or is this a bug?
    Any answer will be appreciated,
    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) RE: Forte 3 vs Java --Productivity

    I think you should compare language to language, product to product
    and standard to standard. J2EE is a standard, like CORBA. It's not
    a product and it's not a language. J2EE is a standard, based on the
    language Java, but the same standard can be used in the context
    of Smalltalk, Cobol, Basic or TOOL as well. We have yet to see any
    development tool that actually supports full J2EE. And how many
    ORB's out there are really 100% CORBA 2.0 complient and offer
    full interoperability through IIOP with other CORBA 2.0 complient
    products?
    The title of this entire thread is wrong. It's not Forte vs. Java, but
    TOOL vs. Java or Forte vs. any Java-based ADE.
    EJB, J2EE and CORBA are open standards, intended to facilitate
    building large, component based applications. But they're only
    standards, they're not usable products. Forte is a usable product.
    It is a (propriaty) ORB, if offers lots of advanced component based
    features and it uses a propriaty OO language called TOOL. Forte
    was doing all this way before the world was debating CORBA, then
    Java, then EJB and now J2EE.
    Sure, when you really look at it, these standards are more complete
    and include more design patterns than the way Forte solved the
    problem, but the situation is still that, despite all those wonderfull
    standards, Forte is still the product with the most advanced capa-
    bilities that actually delivers.
    The challenge to Forte is to incorporate those standards within their
    own product. Are they going to build 2 products, one TOOL-based
    and one Java-based, or are they going to integrate TOOL and Java,
    or are they going to drop TOOL? Are they going to support J2EE
    and will they keep offering those wonderfull distributed features that
    are currently in Forte and are not part of J2EE? Will they switch
    completely to JDBC or will they integrate DBSessions with JDBC?
    Will their ORB functionality remain closed or will the Forte environ-
    ment become a full CORBA 2.0 complient environment? Will they
    keep supporting DCOM? Will they allow JavaBeans, EJB, Forte
    service objects, OLE-objects, Servlets and Active-X components
    to co-exist or will that remain SF? Are they going to support Swing?
    Are they going to include an HTML-Browser widget? Are they going
    to, natively, support JavaScript? What about VB-script? What
    about Perl-script? What about TOOL-script??? Will they include
    an object-based reporting tool, so you don't have to circumvent
    the application and report against the relational database? Will
    this reporting tool be Java-based, TOOL-based, both, EJB-based,
    CORBA-based or whatever? Will they support JPEG and PNG as
    well as BMP and GIF? Will they allow you to store these images in
    the repository? Will they include a full-featured web-publisher that
    supports HTML and XML as well as seemlessly integrate with Forte
    applications? Will they allow you to deploy your (static) web-pages
    on a web-server using E-console?
    -----Original Message-----
    From: Thomas Mercer-Hursh, Ph.D. [SMTP:thomascintegrity.com]
    Sent: Monday, February 14, 2000 6:10 PM
    To: 'kamranaminyahoo.com'
    Subject: (forte-users) RE: Forte 3 vs Java -- Productivity
    At 09:04 AM 2/14/2000 , Genesio, Fabrizio wrote:
    Our users/customers are waiting for application right now, and
    today with Java you may do it, but how expensive and reliable are all
    the "+" signs of your equation? I am sure, in the moment somebody (Fort&eacute;
    For Java?) will propose an integrated Java environment capable to
    seriously support development/assembly/deployment/maintenance, everybody
    will immediately consider it as an alternative to Fort&eacute;.Not an alternative ... check out FJEE, formerly known as SynerJ. They did
    it right with TOOL, now they have done it right with Java. I still prefer
    TOOL as the more productive, more elegant language, but if you have to use
    Java, Forte has given you the way to do it right.
    =========================================================================
    Thomas Mercer-Hursh, Ph.D email: thomascintegrity.com
    Computing Integrity, Inc. sales: 510-233-9329
    550 Casey Drive - Cypress Point support: 510-233-9327
    Point Richmond, CA 94801-3751 fax: 510-233-6950
    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

    I think you should compare language to language, product to product
    and standard to standard. J2EE is a standard, like CORBA. It's not
    a product and it's not a language. J2EE is a standard, based on the
    language Java, but the same standard can be used in the context
    of Smalltalk, Cobol, Basic or TOOL as well. We have yet to see any
    development tool that actually supports full J2EE. And how many
    ORB's out there are really 100% CORBA 2.0 complient and offer
    full interoperability through IIOP with other CORBA 2.0 complient
    products?
    The title of this entire thread is wrong. It's not Forte vs. Java, but
    TOOL vs. Java or Forte vs. any Java-based ADE.
    EJB, J2EE and CORBA are open standards, intended to facilitate
    building large, component based applications. But they're only
    standards, they're not usable products. Forte is a usable product.
    It is a (propriaty) ORB, if offers lots of advanced component based
    features and it uses a propriaty OO language called TOOL. Forte
    was doing all this way before the world was debating CORBA, then
    Java, then EJB and now J2EE.
    Sure, when you really look at it, these standards are more complete
    and include more design patterns than the way Forte solved the
    problem, but the situation is still that, despite all those wonderfull
    standards, Forte is still the product with the most advanced capa-
    bilities that actually delivers.
    The challenge to Forte is to incorporate those standards within their
    own product. Are they going to build 2 products, one TOOL-based
    and one Java-based, or are they going to integrate TOOL and Java,
    or are they going to drop TOOL? Are they going to support J2EE
    and will they keep offering those wonderfull distributed features that
    are currently in Forte and are not part of J2EE? Will they switch
    completely to JDBC or will they integrate DBSessions with JDBC?
    Will their ORB functionality remain closed or will the Forte environ-
    ment become a full CORBA 2.0 complient environment? Will they
    keep supporting DCOM? Will they allow JavaBeans, EJB, Forte
    service objects, OLE-objects, Servlets and Active-X components
    to co-exist or will that remain SF? Are they going to support Swing?
    Are they going to include an HTML-Browser widget? Are they going
    to, natively, support JavaScript? What about VB-script? What
    about Perl-script? What about TOOL-script??? Will they include
    an object-based reporting tool, so you don't have to circumvent
    the application and report against the relational database? Will
    this reporting tool be Java-based, TOOL-based, both, EJB-based,
    CORBA-based or whatever? Will they support JPEG and PNG as
    well as BMP and GIF? Will they allow you to store these images in
    the repository? Will they include a full-featured web-publisher that
    supports HTML and XML as well as seemlessly integrate with Forte
    applications? Will they allow you to deploy your (static) web-pages
    on a web-server using E-console?
    -----Original Message-----
    From: Thomas Mercer-Hursh, Ph.D. [SMTP:thomascintegrity.com]
    Sent: Monday, February 14, 2000 6:10 PM
    To: 'kamranaminyahoo.com'
    Subject: (forte-users) RE: Forte 3 vs Java -- Productivity
    At 09:04 AM 2/14/2000 , Genesio, Fabrizio wrote:
    Our users/customers are waiting for application right now, and
    today with Java you may do it, but how expensive and reliable are all
    the "+" signs of your equation? I am sure, in the moment somebody (Fort&eacute;
    For Java?) will propose an integrated Java environment capable to
    seriously support development/assembly/deployment/maintenance, everybody
    will immediately consider it as an alternative to Fort&eacute;.Not an alternative ... check out FJEE, formerly known as SynerJ. They did
    it right with TOOL, now they have done it right with Java. I still prefer
    TOOL as the more productive, more elegant language, but if you have to use
    Java, Forte has given you the way to do it right.
    =========================================================================
    Thomas Mercer-Hursh, Ph.D email: thomascintegrity.com
    Computing Integrity, Inc. sales: 510-233-9329
    550 Casey Drive - Cypress Point support: 510-233-9327
    Point Richmond, CA 94801-3751 fax: 510-233-6950
    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

Maybe you are looking for

  • TS3276 How do I add another e-mail address to my computer

    I want to add my wife's e-mal address to our home computer . She has an iCloud address with her iphone .

  • IWeb site in Firefox displays weird!

    I've been designing a website for the academy at my church, I've got the site up and running and it looks great on mobile devices and safari.  I went under it in FireFox, and every textbox/shape/item has a shadow around the entire box and completely

  • Standar Report Column missing in Apex 5.0.

    Standard Report Column is missing in Apex 5.0. How to work with apex_item which required display type to be Standard Report Column?

  • "BAPI_CUSTOMER_CREATEFROMDATA1" Mandatory Fields

    Hi Experts, I will be consuming the BAPI "BAPI_CUSTOMER_CREATEFROMDATA1" from an external system, Can someone let me know the mandatory fields to be entered in the BAPI so that the bapi creates a customer. It will be really helpful if you could also

  • Identifire expected error  and    ) expected error

    I am extreamly new to java and have what most people(but me) would consider a rather simple assignment. I have attempted to write a simple mortgage calculator with a GUI. When I attempted to compile I got the following errors java:99 <identifire>expe