[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GWorkspace hangs on first exit attempt. Remote objects problem?
From: |
Riccardo Mottola |
Subject: |
Re: GWorkspace hangs on first exit attempt. Remote objects problem? |
Date: |
Fri, 08 Mar 2013 02:09:20 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0 SeaMonkey/2.16 |
Hi,
some further information
1) unregisterClient is (oneway void). So it is asynchronous, no need to
wait for any value returned (Sebastian suggested doing this to me, but
is already correct)
2) if I wrap [fswatcher unregisterClient] in an exception handler, on
the machines which caouse problems I do get an exception.
2013-03-08 01:06:25.990 GWorkspace[7503] [GWorkspace
shouldTerminateApplication] unregister fswatcher: <NSException:
0x318ac38> NAME:NSInvalidReceivePortException REASON:invalidated while
awaiting reply INFO:(null)
Doesn't it look like exit() kills fswatcher but something still needs to
be sent? The stacktrace is:
#0 -[NSException raise] (self=0x232efb8,
_cmd=0x7ffff6e2f9e0 <_OBJC_SELECTOR_TABLE+384>) at NSException.m:955
#1 0x00007ffff696a6f1 in +[NSException raise:format:] (
self=0x7ffff6e2fb40 <_OBJC_Class_NSException>, _cmd=<optimized out>,
name=0x7ffff6e63120 <_OBJC_INSTANCE_0>,
format=0x7ffff6e1b200 <_OBJC_INSTANCE_68>) at NSException.m:835
#2 0x00007ffff69383e3 in -[NSConnection(Private) _getReplyRmc:] (
self=0x124a7d8, _cmd=0x7ffff6e1cdc0 <_OBJC_SELECTOR_TABLE+1536>, sn=26)
at NSConnection.m:3219
#3 0x00007ffff6933422 in -[NSConnection(GNUstepExtensions)
forwardInvocation:forProxy:] (self=0x124a7d8, _cmd=0x7ffff6e2ad10
<_OBJC_SELECTOR_TABLE+592>,
inv=0x22bd328, object=0x12de0f8) at NSConnection.m:2086
#4 0x00007ffff6a7472b in GSFFIInvocationCallback (cif=0x232eee0,
retp=0x7fffffffd7a0, args=<optimized out>, user=0x2366718)
at GSFFIInvocation.m:629
#5 0x00007ffff1c4ad09 in ffi_closure_unix64_inner ()
from /usr/lib64/libffi.so.6
#6 0x00007ffff1c4b054 in ffi_closure_unix64 () from /usr/lib64/libffi.so.6
#7 0x00000000004137ad in -[GWorkspace applicationShouldTerminate:] (
self=0xd0ca48, _cmd=<optimized out>, app=<optimized out>)
at GWorkspace.m:635
#8 0x00007ffff70daf02 in -[NSApplication terminate:] (self=0xd2be98,
_cmd=<optimized out>, sender=<optimized out>) at NSApplication.m:3462
I see _getReplyRmc: but there is going to be none, the app is dead and
it is oneway void.
Does this sound plausible?
Riccardo
Riccardo Mottola wrote:
Hi,
some of you may have noticed that GWorkspace sometimes do not exit at
the first attempt, but at the second. It does not happen on all
computers, but on those where it does, it happens consistently. I and
Sebastian did a "NSLog debugging", my previous attempts with gdb where
unsuccessful.
in GWorkspace, in applicationShouldTerminate, we have this code:
if (fswatcher) {
NSConnection *conn = [(NSDistantObject *)fswatcher
connectionForProxy];
if ([conn isValid]) {
[nc removeObserver: self
name: NSConnectionDidDieNotification
object: conn];
[fswatcher unregisterClient: (id <FSWClientProtocol>)self];
DESTROY (fswatcher);
}
}
the problematic line is:
[fswatcher unregisterClient: (id <FSWClientProtocol>)self];
When this GWS hangs, it hangs because this line does not return.
fswatcher is the daemon object.
fswatcher will exit with exit() when the last client unregisters and
in this case it is happening, we checked the code-path and also "ps"
shows that it indeed exists. Why does it hang? And why does it hang on
certain machines only?
I fear there could be a base problem, when invoking remote objects?
Riccardo
_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
- GWorkspace hangs on first exit attempt. Remote objects problem?, Riccardo Mottola, 2013/03/07
- Re: GWorkspace hangs on first exit attempt. Remote objects problem?,
Riccardo Mottola <=
- Re: GWorkspace hangs on first exit attempt. Remote objects problem?, Richard Frith-Macdonald, 2013/03/08
- Re: GWorkspace hangs on first exit attempt. Remote objects problem?, Sebastian Reitenbach, 2013/03/09
- Re: GWorkspace hangs on first exit attempt. Remote objects problem?, Riccardo Mottola, 2013/03/09
- Re: GWorkspace hangs on first exit attempt. Remote objects problem?, Fred Kiefer, 2013/03/09
- Re: GWorkspace hangs on first exit attempt. Remote objects problem?, Richard Frith-Macdonald, 2013/03/09
- Re: GWorkspace hangs on first exit attempt. Remote objects problem?, Sebastian Reitenbach, 2013/03/09
- Re: GWorkspace hangs on first exit attempt. Remote objects problem?, Fred Kiefer, 2013/03/09
- Re: GWorkspace hangs on first exit attempt. Remote objects problem?, Richard Frith-Macdonald, 2013/03/09
- Re: GWorkspace hangs on first exit attempt. Remote objects problem?, Sebastian Reitenbach, 2013/03/09
- Re: GWorkspace hangs on first exit attempt. Remote objects problem?, Riccardo Mottola, 2013/03/10