Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: [40d16 + 40d16 HEAD] Intermittent segfaults on 64-bit Ubuntu Jaunty  (Read 1638 times)

steff

  • Bay Watcher
    • View Profile

Hi chaps -

Apologies for making my first post here a bug report, but I'm currently unable to get the game stable enough to make much progress. My setup is a fairly standard 64-bit Xubuntu Jaunty, running on a Core2 Quad:

Linux lhasa 2.6.28-16-generic #55-Ubuntu SMP Tue Oct 20 19:48:32 UTC 2009 x86_64 GNU/Linux

I've updated to the HEAD package, but still get segfaults at points varying from half an hour into the game to pressing "embark". I've modified the df script to remove valgrind, as it makes the game unusably slow and replaced it with gdb, but I'm unable to get a usable backtrace. Sound is working, and ldd output looks sensible.

Here's the gdb output for a typical crash (this one happened when I tried to look at the detailed status of a dwarf):

steff@lhasa:~/df_linux$ ./df
mkdir: cannot create directory `unused_libs': File exists
mv: cannot stat `libs/libSDL*': No such file or directory
GNU gdb 6.8-debian
Copyright (C) 2008 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"...
(no debugging symbols found)
(gdb) r
Starting program: /home/steff/df_linux/dwarfort.exe
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xf59ee740 (LWP 6194)]
Gtk-Message: Failed to load module "canberra-gtk-module": /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so: wrong ELF class: ELFCLASS64
[New Thread 0xf57a8b90 (LWP 6197)]
/usr/lib/gio/modules/libgioremote-volume-monitor.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgioremote-volume-monitor.so
/usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so
/usr/lib/gio/modules/libgiogconf.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgiogconf.so
[New Thread 0xef57db90 (LWP 6198)]
[New Thread 0xeed7cb90 (LWP 6199)]
[New Thread 0xee57bb90 (LWP 6200)]
Using OpenGL output path with client-side arrays
Room for 0 vertices allocated
Entering upload_textures
1
2
3
4
Ideal catalog size: 354x354
5
6
7
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8
Asked for 80x25 grid
Setting to 640x300, grid 80x25, zoom 1.000000
Using OpenGL output path with client-side arrays
Room for 12000 vertices allocated
Using OpenGL output path with client-side arrays
Room for 12000 vertices allocated
Frame 1 complete
Frame 2 complete
Frame 3 complete
Frame 4 complete
Frame 5 complete
Using OpenGL output path with client-side arrays
Room for 12000 vertices allocated
Using OpenGL output path with client-side arrays
Room for 12000 vertices allocated
Using OpenGL output path with client-side arrays
Room for 12000 vertices allocated
Using OpenGL output path with client-side arrays
Room for 12000 vertices allocated
Using OpenGL output path with client-side arrays
Room for 12000 vertices allocated
Using OpenGL output path with client-side arrays
Room for 12000 vertices allocated
Using OpenGL output path with client-side arrays
Room for 12000 vertices allocated
Using OpenGL output path with client-side arrays
Room for 12000 vertices allocated
Asked for 240x92 grid
Setting to 1920x1108, grid 240x92, zoom 1.000000
Using OpenGL output path with client-side arrays
Room for 12000 vertices allocated
Entering upload_textures
1
2
3
4
Ideal catalog size: 354x354
5
6
7
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8
Using OpenGL output path with client-side arrays
Room for 132480 vertices allocated

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xf59ee740 (LWP 6194)]
strcat () at ../sysdeps/i386/i486/strcat.S:231
231   ../sysdeps/i386/i486/strcat.S: No such file or directory.
   in ../sysdeps/i386/i486/strcat.S
Current language:  auto; currently asm
(gdb) bt full
#0  strcat () at ../sysdeps/i386/i486/strcat.S:231
No locals.
#1  0x0846d97f in ?? ()
No symbol table info available.
#2  0x08497f66 in ?? ()
No symbol table info available.
#3  0x20736168 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


So... is there something obviously broken here, and if not would it be possible to get hold of an executable with symbols to get a better idea of what's broken?

Cheers chaps!
Logged

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: [40d16 + 40d16 HEAD] Intermittent segfaults on 64-bit Ubuntu Jaunty
« Reply #1 on: October 22, 2009, 03:12:52 pm »

I went ahead and posted a link to this report in the 40d16 thread.  There isn't really an established protocol for where that version's bugs should be reported, so no worries.
Logged

steff

  • Bay Watcher
    • View Profile
Re: [40d16 + 40d16 HEAD] Intermittent segfaults on 64-bit Ubuntu Jaunty
« Reply #2 on: October 23, 2009, 04:38:01 pm »

Now with added valgrind output... http://pastebin.com/fdfda31f
Crash occurred after leaving the game running overnight. Select dwarf from 'u' menu, hit v, then Enter. BOOM!
Logged

steff

  • Bay Watcher
    • View Profile
Re: [40d16 + 40d16 HEAD] Intermittent segfaults on 64-bit Ubuntu Jaunty
« Reply #3 on: November 02, 2009, 12:29:38 pm »

Just updated the machine to 64-bit Karmic and can confirm the crash still happens (u, v, enter): http://pastebin.com/f2534e951

Is there anything else I can usefully do to aid in debugging this?

Logged

steff

  • Bay Watcher
    • View Profile
Re: [40d16 + 40d16 HEAD] Intermittent segfaults on 64-bit Ubuntu Jaunty
« Reply #4 on: November 08, 2009, 10:46:42 am »

Got this to reproduce earlier in the run - this time triggered by selecting an immediate departure rather than "plan carefully". http://pastebin.com/f24e16267 has the valgrind output.
Logged

eerr

  • Bay Watcher
    • View Profile
Re: [40d16 + 40d16 HEAD] Intermittent segfaults on 64-bit Ubuntu Jaunty
« Reply #5 on: November 12, 2009, 03:10:08 pm »

I have 50 bucks riding on a 64-bit integer replacing a 32 bit integer.
Logged

Gertack

  • Bay Watcher
    • View Profile
Re: [40d16 + 40d16 HEAD] Intermittent segfaults on 64-bit Ubuntu Jaunty
« Reply #6 on: November 14, 2009, 02:42:17 pm »

Weird. Works fine in my 64-bit Ubuntu Jaunty and now Karmic.
Logged