Ciao,
i do som test about External Sessions support between two Gemstone 3.4.3. system. Some points: A) The remote system ( presolana )need to have the same logs directory path ( /opt/GsDKb/GsDevKit_home/server/stones/base_343/logs ) of the request. Otherwise the remote netldi.log report the entry: For client command: '!#encrypted:party#netldi:39357#dir:/opt/GsDKb/GsDevKit_home/server/stones/base_343/logs#log:%N%P.log!gemnetobject' chdir(/opt/GsDKb/GsDevKit_home/server/stones/base_343/logs) failed in child process ERROR: errno=2,ENOENT, The file or directory specified cannot be found B) When create the GsExternalSession with the Network Resource String: gemNRS: '!@25.58.122.207#netldi:41953!gemnetobject' UserGlobals at: #Sample put: ( GsExternalSessiongemNRS: '!@25.58.122.207#netldi:41953!gemnetobject'stoneNRS: '!@25.58.122.207!base_343'username: 'DataCurator'password: 'swordfish'the system report the error: C) I login aGsExternalSession on remote system and all works fine. But when i do the aGsExternalSession logout the system is blocked for 20 seconds and after open a dialog: UserDefinedError: session with stone session ID of 6 gemProcessId = 3115 still present 20 seconds after logout (3) D) The exception it is not accessible, or at least it is not clear how to do it. | result | result := [myGsExternalSession executeString: '1/0'] on: GciError do: [:ex | ex description]. open a dialog with : ArgumentError: NullPointer error, CByteArray.CData == 0 (3) Thanks for considerations, Dario _______________________________________________ Glass mailing list [hidden email] http://lists.gemtalksystems.com/mailman/listinfo/glass |
Ciao, another points. E) After a aGsExternalSession forkString: 'DTRClient bigData'. aGsExternalSession waitForResultForSeconds: 2 otherwise:[ ...... ] If the remote system don't answer in the time and i would like to finish the execution what i can do in the otherwise block to terminate the call in progress ? When i submit another request the system answer : 'call in progress' . The abort - softBreak and hardBreak don't reset the call in progress. Thanks, Dario
_______________________________________________ Glass mailing list [hidden email] http://lists.gemtalksystems.com/mailman/listinfo/glass |
In reply to this post by GLASS mailing list
Hi Dario,
I’m not immediately able to reproduce this but it looks below like you have worked around the problem.
You are right, this is an error and I’ve reported it as internal bug #47868. It appears by the fact that you got further than you found the workaround, using an instance of GsNetworkResourceString.
This is a known bug (internal #47663). The work-around is to use different stone names.
When I try your example with two Jade sessions on the same GS 3.4.3 stone it returns a string describing the stack. What IDE are you using? What sort of dialog does it open? Can you provide a screen shot?
_______________________________________________ Glass mailing list [hidden email] http://lists.gemtalksystems.com/mailman/listinfo/glass |
In reply to this post by GLASS mailing list
Dario,
GsExternalSession>>softBreak (and hardBreak) should have interrupted the non-blocking call. I’ve reported this as internal bug #47869. James
_______________________________________________ Glass mailing list [hidden email] http://lists.gemtalksystems.com/mailman/listinfo/glass |
In reply to this post by GLASS mailing list
Ciao,
I using Tode. The system answer a dialog wit title: a ArgumentError occurred ( error 2718 ) NullPointer error, CByteArray.CData == 0 The relative stack is:
Thanks, Dario _______________________________________________ Glass mailing list [hidden email] http://lists.gemtalksystems.com/mailman/listinfo/glass |
_______________________________________________ Glass mailing list [hidden email] http://lists.gemtalksystems.com/mailman/listinfo/glass |
In reply to this post by GLASS mailing list
Dario,
My mistake. GsExternalSession>>softBreak (and hardBreak) work correctly. They do, in fact, post an interrupt to the running process and the running process does, in fact, stop. In order to “catch” the break you need to follow the break with another waitForResult call. It should return immediately after you wait and the thing returned should be the break exception. James
_______________________________________________ Glass mailing list [hidden email] http://lists.gemtalksystems.com/mailman/listinfo/glass |
Free forum by Nabble | Edit this page |