[Top][All Lists]

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

Fwd: Segmentation fault while loading Cocoa NIB

From: Andy Balholm
Subject: Fwd: Segmentation fault while loading Cocoa NIB
Date: Tue, 16 Jun 2009 20:17:58 -0700

I sent this message a while ago. Since then I investigated further with GDB and discovered that the segmentation fault happens while the shared user defaults controller is being unarchived from the NIB. For this particular program, the NIB didn't need to have a user defaults controller in it. (IB put it in without asking.) But someone may want to look into the problem in general.

There is also another crash that occurs only under FreeBSD, but not under Windows, in the same circumstances. It says that virtual memory is exhausted.

Andy Balholm
(509) 276-9718

Begin forwarded message:

From: Andy Balholm <andy@balholm.com>
Date: June 16, 2009 4:29:48 PM PDT
To: bug-gnustep@gnu.org
Subject: Segmentation fault while loading Cocoa NIB

I am developing an application to run under MacOS and GNUstep. The windows are stored as Cocoa NIBs. One of the windows causes a crash the second or third time it loads when I'm running the program under GNUstep for either Windows or FreeBSD. (The main document window is fine, though.) It does not crash under MacOS, so I suppose it would be considered a bug in GNUstep rather than in my program.

It doesn't seem to matter whether I save the NIB as format version 2 or format version 3 in Interface Builder. The crash still happens.

Under Windows, I'm using gnustep-core version 0.23.0. Under FreeBSD, I'm using sources from Subversion downloaded on Saturday (Jun 13).

Here is the stack trace I got with gdb under FreeBSD:

