Jump to content
Eternal Lands Official Forums
Sign in to follow this  
Theryndan

Segfault when chat text size is 0

Recommended Posts

Compiled from cvs ~1 hour old; this crash can be reproduced in 2 ways:

1) while being in non-console mode open the options tab -> font -> set the chat text size to 0; as soon as you pass in console mode the client crashes

 

$ gdb el.x86.linux.cvs.bin

GNU gdb 6.5

Copyright © 2006 Free Software Foundation, Inc.

GDB is free software, covered by the GNU General Public License, and you are

welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.

There is absolutely no warranty for GDB. Type "show warranty" for details.

This GDB was configured as "i486-slackware-linux"...Using host libthread_db library "/lib/tls/libthread_db.so.1".

 

(gdb) r

Starting program: /home/theryndan/EL/cvs/el.x86.linux.cvs.bin

[Thread debugging using libthread_db enabled]

[New Thread -1217525408 (LWP 3265)]

[New Thread -1295688784 (LWP 3268)]

[New Thread -1304077392 (LWP 3269)]

 

Program received signal SIGSEGV, Segmentation fault.

[switching to Thread -1217525408 (LWP 3265)]

0x080f0ee6 in text_field_draw (w=0xc0f2cb0) at widgets.c:2748

2748 if (tf->select.lines[0].msg == -1)

(gdb) bt

#0 0x080f0ee6 in text_field_draw (w=0xc0f2cb0) at widgets.c:2748

#1 0x08083e5e in draw_window (win=0xc01c7d4) at elwindows.c:1094

#2 0x080843d3 in display_window (win_id=1) at elwindows.c:1243

#3 0x08081752 in display_windows (level=1) at elwindows.c:65

#4 0x0807aaaa in draw_scene () at draw_scene.c:129

#5 0x080ac594 in start_rendering () at main.c:167

#6 0x080ac8c2 in main (argc=1, argv=0xbf900c74) at main.c:287

 

 

 

2) enter console mode, open the options window (need "windows on top" enabled to see it) -> font -> set the chat text size to 0; as soon as the value becomes 0 the client crashes [not sure, but the crash could start occurring at 0.05 font size, I've tried with the static official client (which doesn't crash) and at 0.05 already there is no chat dispalyed; more probably, the problem occurs when the chat would become invisible so the critical value of the font depends on the screen size setting]

 

$ gdb el.x86.linux.cvs.bin

GNU gdb 6.5

Copyright © 2006 Free Software Foundation, Inc.

GDB is free software, covered by the GNU General Public License, and you are

welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.

There is absolutely no warranty for GDB. Type "show warranty" for details.

This GDB was configured as "i486-slackware-linux"...Using host libthread_db library "/lib/tls/libthread_db.so.1".

 

(gdb) r

Starting program: /home/theryndan/EL/cvs/el.x86.linux.cvs.bin

[Thread debugging using libthread_db enabled]

[New Thread -1216935584 (LWP 3271)]

[New Thread -1295365200 (LWP 3274)]

[New Thread -1303753808 (LWP 3275)]

 

Program received signal SIGSEGV, Segmentation fault.

[switching to Thread -1216935584 (LWP 3271)]

0x0808a02c in draw_messages (x=10, y=25, msgs=0xb960880, msgs_size=5000, filter=255 'ÿ', msg_start=35,

offset_start=0, cursor=-1, width=906, height=635, text_zoom=0, select=0xc02a4c4) at font.c:382

382 if ((select != NULL) && (select->lines[cur_line].msg == -1))

(gdb) bt

#0 0x0808a02c in draw_messages (x=10, y=25, msgs=0xb960880, msgs_size=5000, filter=255 'ÿ', msg_start=35,

offset_start=0, cursor=-1, width=906, height=635, text_zoom=0, select=0xc02a4c4) at font.c:382

#1 0x080f0ee0 in text_field_draw (w=0xc02b0a8) at widgets.c:2747

#2 0x08083e5e in draw_window (win=0xc02bdd4) at elwindows.c:1094

#3 0x080843d3 in display_window (win_id=1) at elwindows.c:1243

#4 0x08081752 in display_windows (level=1) at elwindows.c:65

#5 0x0807aaaa in draw_scene () at draw_scene.c:129

#6 0x080ac594 in start_rendering () at main.c:167

#7 0x080ac8c2 in main (argc=1, argv=0xbfab6624) at main.c:287

Share this post


Link to post
Share on other sites

Setting font size to 0 is a "Well, don't do that then", so I've made the config option stop decreasing at size 0.2 (I have some doubts it should even be that low, but it shouldn't cause any crashes when people want to play).

Thanks for reporting it :)

Share this post


Link to post
Share on other sites

Setting font size to 0 is a "Well, don't do that then"

 

Actually there is a case when you do it, and it's the way I found the bug :) After pm'ing a bot, the pms I got were too long and ended on 2 lines making it hard to read, so I reduced the font size till 0.75; once read what I needed, I wanted to put it back to 1; me being lazy, instead of making the numbers scroll back to 1.00 I just deleted the value to type directly 1, but deleting all the numbers set the value to 0 :)

 

And sorry, but it's not fixed yet - crash (1) disappeared, but crash (2) is still there and more weird now:

- if I delete all the digits and type 1 it works

- if I delete all the digits and type 0 (to set to 0.9 for example) it crashes

- also it crashed after I brought the value to 2.96 and started deleting (crashed as soon as I pressed backspace)

Sorry but didn't manage to find a sure way to identify when it crashes: sometimes I can delete/change numbers no problem, other times it crashes (it even happened that I managed to type in 0.4, deleted it, typed again 0.4, repeated a few times, then I deleted and tried to type 0.3 -> crash).

 

EDIT:

Forgot to mention, but the backtrace is still the same of the case (2) in the first post

Just found that looks like the crash on the 0.x values happens when I try to type a value different from the one deleted: for example if the size is 0.6 after deleting it with backspace I can insert 0.6 but not 0.5 or the client crashes.

Edited by Theryndan

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×