[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NSOutlineView / GSArray exception linux-ppc
From: |
Wolfgang Lux |
Subject: |
Re: NSOutlineView / GSArray exception linux-ppc |
Date: |
Wed, 15 Jan 2014 17:41:43 +0100 |
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