Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 140460 - e-uae-0.8.28-r1 segfaults just before gui appears.
Summary: e-uae-0.8.28-r1 segfaults just before gui appears.
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Peter Volkov (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-07-15 03:22 UTC by Peter Volkov (RETIRED)
Modified: 2013-12-08 16:46 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Volkov (RETIRED) gentoo-dev 2006-07-15 03:22:22 UTC
This is summarization the bug that was reported in bug 140022.

Report was that e-uae-0.8.28-r1 segfaults on me before the GUI even appears.

Facts we have now:

1. The console output was:
E-UAE 0.8.28
Build date: Jul  6 2006 17:05:15
UAE is not running as root, DGA extension disabled.
X11GFX: Initialized.
Found 1 joystick(s)
X11GFX: Raw key-mapping disabled.
Opening cfgfile '/home/enverex/.uaerc'...okay.
Testing the RDTSC instruction ... done.
TSC frequency: 2011.000000 MHz
Testing system sleep function...........
Average duration of a 1ms sleep: 2 ms
Found 1 joystick(s)
X11GFX: Raw key-mapping disabled.
Segmentation fault

This output clearly states that e-uae was build with x11-gfx module.

2. ~/.uaerc options:
bsdsocket_emu=false
scsi=false
didn't help. 

3. 0.8.27 version doesn't build.

In file included from ../../src/keymap/keymap_all.h:10,
                 from rawkeys.c:18:
../../src/keymap/x11pc_rawkeys.h:11: error: array type has incomplete element
type
In file included from ../../src/keymap/keymap_all.h:11,
                 from rawkeys.c:18:
../../src/keymap/quartz_rawkeys.h:10: error: array type has incomplete element
type
In file included from ../../src/keymap/keymap_all.h:12,
                 from rawkeys.c:18:
../../src/keymap/beos_rawkeys.h:10: error: array type has incomplete element
type
make[3]: *** [rawkeys.o] Error 1
make[3]: Leaving directory
`/var/tmp/portage/e-uae-0.8.27/work/e-uae-0.8.27/src/gfx-sdl'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/var/tmp/portage/e-uae-0.8.27/work/e-uae-0.8.27/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/var/tmp/portage/e-uae-0.8.27/work/e-uae-0.8.27/src'
make: *** [all-recursive] Error 1


4. This link: http://www.gentoo.org/proj/en/qa/backtraces.xml was given to help to gather backtrace. Below is conversation on subject:

Comment #10 From Ben Hodgetts 2006-07-14 15:00 PST

hmm, I can't run dgb without being root and when I try and run e-uae as root I
get:

E-UAE 0.8.28
Build date: Jul 14 2006 22:53:20
The program 'UAE' received an X Window System error.
This probably reflects a bug in the program.
The error was 'XF86DGANoDirectVideoMode'.
  (Details: serial 11 error_code 158 request_code 137 minor_code 1)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)


Comment #11 From Volkov Peter 2006-07-14 23:02 PST

(In reply to comment #10)
> I can't run dgb without being root

Why? Try to run from the root:
 # gdb e-uae
 {skip}
(gdb) run --sync

BTW. Try to build e-uea with sdl library:
env USE="-X sdl" emerge -a e-uae

Comment #12 From Ben Hodgetts 2006-07-15 02:13 PST

It is already build with SDL support and doing what
you said doesn't work as I already pointed out WHY I can't run it as root (it
errors out before reaching the point where it segfaults but you ommited quoting
that from your post).

Answer on this Comment will be added below.

And this is emerge --info:

Removing LDFLAGS had no effect incase you thought it was those.

Portage 2.1.1_pre2-r8 (default-linux/amd64/2006.0, gcc-4.1.1/amd64-vanilla,
glibc-2.4-r3, 2.6.17-gentoo-r1 x86_64)
=================================================================
                       System Settings
=================================================================
System uname: 2.6.17-gentoo-r1 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor
3800+
Gentoo Base System version 1.12.1
ccache version 2.4 [enabled]
app-admin/eselect-compiler: 2.0.0_rc2-r1
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r2
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.17
sys-devel/gcc-config: 2.0.0_rc1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.16
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe -msse3 -ftracer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/eselect/compiler
/etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-march=athlon64 -O2 -pipe -msse3 -ftracer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox
sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_GB.UTF-8"
LC_ALL="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common"
LINGUAS="en_GB"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 16bit 3ds 64bit 7zip X a52 aac acpi aim alsa amr apm asf audacious
audiofile automount avahi avi bash-completion berkdb bitmap-fonts bluetooth
bonjour bzip2 cairo cdda cddb cdinstall cdio cdparanoia cdr cdrom chipcard
chipcard2 cjk cli crypt cups dbus dga dlloader dri dts dvd dvdr dvdread eds
emboss emul-linux-x86 encode evo exif fat ffmpeg fftw firefox flac foomatic
foomaticdb fortran gadu gif gimp gimpprint glitz gnome gphoto2 gpm gstreamer
gtk gtk2 hal hfs howl-compat icq ieee1394 imlib ipv6 isdnlog jabber java
javascript jfs jikes joystick jpeg jpeg2k kdeenablefinal kqemu lcms
libsamplerate lzo lzw lzw-tiff mad matroska meanwhile mikmod mjpeg mmap mng
modplug mono mp3 mp4 mpeg mplayer msn musepack musicbrainz ncurses nfs nls nptl
nptlonly nsplugin ntfs nvidia nvtv ogg openexr opengl pam pcre pdf pdflib perl
png ppds pppd python quicktime rar readline reflection reiser4 reiserfs rle rtc
samba scanner sdl session sid silc smartcard smp sndfile speex spell spl ssl
svg swat szip tcpd tga theora threads tiff truetype truetype-fonts type1-fonts
udev unicode upnp ups usb userlocales v4l v4l2 vcd vfat vorbis wma wmf x264
xanim xfs xft xine xorg xpm xv xvid xvmc yahoo yv12 zeroconf zip zlib
elibc_glibc input_devices_keyboard input_devices_mouse input_devices_joystick
input_devices_aiptek kernel_linux linguas_en_GB userland_GNU
video_cards_nvidia"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_RSYNC_EXTRA_OPTS


Ben: Did I missed anythig here. Can you help to resolve this bug? (Last comment was really rousing :-) but in reallity I can nothing to do without _your work_. :( )
Comment 1 Peter Volkov (RETIRED) gentoo-dev 2006-07-15 03:29:10 UTC
Now reply on you last comment

(In reply to comment #12 bug 140022)
> It is already build with SDL support

Well. You have sdl in your use flags, but this does not mean that you have gfx-sdl built. To build it just do what I said :) (note USE="-X"). And, please, take a look at build output ;) (Note: just to make things a bit more clear. You can build e-uae with X11, sdl or ncurses as video output. You can build only one of them. So I just followed upstream decisions and thus if you have X, sdl and ncurses in USE you'll get only X11, if you do not have X but have sdl and ncurses you'll get sdl. To build with ncurses you should disable X and sdl. Just take a look at ebuild. I hope this logic should become clear from reading it. Also, as I told, please, look at the output of build process! At least on lines with stars!)

> doing what you said doesn't work as I already pointed out WHY 
> I can't run it as root (but you ommited quoting that from your post).

You did not understood my question: I do not understand still why (So Why? in comment #11 bug 140022) you can not run gdb as ordinary user... What is the problem? I understood your problem with running e-uae as the root.

Next. I still hope that you managed to get backtrace. But if not, what can be done here:

1. Try to build e-uae with EXTRA_CONF="--enable-bsdsock-new" as I told you in comment #4 bug 140022.
2. Try to emerge without X11-gfx command
env USE="-X sdl" emerge -a e-uae
Does this works?
3. Try to build without gui. USE="-gtk"

Well. I know it's your time, but I cann't do anything right now. Sorry.
Comment 2 Benjamin Hodgetts 2006-07-15 03:34:56 UTC
My bad, for some reason I think that users "PATH" was missing a few locations so gdb didn't show up. GDB says this now when e-uae segfaults.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1082132816 (LWP 5038)]
0x00000038e7b7bf17 in gtk_table_attach () from /usr/lib/libgtk-x11-2.0.so.0

I'll try it with the different flags and such that you mentioned now.
Comment 3 Benjamin Hodgetts 2006-07-15 03:48:57 UTC
With -X I got the same error. With -gtk it works but obviously then complains about not being able to open the GUI (but it doesn't segfault) so going by this and the backtrace it's GTK that's broken. I'll recompile that just-incase.
Comment 4 Peter Volkov (RETIRED) gentoo-dev 2006-07-15 03:58:26 UTC
(In reply to comment #2)
> GDB says this now when e-uae segfaults.
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 1082132816 (LWP 5038)]
> 0x00000038e7b7bf17 in gtk_table_attach () from /usr/lib/libgtk-x11-2.0.so.0

Great! And IIUC after above message you'll return to gdb session. Something like:
(gdb)

Try press input
(gdb) bt <ENTER>

and 

(gdb) thread apply all bt <ENTER>

And post output here. BTW. What gtk+/glib versions do you have?
Comment 5 Peter Volkov (RETIRED) gentoo-dev 2006-07-15 04:08:50 UTC
And forgot to mention (but backtrace guide may be mention this as well). Keep sources while debugging (emerge with FEATURE="noclean". fex, env FEATURE="noclean" emerge -a e-uae). This should show the exact postion in sources where crash occured.
Comment 6 Benjamin Hodgetts 2006-07-15 04:42:36 UTC
Thread 2 (Thread 1082132816 (LWP 6686)):
#0  0x00000038e7b7bf17 in gtk_table_attach () from /usr/lib/libgtk-x11-2.0.so.0
#1  0x000000000046f483 in ?? ()
#2  0x00000000004701a8 in ?? ()
#3  0x00000038e6d2a374 in g_type_create_instance () from /usr/lib/libgobject-2.0.so.0
#4  0x00000038e6d1189d in g_object_set () from /usr/lib/libgobject-2.0.so.0
#5  0x00000038e6d0ff30 in g_object_newv () from /usr/lib/libgobject-2.0.so.0
#6  0x00000038e6d108ac in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0
#7  0x00000038e6d10ae1 in g_object_new () from /usr/lib/libgobject-2.0.so.0
#8  0x000000000046ff64 in ?? ()
#9  0x000000000046ac6b in ?? ()
#10 0x000000000046e6cd in ?? ()
#11 0x00000038e6b2702b in g_source_get_current_time () from /usr/lib/libglib-2.0.so.0
#12 0x00000038e6b26999 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#13 0x00000038e6b29b05 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#14 0x00000038e6b29e06 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#15 0x00000038e7b1e5f2 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#16 0x000000000046ef70 in ?? ()
#17 0x00000038e550641a in start_thread () from /lib/libpthread.so.0
#18 0x00000038e45bc0ce in clone () from /lib/libc.so.6
#19 0x0000000000000000 in ?? ()

Thread 1 (Thread 47267056474560 (LWP 6683)):
#0  0x00000038e550b13d in sem_wait () from /lib/libpthread.so.0
#1  0x000000000046c965 in ?? ()
#2  0x000000000046d088 in ?? ()
#3  0x0000000000409855 in ?? ()
#4  0x000000000046d184 in ?? ()


[ebuild   R   ] x11-libs/gtk+-2.8.19  USE="X jpeg tiff -debug -doc -xinerama" 0 kB
[ebuild   R   ] dev-libs/glib-2.10.3  USE="-debug -doc -hardened" 0 kB
Comment 7 Peter Volkov (RETIRED) gentoo-dev 2006-07-17 04:18:42 UTC
Ben: I've added e-uae-0.8.28-r2.ebuild in the tree. It contains some small fix that should solve your problem. Please, try it and report. Thank you.
Comment 8 Benjamin Hodgetts 2006-07-17 06:06:20 UTC
I'm afraid I can't test it as I finally snapped because of people on the forum and IRC and changed to Ubuntu.
Comment 9 Peter Volkov (RETIRED) gentoo-dev 2006-07-17 07:49:07 UTC
(In reply to comment #8)
> I'm afraid I can't test it as I finally snapped because of people on the forum
> and IRC and changed to Ubuntu.

I'm sorry to hear that. I do not have time to read forum so I do not know what is going on there. Well. I hope one day you give another gentoo another try. Anyway again, Thank you for report. :)

I'm closing bug, if one day you'll manage to reproduce, reopen ;)
Comment 10 Andreas Thalhammer 2013-12-08 16:46:45 UTC
Hello!
I tried e-uae-0.8.28-r3 and it segfaults at exactly the same position as described in commment #1.

TRYING GDB AS REGULAR USER:
me@localhost ~ $ gdb e-uae
GNU gdb (Gentoo 7.5.1 p2) 7.5.1
Copyright (C) 2012 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-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/bin/e-uae...(no debugging symbols found)...done.
(gdb) start
Function "main" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Temporary breakpoint 1 (main) pending.
Starting program: /usr/bin/e-uae 
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff286d700 (LWP 22702)]
E-UAE 0.8.28
Build date: Dec  4 2013 22:47:01
UAE is not running as root, DGA extension disabled.
X11GFX: Initialized.
Found 1 joystick(s)
X11GFX: Raw key-mapping disabled.
Opening cfgfile '/home/andreas/.uaerc'...okay.
Testing the RDTSC instruction ... done.
TSC frequency: 3200,000000 MHz
Testing system sleep function..................
Average duration of a 1ms sleep: 1 ms
[New Thread 0x7ffff0eac700 (LWP 22703)]                                                                                                                                                 
[Thread 0x7ffff0eac700 (LWP 22703) exited]                                                                                                                                              
Found 1 joystick(s)                                                                                                                                                                     
X11GFX: Raw key-mapping disabled.                                                                                                                                                       
[New Thread 0x7ffff0eac700 (LWP 22706)]                                                                                                                                                 
                                                                                                                                                                                        
Program received signal SIGSEGV, Segmentation fault.                                                                                                                                    
[Switching to Thread 0x7ffff286d700 (LWP 22702)]                                                                                                                                        
0x00007ffff7072335 in g_type_is_a () from /usr/lib64/libgobject-2.0.so.0                                                                                                                
(gdb)


REQUEST:
I also tried fs-uae from bug #403913 which works fine. Also I found that e-uae didn't get updated since 2009 whereas fs-uae seems to be actively developed still.


Is there anything I could do to help?
In the meantime I would request to add fs-uae to the tree as an alternative to uae and to e-uae.