discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GWorkspace ddbd dying when mdextractor connects


From: Sebastian Reitenbach
Subject: Re: GWorkspace ddbd dying when mdextractor connects
Date: Sat, 16 Feb 2013 20:11:20 +0100
User-agent: SOGoMail 2.0.4b

On Saturday, February 16, 2013 18:55 CET, Fred Kiefer <fredkiefer@gmx.de> wrote:

> On 16.02.2013 15:21, Sebastian Reitenbach wrote:
> > Hi,
> >
> > having ddbd from GWorkspace running, then, when starting mdextractor, the 
> > latter tries to connect
> > to ddbd, but will die because of:
> > /usr/local/bin/mdextractor: Uncaught exception 
> > NSInvalidReceivePortException, reason: invalidated while awaiting reply
> >
> > reason for this exception is, ddbd is dying.
> > With gdb connected to a running ddbd, I get this backtrace when it 
> > segfaults:
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > 0x0ef02527 in objc_msgSend () from /usr/local/lib/libobjc2.so.1.0
> > (gdb) bt
> > #0  0x0ef02527 in objc_msgSend () from /usr/local/lib/libobjc2.so.1.0
> > #1  0x0307aaf3 in -[GSFFIInvocation invokeWithTarget:] (self=0x8bcec384, 
> > _cmd=0x22db3a98 <.objc_selector_list+168>, anObject=0x87a82cc4)
> >      at GSFFIInvocation.m:483
> > #2  0x02effe02 in -[NSInvocation invoke] (self=0x8bcec384, _cmd=0x22da4700 
> > <.objc_selector_list+1120>) at NSInvocation.m:658
> > #3  0x02e8287d in -[NSConnection(Private) _service_forwardForProxy:] 
> > (self=0x82439fd4, _cmd=0x22da43c8 <.objc_selector_list+296>,
> >      aRmc=0x8bcec704) at NSConnection.m:2706
> > #4  0x02e800d6 in -[NSConnection(Private) handlePortMessage:] 
> > (self=0x8206da04, _cmd=0x22dea1b0 <.objc_selector_list+384>,
> >      msg=0x87a82704) at NSConnection.m:2343
> > #5  0x03064c25 in -[NSMessagePort handlePortMessage:] (self=0x83ccafa4, 
> > _cmd=0x22dea1b0 <.objc_selector_list+384>, m=0x87a82704)
> >      at NSMessagePort.m:1586
> > #6  0x030601f4 in -[GSMessageHandle receivedEvent:type:extra:forMode:] 
> > (self=0x8878f604, _cmd=0x22dea268 <.objc_selector_list+568>,
> >      data=0x83ccafa4, type=ET_RPORT, extra=0x3, mode=0x22dcc3b0 
> > <.objc_str>) at NSMessagePort.m:869
> > #7  0x0306587f in -[NSMessagePort receivedEvent:type:extra:forMode:] 
> > (self=0x83ccafa4, _cmd=0x22e07c50 <.objc_selector_list+96>,
> >      data=0x83ccafa4, type=ET_RPORT, extra=0x3, mode=0x22dcc3b0 
> > <.objc_str>) at NSMessagePort.m:1715
> > #8  0x030d6d77 in -[GSRunLoopCtxt pollUntil:within:] (self=0x82085704, 
> > _cmd=0x22dcc600 <.objc_selector_list>, milliseconds=29928,
> >      contexts=0x8207bd44) at GSRunLoopCtxt.m:639
> > #9  0x02fa6605 in -[NSRunLoop acceptInputForMode:beforeDate:] 
> > (self=0x8207bec4, _cmd=0x22dcc668 <.objc_selector_list+104>,
> >      mode=0x22dcc3b0 <.objc_str>, limit_date=0x87189db4) at NSRunLoop.m:1206
> > #10 0x02fa6bb4 in -[NSRunLoop runMode:beforeDate:] (self=0x8207bec4, 
> > _cmd=0x22dcc678 <.objc_selector_list+120>,
> >      mode=0x22dcc3b0 <.objc_str>, date=0x8206d104) at NSRunLoop.m:1274
> > #11 0x02fa6e5d in -[NSRunLoop runUntilDate:] (self=0x8207bec4, 
> > _cmd=0x22dcc748 <.objc_selector_list+328>, date=0x8206d104)
> >      at NSRunLoop.m:1305
> > #12 0x02fa6c37 in -[NSRunLoop run] (self=0x8207bec4, _cmd=0x3c006dc0 
> > <.objc_selector_list+464>) at NSRunLoop.m:1288
> > #13 0x1c008978 in gnustep_base_user_main (argc=2, argv=0xcfbf61d4) at 
> > ddbd.m:553
> > #14 0x02f85957 in main (argc=2, argv=0xcfbf61d4, env=0xcfbf61e0) at 
> > NSProcessInfo.m:984
> > #15 0x1c005599 in ___start ()
> > #16 0x1c00550a in _start ()
> > (gdb) frame 4
> > #4  0x02e800d6 in -[NSConnection(Private) handlePortMessage:] 
> > (self=0x8206da04, _cmd=0x22dea1b0 <.objc_selector_list+384>,
> >      msg=0x87a82704) at NSConnection.m:2343
> > 2343                [conn _service_forwardForProxy: rmc];       // Catches 
> > exceptions
> > (gdb) print 1
> > $1 = 1
> > (gdb) frame 1
> > #1  0x0307aaf3 in -[GSFFIInvocation invokeWithTarget:] (self=0x8bcec384, 
> > _cmd=0x22db3a98 <.objc_selector_list+168>, anObject=0x87a82cc4)
> >      at GSFFIInvocation.m:483
> > 483       RETAIN_RETURN_VALUE;
> > (gdb) list
> > 478       if (*type != _C_VOID)
> > 479         {
> > 480           cifframe_decode_arg(type, _retval);
> > 481         }
> > 482
> > 483       RETAIN_RETURN_VALUE;
> > 484       _validReturn = YES;
> > 485     }
> > 486
> > 487     @end
> > (gdb) frame 0
> > #0  0x0ef02527 in objc_msgSend () from /usr/local/lib/libobjc2.so.1.0
> > (gdb) list
> > 488
> > 489     /*
> > 490      * Return YES if the selector contains protocol qualifiers.
> > 491      */
> > 492     static BOOL
> > 493     gs_protocol_selector(const char *types)
> > 494     {
> > 495       if (types == 0)
> > 496         {
> > 497           return NO;
> > (gdb) print types
> >
> > Program received signal SIGSEGV, Segmentation fault.
> >
> >
> > since its dying deep within gnustep-base, I'm a bit unsure whether this is 
> > a problem of the tools from
> > GWorkspace, or a more general problem in -base.
> >
> > I'm on i386, OpenBSD 5.3-beta, with -base,make,gui,back,gworkspace from SVN.
>
>
> The first thing you should try to do is print out the invocation. (That
> is in frame 1 do a "po self") If that works please report back the
> output. This should give a hint at which method gets invoked with a 
> wrong signature. Most likely this has to do with all the 64bit changes
> going on at the moment.

(gdb) print self
$1 = (struct GSFFIInvocation *) 0x89d5ad04
(gdb) print *self
$2 = {<> = {<> = {isa = 0x2a975770 <_OBJC_CLASS_GSFFIInvocation>}, _sig = 
0x2a975770 <_OBJC_CLASS_GSFFIInvocation>,
    _cframe = 0x2a975770 <_OBJC_CLASS_GSFFIInvocation>, _retval = 0x2a975770 
<_OBJC_CLASS_GSFFIInvocation>,
    _target = 0x2a975770 <_OBJC_CLASS_GSFFIInvocation>, _selector = 0x2a975770 
<_OBJC_CLASS_GSFFIInvocation>, _numArgs = 714561392,
    _info = 0x2a975770 <_OBJC_CLASS_GSFFIInvocation>, _argsRetained = 112 'p', 
_targetRetained = 112 'p', _validReturn = 112 'p',
    _sendToSuper = 112 'p', _retptr = 0x2a975770 <_OBJC_CLASS_GSFFIInvocation>,
    _internal = 0x2a975770 <_OBJC_CLASS_GSFFIInvocation>},
  _retbuf = 
"pW\227*\004­\e\201\200¬Õ\2110­Õ\211D¼½\201øNó\200\003\000\000\000\000¶W\177",
  _frame = 0x2a975770 <_OBJC_CLASS_GSFFIInvocation>}
(gdb) po self

Program received signal SIGSEGV, Segmentation fault.
0x0aa44dfa in _NSPrintForDebugger (object=0x89d5af8c) at NSDebug.m:1207

any po <whatver object>
seems to crash gdb, this is nothing specific to above code or problem. 
using gdb 7.5.1 from ports, since the system gdb doesn't like some
DWARF thingies clang produces.

So added NSLog() before the crasher in Frame 1, but then it crashes in
the NSLog line;

Sebastian


>
> Fred
>
>
>
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep








reply via email to

[Prev in Thread] Current Thread [Next in Thread]