#0  0x28865a64 in objc_msg_lookup () from /usr/lib/libobjc.so.3
#1 0x285c919d in GSIArraySetItemAtIndex (array=0x2933a900, item={addr = 692693272, obj = 0x2949a918, nso = 0x2949a918}, index=115) at GSIArray.h:502 #2 0x285c8d0e in -[NSKeyedUnarchiver(Private) _decodeObject:] (self=0x28ece248, _cmd=0x28801ac8, index=115) at NSKeyedUnarchiver.m: 226 #3 0x285c86c5 in -[NSKeyedUnarchiver(Internal) _decodeArrayOfObjectsForKey:] (self=0x28ece248, _cmd=0x287ce5f8, aKey=0x287cdad8) at NSKeyedUnarchiver.m:114 #4 0x284e5d4e in -[GSPlaceholderArray initWithCoder:] (self=0x28d3b8d8, _cmd=0x28801b08, aCoder=0x28ece248) at GSArray.m: 1133 #5 0x285c8ca1 in -[NSKeyedUnarchiver(Private) _decodeObject:] (self=0x28ece248, _cmd=0x28801ac8, index=121) at NSKeyedUnarchiver.m: 219 #6 0x285cb8db in -[NSKeyedUnarchiver decodeObjectForKey:] (self=0x28ece248, _cmd=0x2845e0b8, aKey=0x2845c450) at NSKeyedUnarchiver.m:600 #7 0x283575ff in -[NSIBObjectData initWithCoder:] (self=0x28ecf928, _cmd=0x28801b08, coder=0x28ece248) at GSNibLoading.m:1680 #8 0x285c8ca1 in -[NSKeyedUnarchiver(Private) _decodeObject:] (self=0x28ece248, _cmd=0x28801ac8, index=1) at NSKeyedUnarchiver.m:219 #9 0x285cb8db in -[NSKeyedUnarchiver decodeObjectForKey:] (self=0x28ece248, _cmd=0x28469988, aKey=0x28469484) at NSKeyedUnarchiver.m:600 #10 0x2836bbd4 in -[GSNibLoader loadModelData:externalNameTable:withZone:] (self=0x28d75f28, _cmd=0x284699d8, data=0x28eba668, context=0x28ecab88, zone=0x2883a320) at GSNibLoader.m:73 #11 0x2836bf43 in -[GSNibLoader loadModelFile:externalNameTable:withZone:] (self=0x28d75f28, _cmd=0x283a49a0, fileName=0x28e1c828, context=0x28ecab88, zone=0x2883a320) at GSNibLoader.m:133 #12 0x2816dd6f in +[NSBundle(NSBundleAdditions) loadNibFile:externalNameTable:withZone:] (self=0x287e1da0, _cmd=0x28434570, fileName=0x28e1c828, context=0x28ecab88, zone=0x2883a320) at NSBundleAdditions.m:205 #13 0x282e8049 in -[NSWindowController loadWindow] (self=0x28e3b6a8, _cmd=0x28434490) at NSWindowController.m:467 #14 0x282e75ea in -[NSWindowController window] (self=0x28e3b6a8, _cmd=0x28434408) at NSWindowController.m:301 #15 0x282e70af in -[NSWindowController setDocumentEdited:] (self=0x28e3b6a8, _cmd=0x283c02b0, flag=0 '\000') at NSWindowController.m:210 #16 0x281aee29 in -[NSDocument addWindowController:] (self=0x28e1c588, _cmd=0x804be00, windowController=0x28e3b6a8) at NSDocument.m:319 #17 0x08048e15 in -[MyDocument showCompanyInfoWindow:] (self=0x28e1c588, _cmd=0x28d1ac08, sender=0x2939a1f8) at MyDocument.m:43 #18 0x286efa8f in L10 () from /usr/GNUstep/System/Library/Libraries/ libgnustep-base.so.1.19
#19 0x28e1c588 in ?? ()
#20 0x28d1ac08 in ?? ()
#21 0x2939a1f8 in ?? ()
#22 0x288710f0 in ?? () from /usr/lib/libobjc.so.3
#23 0x28e00000 in ?? ()
#24 0x0804f438 in ?? ()
#25 0x0804f540 in ?? ()
#26 0x2886aea0 in objc_free () from /usr/lib/libobjc.so.3
#27 0x286ae70d in GSFFCallInvokeWithTargetAndImp (_inv=0x28e48fd8, anObject=0x28e1c588, imp=0x8048c60 <-[MyDocument showCompanyInfoWindow:]>) at GSFFCallInvocation.m:709 #28 0x286aeaec in -[GSFFCallInvocation invokeWithTarget:] (self=0x28e48fd8, _cmd=0x283977e8, anObject=0x28e1c588) at GSFFCallInvocation.m:779 #29 0x2813dc3f in -[NSApplication sendAction:to:from:] (self=0x28e1c4c8, _cmd=0x283e2dd0, aSelector=0x28d1ac08, aTarget=0x0, sender=0x2939a1f8) at NSApplication.m:2087 #30 0x2820d871 in -[NSMenu performActionForItemAtIndex:] (self=0x293d39c8, _cmd=0x283e5798, index=9) at NSMenu.m:1242 #31 0x282171d5 in -[NSMenuView trackWithEvent:] (self=0x293af6c8, _cmd=0x283e5818, event=0x28e3b3d8) at NSMenuView.m:1633 #32 0x28217354 in -[NSMenuView mouseDown:] (self=0x293af6c8, _cmd=0x28433190, theEvent=0x28e3b568) at NSMenuView.m:1678 #33 0x282df26e in -[NSWindow sendEvent:] (self=0x28d03a08, _cmd=0x283977a0, theEvent=0x28e3b568) at NSWindow.m:3588 #34 0x2813d5dd in -[NSApplication sendEvent:] (self=0x28e1c4c8, _cmd=0x283976e0, theEvent=0x28e3b568) at NSApplication.m:1963 #35 0x2813c019 in -[NSApplication run] (self=0x28e1c4c8, _cmd=0x2838cc60) at NSApplication.m:1465 #36 0x2811b4c1 in NSApplicationMain (argc=1, argv=0xbfbfe824) at Functions.m:74 #37 0x0804ac9e in main (argc=Error accessing memory address 0x160001: Bad address.

I would be glad to send you the application source if it would help you find the problem.

Andy Balholm
(509) 276-9718

reply via email to

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