Author Topic: [Solved]Glest crashes when sending a unit (Linux amd65)  (Read 4754 times)

vegi

  • Guest
Hi!

I have the following problem on Ubuntu Hardy, amd64 (and the newest ATI driver 8.3 if that matters):
I can start Glest having no problem until I start a game. When I click on a unit and send it somewhere, Glest instantly crashes when the red arrow, which indicates, where the unit is going, appears. This happens with the version in Hardy and also with Glest 3.1.2 compiled from source. Here a gdb-output of the 3.1.2 crash, debugging enabled:

Code: [Select]
GNU gdb 6.7.1-debian
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) handle SIG33 pass nostop noprint
Signal        Stop Print Pass to program Description
SIG33         No No Yes Real-time event 33
(gdb) set paginatinon 0
(gdb) run
Starting program: /home/mm/.glest/glest
[Thread debugging using libthread_db enabled]
warning: Lowest section in /usr/lib/libicudata.so.38 is .hash at 0000000000000120
[New Thread 0x7fecd210c700 (LWP 10301)]
[New Thread 0x41c08950 (LWP 10304)]
Couldn't process event: Mouse Button > 3 not handled.
Couldn't process event: Mouse Button > 3 not handled.
Couldn't process event: Mouse Button > 3 not handled.
Couldn't process event: Mouse Button > 3 not handled.
Couldn't process event: Mouse Button > 3 not handled.
Couldn't process event: Mouse Button > 3 not handled.
Couldn't process event: Mouse Button > 3 not handled.
Couldn't process event: Mouse Button > 3 not handled.
Couldn't process event: Mouse Button > 3 not handled.
Couldn't process event: Mouse Button > 3 not handled.
Couldn't process event: Mouse Button > 3 not handled.
Couldn't process event: Mouse Button > 3 not handled.
[New Thread 0x425eb950 (LWP 10305)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fecd210c700 (LWP 10301)]
0x00007fecc256c48b in ?? ()
(gdb) backtrace full
#0  0x00007fecc256c48b in ?? ()
No symbol table info available.
#1  0x0000000000000000 in ?? ()
No symbol table info available.
(gdb) info registers
rax            0x0 0
rbx            0x10009c8 16779720
rcx            0x10009c8 16779720
rdx            0x107cd40 17288512
rsi            0x8 8
rdi            0x102e1c0 16966080
rbp            0x107cd40 0x107cd40
rsp            0x7fffda2bdc58 0x7fffda2bdc58
r8             0x1 1
r9             0x18 24
r10            0x0 0
r11            0x7fecc256c480 140654849475712
r12            0x10009c8 16779720
r13            0x10009e0 16779744
r14            0x1 1
r15            0x107cd40 17288512
rip            0x7fecc256c48b 0x7fecc256c48b
eflags         0x10212 [ AF IF RF ]
cs             0x33 51
ss             0x2b 43
ds             0x0 0
es             0x0 0
fs             0x0 0
gs             0x0 0
fctrl          0x37f 895
fstat          0x20 32
ftag           0xffff 65535
fiseg          0x0 0
fioff          0x0 0
foseg          0x0 0
fooff          0x0 0
fop            0x0 0
mxcsr          0x1fa0 [ PE IM DM ZM OM UM PM ]
(gdb) thread apply all backtrace

Thread 3 (Thread 0x425eb950 (LWP 10305)):
#0  0x00007fecd008dcc6 in poll () from /lib/libc.so.6
#1  0x00007feccfa2e472 in snd_pcm_wait_nocheck () from /usr/lib/libasound.so.2
#2  0x00007feccfa3039c in snd_pcm_write_areas () from /usr/lib/libasound.so.2
#3  0x00007feccfa38eb1 in snd_pcm_mmap_writei () from /usr/lib/libasound.so.2
#4  0x00007fecd0867e0b in ?? () from /usr/lib/libopenal.so.0
#5  0x00007fecd08493a8 in ?? () from /usr/lib/libopenal.so.0
#6  0x00007fecd085102b in ?? () from /usr/lib/libopenal.so.0
#7  0x00007fecd10c63f7 in start_thread () from /lib/libpthread.so.0
#8  0x00007fecd0096b7d in clone () from /lib/libc.so.6
#9  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x41c08950 (LWP 10304)):
#0  0x00007fecd10cde81 in nanosleep () from /lib/libpthread.so.0
#1  0x00007fecd1e62fe4 in SDL_Delay () from /usr/lib/libSDL-1.2.so.0
#2  0x00007fecd1e6301e in ?? () from /usr/lib/libSDL-1.2.so.0
#3  0x00007fecd1e1d877 in ?? () from /usr/lib/libSDL-1.2.so.0
#4  0x00007fecd1e60af9 in ?? () from /usr/lib/libSDL-1.2.so.0
#5  0x00007fecd10c63f7 in start_thread () from /lib/libpthread.so.0
#6  0x00007fecd0096b7d in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fecd210c700 (LWP 10301)):
#0  0x00007fecc256c48b in ?? ()
#1  0x0000000000000000 in ?? ()
(gdb) continue
Continuing.
[Thread 0x41c08950 (LWP 10304) exited]

