discuss-gnustep
[Top][All Lists]
Advanced

[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)




reply via email to

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