gdb problem - program vanishes on SIGABRT

Pete French petefrench at ticketswitch.com
Thu May 12 05:55:17 PDT 2005


Under 4.11 I was using gcc34 and gdb6 to run and debug code. Moving
to 5.4 these tools come as standard, so I am now just using the normal
cc / gdb combination.

I am finding that when my code breaks with SIGABRT (as the result of
an unknown method being sent in this case) then I cannot get a backtrace
in gbd as it tells me "The program no longer exists."

This appears to be FreeBSD 5.4 specific - using the same versions of the
compiler and debugger under FreeBSD 4.11 doesnt have this problem, and it
does not occurr on other operating systems either.

4.11 output from gdb6:

	Program received signal SIGABRT, Aborted.
	0x280b3474 in kill () from /usr/lib/libc_r.so.4

5.4 output from gdb

	Program terminated with signal SIGABRT, Aborted.
	The program no longer exists.

Heres the code I am using. Its compiled with 'cc -g test.m -lobjc -pthread'

	#include <objc/objc.h>
	#include <objc/objc-api.h>
	#include <objc/Object.h>

	int
	main(int argc, char *argv[])
	{
		id my_test = [Object new];
		[my_test a_missing_method];
		return 0;
	}

Several people have tried this on other operating systems and do not see
the same problem - also (as I said) it does not occur on FreeBSD 4.11 so
it seems to be specific to FreeBSD 5.

-pcf.


More information about the freebsd-stable mailing list