gnustep-dev
[Top][All Lists]
Advanced

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

Re: Help with gdb needed


From: David Chisnall
Subject: Re: Help with gdb needed
Date: Thu, 24 Jan 2013 09:55:52 +0000

Hi Marcus,

A crash in objc_msgSend() usually means that the object that is being sent a 
message is an invalid pointer.  Try enabling zombies and see if it reports an 
object being deallocated.

David

P.S. On FreeBSD, it's usually best to use gdb from ports, as the one in base 
doesn't understand DWARF4, which modern clang and gcc both generate.

On 24 Jan 2013, at 09:46, Marcus Müller wrote:

> Hi,
> 
> I'm hunting a bug in conjunction with GSAvahiNetService. I'm on FreeBSD 9.1 
> with clang 3.1 and current libobjc2 and GNUstep (both svn r36011).
> 
> The stacktrace is as follows:
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 806c07400 (LWP 100877)]
> 0x00000008011d23ac in objc_msgSend_fpret () from /usr/local/lib/libobjc.so.4
> (gdb) bt
> #0  0x00000008011d23ac in objc_msgSend_fpret ()
>    from /usr/local/lib/libobjc.so.4
> #1  0x0000000800d6ade9 in -[GSRunLoopCtxt pollUntil:within:] (
>     self=0x806d5e248, _cmd=0x80113b990 <.objc_selector_list+544>, 
>     milliseconds=0, contexts=0x806c3bfa8) at GSRunLoopCtxt.m:639
> #2  0x0000000800c5f333 in -[NSRunLoop acceptInputForMode:beforeDate:] (
>     self=0x806c17208, _cmd=0x80113ba60 <.objc_selector_list+752>, 
>     mode=0x80113b310 <.objc_str>, limit_date=0x80711ae68) at NSRunLoop.m:1206
> #3  0x0000000800c5f807 in -[NSRunLoop runMode:beforeDate:] (self=0x806c17208, 
>     _cmd=0x80113bb00 <.objc_selector_list+912>, mode=0x80113b310 <.objc_str>, 
>     date=0x806fb64c8) at NSRunLoop.m:1274
> #4  0x0000000800c5fa0e in -[NSRunLoop runUntilDate:] (self=0x806c17208, 
>     _cmd=0x80113bb50 <.objc_selector_list+992>, date=0x806fb64c8)
>     at NSRunLoop.m:1305
> #5  0x0000000800c5f873 in -[NSRunLoop run] (self=0x806c17208, 
>     _cmd=0x60bdf0 <.objc_selector_list+752>) at NSRunLoop.m:1288
> #6  0x0000000000404da2 in -[XBellRinger run] (self=0x806c171c8, 
>     _cmd=0x60a4b0 <.objc_selector_list+64>) at XBellRinger.m:126
> #7  0x0000000000404185 in main (argc=5, argv=0x7fffffffd8e0)
>     at XBellRinger_main.m:20
> 
> 
> 
> GSRunLoopCtxt.m:639 looks like this:
> 
>                 /*
>                  * The watcher is still valid - so call its
>                  * receivers event handling method.
>                  */
>                 [watcher->receiver receivedEvent: watcher->data
>                                             type: watcher->type
>                                            extra: (void*)(uintptr_t)fd
>                                          forMode: mode];
> 
> 
> (gdb) frame 1
> #1  0x0000000800d6ade9 in -[GSRunLoopCtxt pollUntil:within:] (
>     self=0x806d5e248, _cmd=0x80113b990 <.objc_selector_list+544>, 
>     milliseconds=0, contexts=0x806c3bfa8) at GSRunLoopCtxt.m:639
> 639                     [watcher->receiver receivedEvent: watcher->data
> (gdb) p watcher
> $1 = (struct GSRunLoopWatcher *) 0x8071b8d68
> (gdb) p watcher->receiver
> Cannot set lwp 100877 registers: Invalid argument
> An error occurred while in a function called from GDB.
> Evaluation of the expression containing the function
> (malloc) will be abandoned.
> When the function is done executing, GDB will silently stop.
> 
> 
> What is broken here? How can I proceed?
> 
> 
> 
> 
> Cheers,
> 
>   Marcus
> 
> -- 
> Marcus Müller  .  .  .  http://www.mulle-kybernetik.com/znek/
> 
> 
> 
> _______________________________________________
> Gnustep-dev mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/gnustep-dev

--
This email complies with ISO 3103




reply via email to

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