gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Terminal 0.9.9 segfault stacktrace


From: Riccardo Mottola
Subject: Re: Terminal 0.9.9 segfault stacktrace
Date: Tue, 3 Sep 2019 08:46:54 +0200
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 SeaMonkey/2.49.4

Hi Patryk,

are you also using the latest SVN version of Terminal or are you using latest release?
Table is used in Terminal's Preferences.

Your stack trace involves no Terminal code, but apparently a view is getting something negative (I get that too, but get no crash) and this could confuse NSTable.
A first guess for me would be that _rowYOrigin[i] is invalid

Maybe Fred can help us. Could you print the stactrace to see where it is called from Terminal?

please print out i and _numberOfRows just to check the basic things.

perhaps something went astray.


Riccardo

Patryk Laurent via Gnustep-dev wrote:
Here is the stacktrace from the segfault when launching Terminal 0.9.9.  It seems to originate from within GSTable.m. (Again, using latest from the repo.)

It looks like the negative width and height which are somehow being obtained are causing a bad index into memory...?

Best,
Patryk


Terminal-0.9.9/Terminal.app$ lldb-6.0 ./Terminal

(lldb) target create "./Terminal"

Current executable set to './Terminal' (aarch64).

(lldb) run

Process 5659 launched: './Terminal' (aarch64)

Process 5659 stopped and restarted: thread 1 received signal: SIGCHLD

Process 5659 stopped and restarted: thread 1 received signal: SIGCHLD

2019-08-27 03:02:44.935 Terminal[5659:5659] File NSView.m: 1183. In -[NSView setFrame:] given negative width

2019-08-27 03:02:44.940 Terminal[5659:5659] File NSView.m: 1188. In -[NSView setFrame:] given negative height

2019-08-27 03:02:44.942 Terminal[5659:5659] NSFont <NSFont: 0xe72b88> DejaVuSansMono 12.000 0.000 0.000 12.000 0.000 0.000 S 6 info <CairoFontInfo: 0xe72c18> size 12 {x = 0; y = -9; width = 8; height = 9} 1

Process 5659 stopped

* thread #1, name = 'Terminal', stop reason = signal SIGSEGV: invalid address (fault address: 0xf30000)

    frame #0: 0x0000007fb7bb2bd8 libgnustep-gui.so.0.27`-[GSTable(self=0x0000000000e8bd48, _cmd="\x96B", newFrameSize=(width = 586.99999999999989, height = 351)) _updateForNewFrameSize:] at GSTable.m:1080

   1077dimensionIncrement = dimensionIncrement / _expandingRowNumber;

   1078for (i = 0; i < _numberOfRows; i++)

   1079  {

-> 1080    _rowYOrigin[i] += originShift;

   1081    if (_expandRow[i])

   1082{

   1083_rowDimension[i] += dimensionIncrement;

(lldb)







reply via email to

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