discuss-gnustep
[Top][All Lists]
Advanced

[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




reply via email to

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