|
From: | Daniel Santos |
Subject: | Re: Gorm can edit which types of files ? |
Date: | Sun, 7 Jan 2018 12:09:28 +0000 |
Can you share what theSeparator and aString are?
'print' command should just work.
https://sourceware.org/gdb/onlinedocs/gdb/The-Print- Command-with-Objective_002dC. html
You may need to go up the stack to frame #2. Use the 'up' command to do that.
On Fri, Jan 5, 2018 at 2:22 PM, Daniel Santos <daniel.dlds@gmail.com> wrote:
> Hi all,
>
> Any one has looked into this ?
>
> Regards
>
> On Thu, Dec 28, 2017 at 11:08 PM, Daniel Santos <daniel.dlds@gmail.com>
> wrote:
>>
>> I just updated libs-base and GNUMail from version-control.
>>
>> doing a grep in libs-base I get :
>>
>> Headers/Foundation/NSObjCRuntime.h:enum {NSNotFound = NSIntegerMax};
>>
>> Which is what [aString indexOfCharacter: theSeparator]; is returning.
>>
>> But because NSNotFound is NSIntegerMax :
>>
>> [aString substringWithRange: NSMakeRange(mark, i-mark)];
>>
>> fails
>>
>> I put a breakpoint in [NSException raise] and the trace is :
>>
>> (gdb) bt 5
>> #0 -[NSException raise] (self=0x555555dda9d0, _cmd=0x7ffff62c7720
>> <_OBJC_SELECTOR_TABLE+384>) at NSException.m:1136
>> #1 0x00007ffff5dd87f6 in +[NSException raise:format:]
>> (self=self@entry=0x7ffff62c7a20 <_OBJC_Class_NSException>,
>> _cmd=_cmd@entry=0x7ffff628c1a0 <_OBJC_SELECTOR_TABLE>,
>> name=0x7ffff62c8010 <_OBJC_INSTANCE_8>, format=format@entry=0x7ffff628e920
>> <_OBJC_INSTANCE_40>)
>> at NSException.m:1016
>> #2 0x00007ffff5d420a3 in -[GSCString substringWithRange:]
>> (self=0x555555e0d0a0, _cmd=0x7ffff7dd5120 <_OBJC_SELECTOR_TABLE+2688>,
>> aRange=...)
>> at GSString.m:4107
>> #3 0x00007ffff7b34053 in +[Utilities folderNodesFromFolders:separator:]
>> (self=<optimized out>, _cmd=<optimized out>, theFolders=0x5555559c4f50,
>> theSeparator=<optimized out>) at Utilities.m:602
>> #4 0x00007ffff7b3470a in +[Utilities initializeFolderNodesUsingAccounts:]
>> (self=<optimized out>, _cmd=<optimized out>, theAccounts=0x555555d878c0)
>> at Utilities.m:1045
>> (More stack frames follow...)
>>
>>
>>
>> On 28 Dec 2017, at 22:18, Wolfgang Lux <wolfgang.lux@gmail.com> wrote:
>>
>>
>> Am 28.12.2017 um 20:00 schrieb Daniel Santos <daniel.dlds@gmail.com>:
>>
>> Here are the details of the error I am getting :
>>
>> The backtrace :
>>
>> (gdb) bt 5
>> #0 +[Utilities folderNodesFromFolders:separator:] (self=<optimized out>,
>> _cmd=<optimized out>, theFolders=0x555555d49e20, theSeparator=<optimized
>> out>)
>> at Utilities.m:602
>> #1 0x00007ffff7b3470a in +[Utilities initializeFolderNodesUsingAccounts:]
>> (self=<optimized out>, _cmd=<optimized out>, theAccounts=0x555555e67fc0)
>> at Utilities.m:1045
>> #2 0x00007fffebebce71 in -[AccountEditorWindowController
>> initWithWindowNibName:] (self=0x555555f5ebb0, _cmd=<optimized out>,
>> windowNibName=<optimized out>)
>> at AccountEditorWindowController.m:104
>> #3 0x00007fffebeb764c in -[AccountViewController addClicked:]
>> (self=0x555555b8f990, _cmd=<optimized out>, sender=<optimized out>)
>> at AccountViewController.m:235
>> #4 0x00007ffff65ad502 in -[NSApplication sendAction:to:from:]
>> (self=<optimized out>, _cmd=<optimized out>,
>> aSelector=0x7fffec0d26f0 <_OBJC_SELECTOR_TABLE+2128>,
>> aTarget=0x555555b8f990, sender=0x555555f68a80) at NSApplication.m:2249
>>
>> in the method folderNodesFromFolders: separator: in the Utilities.m file :
>>
>> line 584
>> i = [aString indexOfCharacter: theSeparator];
>> aString : Drafts
>> theSeparator : /
>> i : 9223372036854775807
>>
>>
>> line 602
>> aName = [aString substringWithRange: NSMakeRange(mark, i-mark)];
>> aString : Drafts
>> mark : 0
>> i : 9223372036854775807
>>
>> when I step over this last instruction an exception is raised or
>> something, in gdb the program just continues.
>> Obviously the substring with the range is the problem, but how does i get
>> that value from the indexOfCharacter method on line 584 ?
>>
>>
>> The problem is not so much the substringWithRange: method, but rather that
>> the result of indexOfCharacter:, which is just NSNotFound, is not dealt with
>> properly. This may be due to a 32/64 bit mismatch where the result of
>> indexOfCharacter: is saved to an int variable before checking whether it is
>> NSNotFound or perhaps the code incorrectly assumes that indexOfCharacter:
>> returns -1 in case there is no match.
>>
>> Wolfgang
>>
>>
>
>
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
>
[Prev in Thread] | Current Thread | [Next in Thread] |