Riccardo Mottola wrote: > I just build a complete, from scratch install on linux PPC, debian, to test > that everything works there. > > First, a confirmation: installation is really a no-brainer. Once you have the > dependencies, which I had, it is a matter of configure && make install. Since > we always get criticized for that, it is reassuring that everything actually > works. > > I start now checking how various apps perform. > > I have GNUMail crashing as soon as I try to set up an account (sowmthign > which, even with all the bugs, I have done on many other systems) > > It hangs as soon as I edit the acocunt: > > (gdb) bt > #0 -[NSException raise] (self=0x103c5180, > _cmd=0xf49e7d4 <_OBJC_SELECTOR_TABLE+192>) at NSException.m:960 > #1 0x0f16c8a8 in +[NSException raise:format:arguments:] ( > self=<optimized out>, _cmd=<optimized out>, > name=0xf49e8b0 <_OBJC_INSTANCE_4>, format=0xf471200 <_OBJC_INSTANCE_10>, > argList=<optimized out>) at NSException.m:854 > #2 0x0f16dc64 in +[NSException raise:format:] ( > self=0xf49e87c <_OBJC_Class_NSException>, _cmd=<optimized out>, > name=<optimized out>, format=<optimized out>) at NSException.m:840 > #3 0x0f075f30 in -[GSMutableArray addObject:] (self=0x10595e90, > _cmd=<optimized out>, anObject=0x0) at GSArray.m:455 > #4 0x0f75e3a8 in -[NSOutlineView(TableViewInternalPrivate) > _loadDictionaryStartingWith:atLevel:] (self=0x105c4e68, _cmd=<optimized out>, > startitem=0x0, > level=-1) at NSOutlineView.m:2055 > #5 0x0f75c728 in -[NSOutlineView(TableViewInternalPrivate) _openItem:] ( > self=0x105c4e68, _cmd=<optimized out>, item=0x0) at NSOutlineView.m:2101 > #6 0x0f75cdec in -[NSOutlineView reloadData] (self=0x105c4e68, > _cmd=<optimized out>) at NSOutlineView.m:723 > #7 0x0f759714 in -[NSOutlineView setDataSource:] (self=0x105c4e68, > _cmd=<optimized out>, anObject=0x106c6be8) at NSOutlineView.m:689 > #8 0x0bd99254 in -[IMAPView layoutView] (self=0x106c0a40, > _cmd=<optimized out>) at IMAPView.m:150 > #9 0x0bd88cbc in -[AccountEditorWindowController initWithWindowNibName:] ( > ---Type <return> to continue, or q <return> to quit--- > self=0x106c6be8, _cmd=<optimized out>, windowNibName=<optimized out>) > at AccountEditorWindowController.m:136 > #10 0x0bd830f0 in -[AccountViewController editClicked:] (self=0x103e87f8, > _cmd=<optimized out>, sender=<optimized out>) > at AccountViewController.m:419 > #11 0x0f644b80 in -[NSApplication sendAction:to:from:] (self=<optimized out>, > _cmd=<optimized out>, aSelector=0xbdb00a8 <_OBJC_SELECTOR_TABLE+1008>, > aTarget=<optimized out>, sender=0x103e0bf0) at NSApplication.m:2230 > #12 0x0f6c24d0 in -[NSControl sendAction:to:] (self=0x103e0bf0, > _cmd=<optimized out>, theAction=0xbdb00a8 <_OBJC_SELECTOR_TABLE+1008>, > theTarget=0x103e87f8) at NSControl.m:760 > #13 0x0f68e7dc in -[NSCell _sendActionFrom:] (self=0x105865a0, > _cmd=<optimized out>, sender=0x103e0bf0) at NSCell.m:1451 > #14 0x0f696c54 in -[NSCell trackMouse:inRect:ofView:untilMouseUp:] ( > self=0x105865a0, _cmd=<optimized out>, theEvent=<optimized out>, > cellFrame=..., controlView=0x103e0bf0, flag=<optimized out>) > at NSCell.m:1769 > #15 0x0f6c28e4 in -[NSControl mouseDown:] (self=0x103e0bf0, > _cmd=<optimized out>, theEvent=<optimized out>) at NSControl.m:916 > #16 0x0f84b680 in -[NSWindow sendEvent:] (self=0x105c97a8, > _cmd=<optimized out>, theEvent=0x106b3828) at NSWindow.m:3896 > #17 0x0f64ac90 in -[NSApplication sendEvent:] (self=0x101570a8, > _cmd=<optimized out>, theEvent=0x106b3828) at NSApplication.m:2105 > > the excpetion I get is: > <NSException: 0x103c5180> NAME:NSInvalidArgumentException REASON:Tried to add > nil to array > > I don't get this on other architectures, but it may be a chance... what is > going wrong? > > The IMAPView is setting up an NSOutlineView with the > AccountEditorWindowController as parent and datasource. It may be empty, but > why is the crash happening inside the gnustep class?
The problem seems to be that the IMAPView's implementation of the NSOutlineViewDataSource protocol is buggy. Apparently, the data source method -outlineView:numberOfChildrenOfItem: returns that the root of the outline view has one or more children, but then when the outline view requests these children with the -outlineView:child:ofItem: method, the data source returns nil for one of the children. Wolfgang _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
