[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GWorkspace hangs on first exit attempt. Remote objects problem?
From: |
Sebastian Reitenbach |
Subject: |
Re: GWorkspace hangs on first exit attempt. Remote objects problem? |
Date: |
Sat, 09 Mar 2013 09:28:53 +0100 |
User-agent: |
SOGoMail 2.0.4b |
On Friday, March 8, 2013 06:52 CET, Richard Frith-Macdonald
<richard@tiptree.demon.co.uk> wrote:
>
> On 8 Mar 2013, at 01:09, Riccardo Mottola wrote:
>
> > 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?
>
> If it's a oneway void cal, it shouldn't be waiting for a reply.
> You could try going back up the stack a bit and examining the invocation, to
> see what selector is actually being used and what the type information for
> the selector is (does it think it's oneway)?
I hope that's what you are interested in, let me know if you meant to get
something else:
Its on OpenBSD amd64.
Breakpoint 1, -[NSException raise] (self=0x20aa86a08,
_cmd=0x203ef8440 <.objc_selector_list+144>) at NSException.m:956
956 if (_reserved == 0)
(gdb) bt
#0 -[NSException raise] (self=0x20aa86a08,
_cmd=0x203ef8440 <.objc_selector_list+144>) at NSException.m:956
#1 0x00000002039efd47 in +[NSException raise:format:arguments:] (
self=0x203ef8320 <_OBJC_CLASS_NSException>,
_cmd=0x203ef83f0 <.objc_selector_list+64>, name=0x203f24dc0 <.objc_str>,
format=0x203ee8090 <.objc_str189>, argList=0x7f7ffffbe720)
at NSException.m:849
#2 0x00000002039efc7e in +[NSException raise:format:] (
self=0x203ef8320 <_OBJC_CLASS_NSException>,
_cmd=0x203ee8850 <.objc_selector_list+1024>, name=0x203f24dc0 <.objc_str>,
format=0x203ee8090 <.objc_str189>) at NSException.m:835
#3 0x00000002039a010b in -[NSConnection(Private) _getReplyRmc:] (
self=0x200b5c2c8, _cmd=0x203ee8aa0 <.objc_selector_list+1616>, sn=15)
at NSConnection.m:3218
#4 0x0000000203999574 in -[NSConnection(GNUstepExtensions)
forwardInvocation:forProxy:] (self=0x200b5c2c8, _cmd=0x203ef3f20
<.objc_selector_list+672>,
inv=0x2095ddd08, object=0x202fd5608) at NSConnection.m:2086
#5 0x00000002039e9ab8 in -[NSDistantObject forwardInvocation:] (
self=0x202fd5608, _cmd=0x203f73870 <.objc_selector_list+64>,
anInvocation=0x2095ddd08) at NSDistantObject.m:606
#6 0x0000000203b617b8 in GSFFIInvocationCallback (cif=0x20ffef700,
retp=0x7f7ffffbf130, args=0x7f7ffffbef90, user=0x20aa86a48)
at GSFFIInvocation.m:629
---Type <return> to continue, or q <return> to quit---
#7 0x0000000205740c76 in ffi_closure_unix64_inner (closure=0x20da91010,
rvalue=0x7f7ffffbf130, reg_args=0x7f7ffffbf080,
argp=0x7f7ffffbf150 "о\016\002") at src/x86/ffi64.c:620
#8 0x0000000205741510 in ffi_closure_unix64 ()
from /usr/local/lib/libffi.so.0.0
#9 0x0000000000448bfc in -[GWorkspace applicationShouldTerminate:] (
self=0x208e5de08, _cmd=0x20eaa4910 <.objc_selector_list+864>,
app=0x210291b08) at GWorkspace.m:635
#10 0x000000020e53fa8c in -[NSApplication terminate:] (self=0x210291b08,
_cmd=0x205f81ca0, sender=0x20b37b808) at NSApplication.m:3462
#11 0x000000020e53c1b8 in -[NSApplication sendAction:to:from:] (
self=0x210291b08, _cmd=0x20eb06ee0 <.objc_selector_list+2144>,
aSelector=0x205f81ca0, aTarget=0x0, sender=0x20b37b808)
at NSApplication.m:2230
#12 0x000000020e649154 in -[NSMenu performActionForItemAtIndex:] (
self=0x20c76dd08, _cmd=0x20eb09440 <.objc_selector_list+720>, index=11)
at NSMenu.m:1320
#13 0x000000020e656e75 in -[NSMenuView _trackWithEvent:startingMenuView:] (
self=0x20c927c08, _cmd=0x20eb09980 <.objc_selector_list+2064>,
event=0x202ca0b88, mainWindowMenuView=0x0) at NSMenuView.m:1819
#14 0x000000020e656fd0 in -[NSMenuView trackWithEvent:] (self=0x20c927c08,
_cmd=0x20eb09370 <.objc_selector_list+512>, event=0x20f801d88)
at NSMenuView.m:1851
---Type <return> to continue, or q <return> to quit---
#15 0x000000020e657298 in -[NSMenuView mouseDown:] (self=0x20c927c08,
_cmd=0x20eb80370 <.objc_selector_list+5120>, theEvent=0x20f801d88)
at NSMenuView.m:1891
#16 0x000000020e783e10 in -[NSWindow sendEvent:] (self=0x2016d9208,
_cmd=0x20eaa55c0 <.objc_selector_list+4112>, theEvent=0x20f801d88)
at NSWindow.m:3790
#17 0x000000020e53bb67 in -[NSApplication sendEvent:] (self=0x210291b08,
_cmd=0x20eaa55c0 <.objc_selector_list+4112>, theEvent=0x20f801d88)
at NSApplication.m:2105
#18 0x000000020e53a07d in -[NSApplication run] (self=0x210291b08,
_cmd=0x72c060 <.objc_selector_list+64>) at NSApplication.m:1562
#19 0x00000000004419b6 in gnustep_base_user_main (argc=1, argv=0x7f7ffffc0818,
env=0x7f7ffffc0828) at main.m:38
#20 0x0000000203a8933a in main (argc=1, argv=0x7f7ffffc0818,
env=0x7f7ffffc0828) at NSProcessInfo.m:984
#21 0x0000000000441711 in ___start ()
#22 0x0000000000000000 in ?? ()
(gdb)
(gdb) frame 9
#9 0x0000000000448bfc in -[GWorkspace applicationShouldTerminate:] (
self=0x208e5de08, _cmd=0x20eaa4910 <.objc_selector_list+864>,
app=0x210291b08) at GWorkspace.m:635
635 [fswatcher unregisterClient: (id <FSWClientProtocol>)self];
(gdb) print _cmd
$1 = (SEL) 0x20eaa4910 <.objc_selector_list+864>
(gdb) print .objc_selector_list+864
A syntax error in expression, near `objc_selector_list+864'.
(gdb) print *.objc_selector_list+864
A syntax error in expression, near `objc_selector_list+864'.
(gdb) print *_cmd
$2 = {{name = 0x43f9 <Address 0x43f9 out of bounds>, index = 17401},
types = 0x20e93ff61 "Q24@0:8@16"}
(gdb) print *_cmd^CQuit
(gdb) frame 8
#8 0x0000000205741510 in ffi_closure_unix64 ()
from /usr/local/lib/libffi.so.0.0
(gdb) frame 7
#7 0x0000000205740c76 in ffi_closure_unix64_inner (closure=0x20da91010,
rvalue=0x7f7ffffbf130, reg_args=0x7f7ffffbf080,
argp=0x7f7ffffbf150 "\320\276\255\016\002") at src/x86/ffi64.c:620
620 src/x86/ffi64.c: No such file or directory.
(gdb) frame 6
#6 0x0000000203b617b8 in GSFFIInvocationCallback (cif=0x20ffef700,
retp=0x7f7ffffbf130, args=0x7f7ffffbef90, user=0x20aa86a48)
at GSFFIInvocation.m:629
629 [obj forwardInvocation: invocation];
(gdb) print invocation
$3 = (struct GSFFIInvocation *) 0x2095ddd08
(gdb) print *invocation
$4 = {<> = {<> = {isa = 0x203f736e0 <_OBJC_CLASS_GSFFIInvocation>},
_sig = 0x203f736e0 <_OBJC_CLASS_GSFFIInvocation>,
_cframe = 0x203f736e0 <_OBJC_CLASS_GSFFIInvocation>,
_retval = 0x203f736e0 <_OBJC_CLASS_GSFFIInvocation>,
_target = 0x203f736e0 <_OBJC_CLASS_GSFFIInvocation>,
_selector = 0x203f736e0 <_OBJC_CLASS_GSFFIInvocation>,
_numArgs = 66533088, _info = 0x203f736e0 <_OBJC_CLASS_GSFFIInvocation>,
_argsRetained = 224 'à', _targetRetained = 224 'à',
_validReturn = 224 'à', _sendToSuper = 224 'à',
_retptr = 0x203f736e0 <_OBJC_CLASS_GSFFIInvocation>,
_internal = 0x203f736e0 <_OBJC_CLASS_GSFFIInvocation>},
_retbuf =
"à6÷\003\002\000\000\000Èo¨\n\002\000\000\000\000÷þ\017\002\000\000\000\000\000\000\000\000\000\000",
_frame = 0x203f736e0 <_OBJC_CLASS_GSFFIInvocation>}
(gdb) print *invocation->_selector
$5 = {{name = 0x203f73480 <_OBJC_METACLASS_GSFFIInvocation> "°Äñ\003\002",
index = 8656467072},
types = 0x203f05280 <_OBJC_CLASS_NSInvocation> "@Nð\003\002"}
(gdb)
>
>
> _______________________________________________
> 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, 2013/03/07
- 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 <=
- 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
Re: GWorkspace hangs on first exit attempt. Remote objects problem?, Sebastian Reitenbach, 2013/03/08