Hi,
ProjectCenter crashed on me today with Program terminated with signal
11, Segmentation fault.
I opened the core file and seet his trace:
#0 codeType (ch=0x11491e685000) at PCParser.m:103
103 if ( ((*ch > 0x40) && (*ch < 0x5B)) ||
a stacktrace:
(gdb) bt
#0 codeType (ch=0x11491e685000) at PCParser.m:103
#1 0x000011491839521d in -[PCParser parse] (self=0x114886e4a490,
_cmd=Unhandled dwarf expression opcode 0xf3
)
at PCParser.m:219
#2 0x0000114918394da0 in -[PCParser classNames] (self=0x114886e4a490,
_cmd=Unhandled dwarf expression opcode 0xf3
)
at PCParser.m:81
#3 0x00001148827e9ce6 in -[PCEditor browserItemsForItem:] (
self=0x1148832aee10, _cmd=Unhandled dwarf expression opcode 0xf3
) at PCEditor.m:556
#4 0x0000114831eb3f1d in -[PCProjectBrowser(ProjectBrowserDelegate)
browser:createRowsForColumn:inMatrix:] (self=0x11482c42e450,
_cmd=Unhandled dwarf expression opcode 0xf3
)
at PCProjectBrowser.m:544
#5 0x000011487858ff93 in -[NSBrowser(Private) _performLoadOfColumn:] (
self=0x11488d037c10, _cmd=Unhandled dwarf expression opcode 0xf3
) at NSBrowser.m:3339
#6 0x000011487858d0e1 in -[NSBrowser addColumn] (self=0x11488d037c10,
_cmd=Unhandled dwarf expression opcode 0xf3
)
at NSBrowser.m:954
I ask myself, how can it crash in this place? The unichar is valid and
there, I can print it out:
(gdb) p ch
$1 = (unichar *) 0x11491e685000
Current language: auto; currently
How can it crash inside the function?
could it be that at at line 219
codeType(_uchar+_length)
points to out of bound? but that I can still access then _uchar? I
wonder if it should be _length-1 ... I remember that code was needed for
some special cases but I don't remember which ones. I suppose for file
without newline.
if I make it _length-1 it doesn't crash, but I'd like a confirm that it
makes sense.
Riccardo
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev