URL: <http://savannah.gnu.org/bugs/?27311>
Summary: Keyed archiving related exceptions with NSScrollView Project: GNUstep Submitted by: qmathe Submitted on: Mon 24 Aug 2009 04:32:42 PM GMT Category: Gui/AppKit Severity: 3 - Normal Item Group: None Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any _______________________________________________________ Details: Base and Gui r28524 - Ubuntu 9.04 x86 - GCC 4.3.3 To serialize a scroll view with NSKeyedArchiver doesn't seem to work well when this view was loaded from a gorm file. The crash doesn't happen immediately but a bit later. I attached a test app that shows the problem. When you run the test app, no exception is logged. However when the same test app is run inside GDB with a breakpoint on -[NSException raise], GDB stops on an exception. NSArchiver appears to work fine as no exception can be detected with or without GDB. The code that leads to the crash is: [NSKeyedArchiver archivedDataWithRootObject: scrollView] If I create a simple scroll view with [[NSScrollView alloc] initWithFrame:] and tries to serialize it, GDB breaks on -[NSKeyedUnarchiver unarchiveObjectWithData:] rather than on the archiving phase as described previously. So the issue doesn't seem to be only related to the nib/gorm loading. Here is the test app stack trace: 2009-08-24 15:50:56.439 Test[21969] Try unarchiving: <NSScrollView: 0x91ea3c8> [Switching to Thread 0xb73b28d0 (LWP 21969)] Breakpoint 1, -[NSException raise] (self=0x91e43c0, _cmd=0xb7afaa60) at NSException.m:835 835 if (_reserved == 0) (gdb) bt #0 -[NSException raise] (self=0x91e43c0, _cmd=0xb7afaa60) at NSException.m:835 #1 0xb7964181 in +[NSException raise:format:arguments:] (self=0xb7afa840, _cmd=0xb7afaa48, name=0xb7afa600, format=0xb7b1a6d8, argList=0xbff63c20 "") at NSException.m:785 #2 0xb79640be in +[NSException raise:format:] (self=0xb7afa840, _cmd=0xb7b1b048, name=0xb7afa600, format=0xb7b1a6d8) at NSException.m:771 #3 0xb79df3d0 in -[BinaryPLGenerator markOffset:for:] (self=0x91e0ff8, _cmd=0xb7b1b2d0, offset=2157, object=0x918aba0) at NSPropertyList.m:3226 #4 0xb79e1154 in -[BinaryPLGenerator storeObject:] (self=0x91e0ff8, _cmd=0xb7b1b250, object=0x918aba0) at NSPropertyList.m:3741 #5 0xb79df265 in -[BinaryPLGenerator writeObjects] (self=0x91e0ff8, _cmd=0xb7b1b310) at NSPropertyList.m:3209 #6 0xb79e1464 in -[BinaryPLGenerator generate] (self=0x91e0ff8, _cmd=0xb7b1b240) at NSPropertyList.m:3784 #7 0xb79decdb in +[BinaryPLGenerator serializePropertyList:intoData:] ( self=0xb7b1aa80, _cmd=0xb7b1b150, aPropertyList=0x91e0620, destination=0x91e0730) at NSPropertyList.m:3132 #8 0xb79db110 in +[NSPropertyListSerialization dataFromPropertyList:format:errorDescription:] (self=0xb7b1ace0, _cmd=0xb7b04048, aPropertyList=0x91e0620, aFormat=200, anErrorString=0xbff63e40) at NSPropertyList.m:2251 #9 0xb7981d62 in -[NSKeyedArchiver finishEncoding] (self=0x9136d58, _cmd=0xb7b03f80) at NSKeyedArchiver.m:804 #10 0xb797ecd1 in +[NSKeyedArchiver archivedDataWithRootObject:] (self=0xb7b03da0, _cmd=0x804aba0, anObject=0x92620c8) at NSKeyedArchiver.m:450 #11 0x08048aeb in -[Controller applicationDidFinishLaunching:] (self=0x90ee648, _cmd=0xb7e6e018, notif=0x91ea300) at Controller.m:16 #12 0xb799cf49 in -[NSNotificationCenter _postAndRelease:] (self=0x8efafc8, _cmd=0xb7b0afc8, notification=0x91ea300) at NSNotificationCenter.m:1161 #13 0xb799d86b in -[NSNotificationCenter postNotificationName:object:userInfo:] ( self=0x8efafc8, _cmd=0xb7b0afd0, name=0xb7f16a60, object=0x8ff6ab0, info=0x0) at NSNotificationCenter.m:1220 #14 0xb799d722 in -[NSNotificationCenter postNotificationName:object:] (self=0x8efafc8, _cmd=0xb7e6db00, name=0xb7f16a60, object=0x8ff6ab0) at NSNotificationCenter.m:1200 #15 0xb7c1b05c in -[NSApplication _didFinishLaunching] (self=0x8ff6ab0, _cmd=0xb7e6dc88) at NSApplication.m:1139 #16 0xb7c1c3b7 in -[NSApplication run] (self=0x8ff6ab0, _cmd=0xb7e63040) at NSApplication.m:1456 #17 0xb7bfbbbd in NSApplicationMain (argc=1, argv=0xbff64564) at Functions.m:74 #18 0x08048c2e in main (argc=Cannot access memory at address 0x1b0004 ) at main.m:13 Quentin. _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Mon 24 Aug 2009 04:32:42 PM GMT Name: KeyedArchiverTableViewTest.tar.gz Size: 40kB By: qmathe <http://savannah.gnu.org/bugs/download.php?file_id=18635> _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?27311> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-gnustep mailing list Bug-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/bug-gnustep