[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
make_services segfaults with libobjc2
From: |
Sebastian Reitenbach |
Subject: |
make_services segfaults with libobjc2 |
Date: |
Mon, 04 Apr 2011 12:07:30 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; OpenBSD i386; en-US; rv:1.9.2.14) Gecko/20110316 Thunderbird/3.1.8 |
Hi,
I installed gnustep-make, libobjc2, and gnustep-base from svn, and also
tried to install gnustep-gui from svn. While compiling, it runs
make_services, but its segfaulting, see below. I don't get the segfault
when libobjc2 is not installed. Compiler is gcc-4.2.1 on OpenBSD i386.
$ cd /home/ports/pobj/gnustep-gui-0.20.0/gnustep-gui-0.20.0/Tools
$ gdb obj/make_services
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-unknown-openbsd4.9"...
(gdb) r --test GSspell.service/Resources/Info-gnustep.plist
Starting program:
/home/ports/pobj/gnustep-gui-0.20.0/gnustep-gui-0.20.0/Tools/obj/make_services
--test GSspell.service/Resources/Info-gnustep.plist
Program received signal SIGSEGV, Segmentation fault.
[Switching to process 18159, thread 0x8aa6ec00]
class_conformsToProtocol (cls=0x234ee5f5, protocol=0x234ba65c) at
protocol.c:256
256 for (int i=0 ; i<protocols->count ; i++)
(gdb) bt
#0 class_conformsToProtocol (cls=0x234ee5f5, protocol=0x234ba65c) at
protocol.c:256
#1 0x0587dc04 in class_addProtocol (cls=0x25876d60,
protocol=0x234ba65c) at runtime.c:151
#2 0x03456646 in +[GSBlock load] (self=0x234ad140, _cmd=0x81578ff8) at
GSBlocks.m:60
#3 0x05876949 in objc_send_load_message (class=0x234ad140) at
class_table.c:57
#4 0x05876e50 in objc_resolve_class (cls=0x234ad140) at class_table.c:240
#5 0x05876f40 in objc_resolve_class_links () at class_table.c:259
#6 0x0587bd57 in __objc_exec_class (module=0x234ef9b0) at loader.c:94
#7 0x03566ac0 in __objc_gnu_init () at NSObject.m:2375
#8 0x0344e6f2 in ?? () from /usr/local/lib/libgnustep-base.so.3.2
#9 0x23fd70cc in ?? () from /usr/libexec/ld.so
#10 0x00000000 in ?? ()
(gdb) frame 0
#0 class_conformsToProtocol (cls=0x234ee5f5, protocol=0x234ba65c) at
protocol.c:256
256 for (int i=0 ; i<protocols->count ; i++)
(gdb) list
251 while (cls)
252 {
253 for (struct objc_protocol_list *protocols =
cls->protocols;
254 protocols != NULL ; protocols =
protocols->next)
255 {
256 for (int i=0 ; i<protocols->count ; i++)
257 {
258 Protocol *p1 =
(Protocol*)protocols->list[i];
259 if
(protocol_conformsToProtocol(p1, protocol))
260 {
(gdb) print i
No symbol "i" in current context.
(gdb) print protocols->count
Cannot access memory at address 0x61747372
(gdb) print protocols
$1 = (struct objc_protocol_list *) 0x6174736e
(gdb) po protocols
Cannot access memory at address 0x6174736e
(gdb) print cls
$2 = 0x234ee5f5
(gdb)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- make_services segfaults with libobjc2,
Sebastian Reitenbach <=