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.