FORUM ARCHIVED

Linux 64-bit segmentation fault upon starting.

Discussion in 'Bugs' started by truekaiser, Dec 3, 2011.

  1. truekaiser

    truekaiser Member

    I thought one of the requirements for the the indie bundle is it has to work? :confused:
    the game segmentation faults with either static or system library's, starting directly or with the old loki linux games start script, native 64bit or 32bit emulated.
    Code:
    Dredmor: Installed in '.'.
    Dredmor: Using amd64 version.
    dungeons of dredmor: version 1.0.7
    argv[i]: ./Dredmor-amd64
    SDL version 1.2.14
    Installing default keybindings...
    Keybinding: installing default <keybinding pos="0" value="119" mod="0"/>
    Keybinding: installing default <keybinding pos="1" value="115" mod="0"/>
    Keybinding: installing default <keybinding pos="2" value="97" mod="0"/>
    Keybinding: installing default <keybinding pos="3" value="100" mod="0"/>
    Keybinding: installing default <keybinding pos="4" value="32" mod="0"/>
    Keybinding: installing default <keybinding pos="5" value="107" mod="0"/>
    Keybinding: installing default <keybinding pos="6" value="105" mod="0"/>
    Keybinding: installing default <keybinding pos="7" value="99" mod="0"/>
    Keybinding: installing default <keybinding pos="8" value="109" mod="0"/>
    Keybinding: installing default <keybinding pos="9" value="113" mod="0"/>
    Keybinding: installing default <keybinding pos="alchemy" value="49" mod="768"/>
    Keybinding: installing default <keybinding pos="grinder" value="50" mod="768"/>
    Keybinding: installing default <keybinding pos="ingot" value="51" mod="768"/>
    Keybinding: installing default <keybinding pos="lutefisk" value="52" mod="768"/>
    Keybinding: installing default <keybinding pos="smithing" value="53" mod="768"/>
    Keybinding: installing default <keybinding pos="still" value="54" mod="768"/>
    Keybinding: installing default <keybinding pos="tinkerer" value="55" mod="768"/>
    Keybinding: installing default <keybinding pos="belt1" value="49" mod="3"/>
    Keybinding: installing default <keybinding pos="belt2" value="50" mod="3"/>
    Keybinding: installing default <keybinding pos="belt3" value="51" mod="3"/>
    Keybinding: installing default <keybinding pos="belt4" value="52" mod="3"/>
    Keybinding: installing default <keybinding pos="belt5" value="53" mod="3"/>
    Keybinding: installing default <keybinding pos="belt6" value="54" mod="3"/>
    Keybinding: installing default <keybinding pos="belt7" value="55" mod="3"/>
    Keybinding: installing default <keybinding pos="belt8" value="56" mod="3"/>
    Keybinding: installing default <keybinding pos="belt9" value="57" mod="3"/>
    Keybinding: installing default <keybinding pos="skill1" value="49" mod="0"/>
    Keybinding: installing default <keybinding pos="skill2" value="50" mod="0"/>
    Keybinding: installing default <keybinding pos="skill3" value="51" mod="0"/>
    Keybinding: installing default <keybinding pos="skill4" value="52" mod="0"/>
    Keybinding: installing default <keybinding pos="skill5" value="53" mod="0"/>
    Keybinding: installing default <keybinding pos="skill6" value="54" mod="0"/>
    Keybinding: installing default <keybinding pos="skill7" value="55" mod="0"/>
    Keybinding: installing default <keybinding pos="skill8" value="56" mod="0"/>
    Keybinding: installing default <keybinding pos="skill9" value="57" mod="0"/>
    ... DONE!
    just before XML_Parse
    just after XML_Parse
    Mix_Init: Failed to init required ogg and mod support!
    Mix_Init: Mixer not built with MOD support
    Opened audio at 44100 Hz 16 bit stereo, 4096 bytes audio buffer
    setting sound volume to 56 percent (71 / 128)
    setting music volume to 41 percent (52 / 128)
    Keybinding: reading key 119, mod 0 at position 0
    Keybinding: reading key 115, mod 0 at position 1
    Keybinding: reading key 97, mod 0 at position 2
    Keybinding: reading key 100, mod 0 at position 3
    Keybinding: reading key 32, mod 0 at position 4
    Keybinding: reading key 107, mod 0 at position 5
    Keybinding: reading key 105, mod 0 at position 6
    Keybinding: reading key 99, mod 0 at position 7
    Keybinding: reading key 109, mod 0 at position 8
    Keybinding: reading key 113, mod 0 at position 9
    Keybinding: reading key 49, mod 768 at position alchemy
    Keybinding: reading key 50, mod 768 at position grinder
    Keybinding: reading key 51, mod 768 at position ingot
    Keybinding: reading key 52, mod 768 at position lutefisk
    Keybinding: reading key 53, mod 768 at position smithing
    Keybinding: reading key 54, mod 768 at position still
    Keybinding: reading key 55, mod 768 at position tinkerer
    Keybinding: writing <keybinding pos="0" value="119" mod="0"/>
    Keybinding: writing <keybinding pos="1" value="115" mod="0"/>
    Keybinding: writing <keybinding pos="2" value="97" mod="0"/>
    Keybinding: writing <keybinding pos="3" value="100" mod="0"/>
    Keybinding: writing <keybinding pos="4" value="32" mod="0"/>
    Keybinding: writing <keybinding pos="5" value="107" mod="0"/>
    Keybinding: writing <keybinding pos="6" value="105" mod="0"/>
    Keybinding: writing <keybinding pos="7" value="99" mod="0"/>
    Keybinding: writing <keybinding pos="8" value="109" mod="0"/>
    Keybinding: writing <keybinding pos="9" value="113" mod="0"/>
    Keybinding: writing <keybinding pos="alchemy" value="49" mod="768"/>
    Keybinding: writing <keybinding pos="grinder" value="50" mod="768"/>
    Keybinding: writing <keybinding pos="ingot" value="51" mod="768"/>
    Keybinding: writing <keybinding pos="lutefisk" value="52" mod="768"/>
    Keybinding: writing <keybinding pos="smithing" value="53" mod="768"/>
    Keybinding: writing <keybinding pos="still" value="54" mod="768"/>
    Keybinding: writing <keybinding pos="tinkerer" value="55" mod="768"/>
    just before XML_Parse
    just after XML_Parse
    just before XML_Parse
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    deleting buff
    Segmentation fault
    
    as i side note you seem to have no way for people to 'update' their game basically no patch or dl link on your site. i see references to a 1.0.8 version but no way to get it.
     
  2. xolotl

    xolotl Member

    1.0.8 is in Beta and AFAIK not generally available yet. The two most important threads to fix Linux segfaults at the moment are these two:

    http://community.gaslampgames.com/t...-10-major-instabililty.1311/page-2#post-11716
    http://community.gaslampgames.com/threads/statue-of-inconsequentia-crash.1318/

    The first links to an archive of new binaries you should replace in the main directory, and the second is a patch to address some case-sensitivity issues on Linux. You'll want to get both (though the first one isn't actually necessary on all platforms). Also be sure to NOT start a new game (or possibly even load an old one) if you've tried a Tutorial without quitting inbetween. The 1.0.7 tutorial code is bugged and will mess up the game you play; if you run a Tutorial, quit the game and start it again before doing the actual game.

    AFAIK all that will end up getting fixed in 1.0.8.

    (And as a semi-related side-note: I personally am very grateful to any game which does not include auto-update functionality. Something which would go out to notify me if a new version is available is all right (though I like to be able to disable those), but I generally much rather manage upgrades myself. Something that at least gives me the opportunity to say "no" to an upgrade would be a second-best option, IMO.)
     
  3. truekaiser

    truekaiser Member

    No effect other then it just segfaults like this. the game doesn't even start, lovely graphics on the launcher window though... maybe coding the thing to use system libs will fix it?
    Code:
    Dredmor: Installed in '.'.
    Dredmor: Using amd64 version.
    dungeons of dredmor: version 1.0.7
    argv[i]: ./Dredmor-amd64
    SDL version 1.2.14
    Mix_Init: Failed to init required ogg and mod support!
    Mix_Init: Mixer not built with MOD support
    Opened audio at 44100 Hz 16 bit stereo, 4096 bytes audio buffer
    Segmentation fault
    
    i run gentoo, these are my system settings.

    Code:
    Portage 2.1.10.11 (default/linux/amd64/10.0/desktop, gcc-4.5.3, glibc-2.12.2-r0, 3.0.6-gentoo x86_64)
    =================================================================
    System uname: Linux-3.0.6-gentoo-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9650_@_3.00GHz-with-gentoo-2.0.3
    Timestamp of tree: Fri, 25 Nov 2011 23:30:01 +0000
    app-shells/bash:          4.1_p9
    dev-java/java-config:    2.1.11-r3
    dev-lang/python:          2.6.6-r2, 2.7.2-r3, 3.1.4-r3
    dev-util/cmake:          2.8.4-r1
    dev-util/pkgconfig:      0.26
    sys-apps/baselayout:      2.0.3
    sys-apps/openrc:          0.8.3-r1
    sys-apps/sandbox:        2.5
    sys-devel/autoconf:      2.13, 2.68
    sys-devel/automake:      1.4_p6-r1, 1.9.6-r3, 1.10.3, 1.11.1
    sys-devel/binutils:      2.21.1-r1
    sys-devel/gcc:            4.4.5, 4.5.3-r1
    sys-devel/gcc-config:    1.4.1-r1
    sys-devel/libtool:        2.4-r1
    sys-devel/make:          3.82-r1
    sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
    sys-libs/glibc:          2.12.2
    Repositories: gentoo multimedia x11 x-portage
    ACCEPT_KEYWORDS="amd64"
    ACCEPT_LICENSE="*"
    CBUILD="x86_64-pc-linux-gnu"
    CFLAGS="-O2 -march=core2 -pipe -msse4.1"
    CHOST="x86_64-pc-linux-gnu"
    CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
    CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
    CXXFLAGS="-O2 -march=core2 -pipe -msse4.1"
    DISTDIR="/usr/portage/distfiles"
    FEATURES="assume-digests binpkg-logs candy distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
    FFLAGS=""
    GENTOO_MIRRORS="http://distfiles.gentoo.org"
    LDFLAGS="-Wl,-O1 -Wl,--as-needed"
    LINGUAS="en_US"
    MAKEOPTS="-j5"
    PKGDIR="/usr/portage/packages"
    PORTAGE_CONFIGROOT="/"
    PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
    PORTAGE_TMPDIR="/var/tmp"
    PORTDIR="/usr/portage"
    PORTDIR_OVERLAY="/var/lib/layman/multimedia /var/lib/layman/x11 /usr/local/portage"
    SYNC="rsync://rsync.gentoo.org/gentoo-portage"
    USE="X a52 aac aalib acpi aiglx aim alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr cdrw cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr dvdread emboss encode esd exif ffmpeg ffmpeg-mt firefox flac font-server fortran gdbm gdu gif gpm gtk gtk2 iconv java joystick jpeg kde lcms ldap libnotify lm_sensors mad mjpeg mmx mng modules mp3 mp4 mpeg msn mudflap multilib ncurses nls nptl nptlonly nsplugin ogg oggvorbis opengl openmp oss pam pango pcre pdf png pnp policykit ppds pppd qt3 qt3support qt4 quicktime readline samba sdl semantic-desktop session spell sse sse2 sse3 sse4 ssl ssse3 startup-notification svg symlink sysfs tcpd theora tiff truetype udev unicode usb vaapi vcd vdpau vlc vorbis win32codec x264 xcb xine xml xorg xpm xulrunner xv xvid xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vesa ati radeon fglrx" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
    Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
    
    edit: did make the MOD and OGG warnings go away. :rolleyes: compile your built in libs WITH vorbis AND mikmod support for the x86-64 builds.. i am starting to wonder if this guy even 'touched' linux or ANY nix system before this.
     
  4. xolotl

    xolotl Member

    Not that I'm trying to defend code that doesn't work properly, but statements like that one always annoy me. From what I understand, 1.0.6 was the first build with Linux support, so yes - Linux support in Dredmor is pretty new. Also apparently, the segfault issues people have been running into were not present in 1.0.6, and it's understandable that some Linux testing might have slipped under the radar for a point release like 1.0.7. The main segfault problem that most people are seeing also doesn't affect everyone - for instance, the only thing I needed to do on my machine was apply the case-sensitivity patch and everything was fine. So it's entirely possible that their Linux testing environment just happened to be closer to mine than it is to the other users'.

    Anyway, Nicholas seems quite responsive to the Linux community, some issues have been fixed, and patches are already available manually, and should be available in an official release soon.
     
  5. truekaiser

    truekaiser Member

    sorry just going on the information i have at hand. case sensitive issues and dropping libs for the game in without support for what the game needs. in this case compiling or acquiring the sdl-mixer lib without support of mikmod and vorbis support when the game needs both 'scream' of someone very unfamiliar with the environment and expecting it to be as fault/mistake tolerant as windows. which is both a good and a bad thing, basically he should at least test it on at least one, maybe two versions of linux first. he can just use virtalbox to make a vm of linux just for that.