Program received signal SIGSEGV, Segmentation fault.
0x00007fecc256c48b in ?? ()
(gdb) backtrace full
#0  0x00007fecc256c48b in ?? ()
No symbol table info available.
#1  0x0000000000000000 in ?? ()
No symbol table info available.
(gdb) info registrers
rax            0x0 0
rbx            0x10009c8 16779720
rcx            0x10009c8 16779720
rdx            0x107cd40 17288512
rsi            0x8 8
rdi            0x102e1c0 16966080
rbp            0x107cd40 0x107cd40
rsp            0x7fffda2bdc58 0x7fffda2bdc58
r8             0x1 1
r9             0x18 24
r10            0x0 0
r11            0x7fecc256c480 140654849475712
r12            0x10009c8 16779720
r13            0x10009e0 16779744
r14            0x1 1
r15            0x107cd40 17288512
rip            0x7fecc256c48b 0x7fecc256c48b
eflags         0x212 [ AF IF ]
cs             0x33 51
ss             0x2b 43
ds             0x0 0
es             0x0 0
fs             0x0 0
gs             0x0 0
fctrl          0x37f 895
fstat          0x20 32
ftag           0xffff 65535
fiseg          0x0 0
fioff          0x0 0
foseg          0x0 0
fooff          0x0 0
fop            0x0 0
mxcsr          0x1fa0 [ PE IM DM ZM OM UM PM ]
(gdb) thread apply all backtrace

Thread 3 (Thread 0x425eb950 (LWP 10305)):
#0  0x00007fecd008fdf2 in select () from /lib/libc.so.6
#1  0x00007fecd0847b93 in ?? () from /usr/lib/libopenal.so.0
#2  0x00007fecd084931a in ?? () from /usr/lib/libopenal.so.0
#3  0x00007fecd085102b in ?? () from /usr/lib/libopenal.so.0
#4  0x00007fecd10c63f7 in start_thread () from /lib/libpthread.so.0
#5  0x00007fecd0096b7d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fecd210c700 (LWP 10301)):
#0  0x00007fecc256c48b in ?? ()
#1  0x0000000000000000 in ?? ()
(gdb) quit
The program is running.  Exit anyway? (y or n) Not confirmed.
(gdb) continue
Continuing.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
(gdb) backtrace full
No stack.
(gdb) info registers
The program has no registers now.
(gdb) quit


Mouse Button > 3 not handled? I am using my notebook's Synaptics touchpad...

Can I provide further information to track down the bug?
« Last Edit: 10 August 2008, 20:13:02 by vegi »

vegi

  • Guest
(No subject)
« Reply #1 on: 21 March 2008, 21:02:26 »
It seems to be a problem of the driver, as Glest does not crash with the open source driver. Unfortunately, this does not support 3d acceleration and is much too slow...
« Last Edit: 1 January 1970, 00:00:00 by vegi »

hailstone

  • GAE Team
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
(No subject)
« Reply #2 on: 24 March 2008, 12:20:56 »
The message "Mouse Button > 3 not handled." is located in shared_lib/sources/platform/sdl/window.cpp

Code: [Select]
MouseButton Window::getMouseButton(int sdlButton) {
switch(sdlButton) {
case SDL_BUTTON_LEFT:
return mbLeft;
case SDL_BUTTON_RIGHT:
return mbRight;
case SDL_BUTTON_MIDDLE:
return mbCenter;
default:
throw std::runtime_error("Mouse Button > 3 not handled.");
}
}


it means that one of the SDL buttons wasn't pressed so another case might need to be added to support the touchpad, although I don't think it does anything because I had this as well and I could still play.
« Last Edit: 1 January 1970, 00:00:00 by hailstone »
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

vegi

  • Guest
(No subject)
« Reply #3 on: 31 March 2008, 17:32:12 »
Yeah, it is indeed an ATI bug. Using an old 7.x driver works.
« Last Edit: 1 January 1970, 00:00:00 by vegi »

daniel.santos

  • Guest
(No subject)
« Reply #4 on: 1 April 2008, 17:02:41 »
vegi, can you please marked this one as solved? Just edit the original post and add "[SOLVED]" to the beginning of the subject. thanks :)
« Last Edit: 1 January 1970, 00:00:00 by daniel.santos »

evon

  • Guest
ATI driver
« Reply #5 on: 18 July 2008, 17:23:12 »
I have the same problem.  But where can I get my hands on an old ATI driver?  I would love to be able to play my 3d games again. I'm running an AMD64.
« Last Edit: 1 January 1970, 00:00:00 by evon »

vegi

  • Guest
(No subject)
« Reply #6 on: 10 August 2008, 20:15:18 »
I am using Fedora 9 now and with the xorg-x11-drv-ati open source driver version 6.8 (still in testing repos) it works because this driver is much faster on my card (glxgears gives 1200 FPS instead of 170 FPS with 6.7).
« Last Edit: 1 January 1970, 00:00:00 by vegi »

 

anything