Summary: | pingus segfaults on amd64 at startup | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jay Knight <jhknight> |
Component: | [OLD] Games | Assignee: | AMD64 Project <amd64> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | CC: | bug.hunter, games, infested, openhs, pacho, will.briggs |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Jay Knight
2005-03-15 21:20:00 UTC
Please let me know if this is still a problem under Gentoo 2005.0 It still segfaults for me under Gentoo 2005.0 on version 0.6.0-r1 but I'm not sure how to display all of that fancy backtrace info. I can give you my emerge info, though. It throws out a billion XMLHelper errors and then explodes saying: exit(EXIT_FAILURE); Segmentation fault Portage 2.0.51.19 (default-linux/amd64/2005.0, gcc-3.4.3, glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r5 x86_64) ================================================================= System uname: 2.6.11-gentoo-r5 x86_64 AMD Athlon(tm) 64 Processor 3200+ Gentoo Base System version 1.6.10 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 17 2005, 13:16:43)] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CFLAGS="-march=athlon64 -O3 -pipe -funroll-loops -fomit-frame-pointer -fforce-addr -fprefetch-loop-arrays" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon64 -O3 -pipe -funroll-loops -fomit-frame-pointer -fforce-addr -fprefetch-loop-arrays" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks fixpackages sandbox" GENTOO_MIRRORS="http://gentoo.ccccom.com http://mirror.usu.edu/mirrors/gentoo/ ftp://gentoo.ccccom.com http://gentoo.llarian.net/ http://gentoo.chem.wisc.edu/gentoo/" LANG="en_US.UTF-8" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X acl acpi alsa apm avi bitmap-fonts bmp canna cddb cdparanoia cdr cjk crypt cups curl dvd dvdread encode font-server fortran gcj gif gtk gtk2 imagemagick imlib java jp2 jpeg lcms live lzw lzw-tiff mad mp3 mpeg ncurses nls nodroproot nptl oggvorbis opengl pam pcre perl pic png pnp python readline rtc samba sdl ssl tcpd tiff truetype truetype-fonts type1-fonts usb userlocales xml xml2 xpm xrandr xv xvid zlib" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS Same problem here. emerge --info Gentoo Base System version 1.4.16 Portage 2.0.51.19 (default-linux/amd64/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r1, 2.6.11.7 x86_64) ================================================================= System uname: 2.6.11.7 x86_64 AMD Athlon(tm) 64 Processor 3200+ Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 21 2005, 22:32:03)] ccache version 2.3 [enabled] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r7 sys-devel/libtool: 1.5.14 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CFLAGS="-march=athlon64 -O2 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon64 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox" GENTOO_MIRRORS="http://gentoo.inode.at" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 16bit X a52 aac acpi4linux alsa asm audiofile avi bash-completion blender-game bzip2 ccache cdda cdparanoia codecs cscope css cups dpms dv dvd dvdr dvdread emacs emul-linux encode fame ffmpeg freetype ftp gimp gimpprint glut gnome gpm gstreamer gtk gtk2 java jpeg lm_sensors mikmod mmap mp3 mpeg mpeg4 mplayer multilib ncurses nls nptl nptlonly oggvorbis opengl pam pdflib png rtc sdl tcpd truetype truetype-fonts userlocales utf8 xvid" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY I can confirm it segfaults here is my gdb output Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 46912510348704 (LWP 23730)] 0x0000003a4c872ae3 in memcpy () from /lib/tls/libc.so.6 Same here Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 30255)] 0x00002aaaac143593 in memcpy () from /lib/libc.so.6 emerge --info follows Portage 2.0.51.22-r2 (default-linux/amd64/2005.0, gcc-3.4.3, glibc-2.3.5-r0, 2.6.12-gentoo-r6 x86_64) ================================================================= System uname: 2.6.12-gentoo-r6 x86_64 AMD Athlon(tm) 64 Processor 3200+ Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.10 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=athlon64 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon64 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aac alsa amarok amd64 avi berkdb bitmap-fonts cdb cdr crypt cups curl doc dvd dvdr encode fam foomaticdb fortran gif gphoto2 gpm gstreamer gtk gtk2 imagemagick imlib ipv6 java jpeg junit kde lm_sensors lzw lzw-tiff mad mp3 mpeg msn ncurses nls nocd nvidia opengl pam pdflib perl png python qt quicktime readline real sdl spell ssl tcltk tcpd tiff truetype truetype-fonts type1-fonts usb userlocales v4l vcd xine xml2 xmms xpm xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS I have the same problem: http://bugs.gentoo.org/show_bug.cgi?id=99942 *** Bug 99942 has been marked as a duplicate of this bug. *** It seems that pingus only crash if you are using gcc 3.4. I have tried to compile pingus without gcc34 patch (bug 63773) but it doesn It seems that pingus only crash if you are using gcc 3.4. I have tried to compile pingus without gcc34 patch (bug 63773) but it doesn´t compile :( Any ideas? Thanks and sorry my poor english About patches applied to pingus 0.6 sources. There are two patches: pingus-0.6.0-gcc3.patch and pingus-0.6.0-gcc34.patch. Their content is the following. ________ pingus-0.6.0-gcc3.patch ________ Pingus uses assert() but never includes assert.h, boo ! http://bugs.gentoo.org/show_bug.cgi?id=28281 --- pingus-0.6.0/src/blitter.cxx +++ pingus-0.6.0/src/blitter.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <config.h> #include <stdio.h> #include "pingus_error.hxx" --- pingus-0.6.0/src/col_map.cxx +++ pingus-0.6.0/src/col_map.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <iostream> #include <ClanLib/Display/SurfaceProviders/canvas.h> #include "gui/graphic_context.hxx" --- pingus-0.6.0/src/console.cxx +++ pingus-0.6.0/src/console.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <config.h> #include <ClanLib/Display/Display/display.h> #include <ClanLib/Display/Font/font.h> --- pingus-0.6.0/src/demo_recorder.cxx +++ pingus-0.6.0/src/demo_recorder.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <time.h> #include <iostream> #include "system.hxx" --- pingus-0.6.0/src/editor/generic_property_frame.cxx +++ pingus-0.6.0/src/editor/generic_property_frame.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <iostream> #include <ClanLib/GUI/label.h> #include <ClanLib/GUI/inputbox.h> --- pingus-0.6.0/src/gui/root_gui_manager.cxx +++ pingus-0.6.0/src/gui/root_gui_manager.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include "root_gui_manager.hxx" #include "../input/controller.hxx" --- pingus-0.6.0/src/pingu_holder.cxx +++ pingus-0.6.0/src/pingu_holder.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <iostream> #include "pingu_holder.hxx" #include "pingu.hxx" --- pingus-0.6.0/src/savegame_manager.cxx +++ pingus-0.6.0/src/savegame_manager.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <iostream> #include <fstream> #include "system.hxx" --- pingus-0.6.0/src/worldmap/dot.cxx +++ pingus-0.6.0/src/worldmap/dot.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <iostream> #include "../xml_file_reader.hxx" #include "dot.hxx" --- pingus-0.6.0/src/worldmap/graph.hxx +++ pingus-0.6.0/src/worldmap/graph.hxx @@ -20,6 +20,8 @@ #ifndef HEADER_GRAPH_HXX #define HEADER_GRAPH_HXX +#include <assert.h> #include <algorithm> #include <vector> +#include <iostream> ______________________________________________________________________ pingus-0.6.0-gcc34.patch ___________ Make sure we type the cast properly. http://bugs.gentoo.org/show_bug.cgi?id=63773 --- src/story_screen.cxx +++ src/story_screen.cxx @@ -142,7 +142,7 @@ if (!page_displayed_completly) { - unsigned int len = static_cast<unsigned int>(20.0f * time_passed); + size_t len = static_cast<size_t>(20.0f * time_passed); display_text = current_page.text.substr(0, Math::min(current_page.text.length(), len)); if (current_page.text.length() < len) ______________ I have simplified pingus-0.6.0-gcc3.patch: ______ pingus-0.6.0-gcc3.patch ______ Pingus uses assert() but never includes assert.h, boo ! http://bugs.gentoo.org/show_bug.cgi?id=28281 --- pingus-0.6.0/src/worldmap/graph.hxx +++ pingus-0.6.0/src/worldmap/graph.hxx @@ -20,6 +20,8 @@ +#include <assert.h> #include <algorithm> #include <vector> +#include <iostream> _______________ Whith the gcc34 patch and the simplified gcc3 patch, pingus compiles succesfully but it still crashing with the same error :(. I think that the problem would be the grah.hxx patch (in gcc3 patch), but, if I don About patches applied to pingus 0.6 sources. There are two patches: pingus-0.6.0-gcc3.patch and pingus-0.6.0-gcc34.patch. Their content is the following. ________ pingus-0.6.0-gcc3.patch ________ Pingus uses assert() but never includes assert.h, boo ! http://bugs.gentoo.org/show_bug.cgi?id=28281 --- pingus-0.6.0/src/blitter.cxx +++ pingus-0.6.0/src/blitter.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <config.h> #include <stdio.h> #include "pingus_error.hxx" --- pingus-0.6.0/src/col_map.cxx +++ pingus-0.6.0/src/col_map.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <iostream> #include <ClanLib/Display/SurfaceProviders/canvas.h> #include "gui/graphic_context.hxx" --- pingus-0.6.0/src/console.cxx +++ pingus-0.6.0/src/console.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <config.h> #include <ClanLib/Display/Display/display.h> #include <ClanLib/Display/Font/font.h> --- pingus-0.6.0/src/demo_recorder.cxx +++ pingus-0.6.0/src/demo_recorder.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <time.h> #include <iostream> #include "system.hxx" --- pingus-0.6.0/src/editor/generic_property_frame.cxx +++ pingus-0.6.0/src/editor/generic_property_frame.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <iostream> #include <ClanLib/GUI/label.h> #include <ClanLib/GUI/inputbox.h> --- pingus-0.6.0/src/gui/root_gui_manager.cxx +++ pingus-0.6.0/src/gui/root_gui_manager.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include "root_gui_manager.hxx" #include "../input/controller.hxx" --- pingus-0.6.0/src/pingu_holder.cxx +++ pingus-0.6.0/src/pingu_holder.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <iostream> #include "pingu_holder.hxx" #include "pingu.hxx" --- pingus-0.6.0/src/savegame_manager.cxx +++ pingus-0.6.0/src/savegame_manager.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <iostream> #include <fstream> #include "system.hxx" --- pingus-0.6.0/src/worldmap/dot.cxx +++ pingus-0.6.0/src/worldmap/dot.cxx @@ -17,6 +17,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#include <assert.h> #include <iostream> #include "../xml_file_reader.hxx" #include "dot.hxx" --- pingus-0.6.0/src/worldmap/graph.hxx +++ pingus-0.6.0/src/worldmap/graph.hxx @@ -20,6 +20,8 @@ #ifndef HEADER_GRAPH_HXX #define HEADER_GRAPH_HXX +#include <assert.h> #include <algorithm> #include <vector> +#include <iostream> ______________________________________________________________________ pingus-0.6.0-gcc34.patch ___________ Make sure we type the cast properly. http://bugs.gentoo.org/show_bug.cgi?id=63773 --- src/story_screen.cxx +++ src/story_screen.cxx @@ -142,7 +142,7 @@ if (!page_displayed_completly) { - unsigned int len = static_cast<unsigned int>(20.0f * time_passed); + size_t len = static_cast<size_t>(20.0f * time_passed); display_text = current_page.text.substr(0, Math::min(current_page.text.length(), len)); if (current_page.text.length() < len) ______________ I have simplified pingus-0.6.0-gcc3.patch: ______ pingus-0.6.0-gcc3.patch ______ Pingus uses assert() but never includes assert.h, boo ! http://bugs.gentoo.org/show_bug.cgi?id=28281 --- pingus-0.6.0/src/worldmap/graph.hxx +++ pingus-0.6.0/src/worldmap/graph.hxx @@ -20,6 +20,8 @@ +#include <assert.h> #include <algorithm> #include <vector> +#include <iostream> _______________ Whith the gcc34 patch and the simplified gcc3 patch, pingus compiles succesfully but it still crashing with the same error :(. I think that the problem would be the grah.hxx patch (in gcc3 patch), but, if I don´t apply this patch, pingus doesn't compile :( I will try to use a debian patch for pingus I have compiled the pingus tarball from debian (http://packages.debian.org/unstable/games/pingus) with the debian patch and the gcc34 patch from gentoo and it fails with the same error (?). Does it need another patch for solve the problem or the gentoo gcc34 patch is breaking pingus? ____ I think that pingus should be marked as testing until the bug is fixed, but it is only an opinion... Is there anybody that runs pingus on amd64 succesfully? (In reply to comment #11) > I think that pingus should be marked as testing until the bug is fixed, but it > is only an opinion... i completely removed the keyword for now I have tried to compile using pingus suse src rpms with its patches and I have the same problem. I think that is a problem with gcc 3.4 if it's a problem with gcc-3.4, it's better assigned to the maintainers It works fine for me on x86 with gcc34 so I'd like someone with an amd64 to try out and commit the patches. oh well, back to amd64 then :/ This seems to be an upstream issue, it's crashing for me too. On what machine are you trying to run it? Thanks The problem with this is not pingus I think...rather it is clanlib. Look at the similarity in the bactrace here to comment #16 of bug #64522. My guess is that this is a sometimes-present 64bit issue in the earlier versions of clanlib. The new clanlib has removed the SubBlitter_Transparent and several other functions in the similar section of the API (which unfortunately breaks compatibility for both clanbomber and pingus...). Okay, at this point then closing this as UPSTREAM and I've filed a bug with the pingus devs http://savannah.nongnu.org/bugs/index.php?func=detailitem&item_id=16289 although I'm not holding out a lot of hope for a quick solution (upstream looks inactive). |