Emulationstation crash on startup - segfault (PC - Lubuntu)
-
Hi everyone.
I've got a problem I just can't seem to solve.
I'm using a PC with Lubuntu 20.04. The machine is a Compaq R4100 with 2G of ram, a SSD with 15G free on the partition and I have an Athlon64 3200+ CPU. The graphics card is a Radeon Xpress 200M
I've played many games on this machine before. In fact, this machine has worked flawlessly with retropie for the last 6 months. This is an old machine but it just works.
Last week, I wanted to play some games but emulationstation just kept crashing on startup. I've done many tests but couldn't find the problem so I decided to reinstall everything. I downloaded Lubuntu 20.04 and installed it, then I downloaded retropie (4.7.4) and compiled it. Other than Retropie, the system is a fresh install with the latest updates.
Still, I have the same behavior. Emulationstation doesn't log anything. I think it crashes before it can actually log.
I tried to "strace" emulationstation and see where it crashes but I can't tell why.
I have included the strace log.
I wonder if some kind of kernel update in linux or an updated module could have done something. Like I said, it was working fine and all of a sudden, it just crashes.
[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 38486 rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, {sa_handler=0x5610353c0480, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, 8) = 0 ioctl(2, TIOCGWINSZ, {ws_row=26, ws_col=77, ws_xpixel=0, ws_ypixel=0}) = 0 ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0 stat("/home/stouki/.terminfo", 0x561037115fb0) = -1 ENOENT (No such file or directory) stat("/etc/terminfo", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/lib/terminfo", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/usr/share/terminfo", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 access("/etc/terminfo/x/xterm-256color", R_OK) = -1 ENOENT (No such file or directory) access("/lib/terminfo/x/xterm-256color", R_OK) = 0 openat(AT_FDCWD, "/lib/terminfo/x/xterm-256color", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=3503, ...}) = 0 read(3, "\36\2%\0&\0\17\0\235\1\356\5xterm-256color|xterm"..., 32768) = 3503 read(3, "", 28672) = 0 close(3) = 0 ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(1, TIOCGWINSZ, {ws_row=26, ws_col=77, ws_xpixel=0, ws_ypixel=0}) = 0 ioctl(0, TIOCGWINSZ, {ws_row=26, ws_col=77, ws_xpixel=0, ws_ypixel=0}) = 0 brk(0x561037143000) = 0x561037143000 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=38486, si_uid=1000, si_status=0, si_utime=0, si_stime=0} --- wait4(-1, 0x7ffecd6e56d0, WNOHANG, NULL) = -1 ECHILD (No child processes) rt_sigreturn({mask=[]}) = 0 read(255, "tput civis\n\"/opt/retropie/supple"..., 1068) = 525 stat(".", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 stat("/usr/local/sbin/tput", 0x7ffecd6e5b10) = -1 ENOENT (No such file or directory) stat("/usr/local/bin/tput", 0x7ffecd6e5b10) = -1 ENOENT (No such file or directory) stat("/usr/sbin/tput", 0x7ffecd6e5b10) = -1 ENOENT (No such file or directory) stat("/usr/bin/tput", {st_mode=S_IFREG|0755, st_size=26968, ...}) = 0 stat("/usr/bin/tput", {st_mode=S_IFREG|0755, st_size=26968, ...}) = 0 geteuid() = 1000 getegid() = 1001 getuid() = 1000 getgid() = 1001 access("/usr/bin/tput", X_OK) = 0 stat("/usr/bin/tput", {st_mode=S_IFREG|0755, st_size=26968, ...}) = 0 geteuid() = 1000 getegid() = 1001 getuid() = 1000 getgid() = 1001 access("/usr/bin/tput", R_OK) = 0 stat("/usr/bin/tput", {st_mode=S_IFREG|0755, st_size=26968, ...}) = 0 stat("/usr/bin/tput", {st_mode=S_IFREG|0755, st_size=26968, ...}) = 0 geteuid() = 1000 getegid() = 1001 getuid() = 1000 getgid() = 1001 access("/usr/bin/tput", X_OK) = 0 stat("/usr/bin/tput", {st_mode=S_IFREG|0755, st_size=26968, ...}) = 0 geteuid() = 1000 getegid() = 1001 getuid() = 1000 getgid() = 1001 access("/usr/bin/tput", R_OK) = 0 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0 lseek(255, -514, SEEK_CUR) = 554 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f1bbc545a10) = 38487 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {sa_handler=0x5610353c0480, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, 8) = 0 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 38487 rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, {sa_handler=0x5610353c0480, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, 8) = 0 ioctl(2, TIOCGWINSZ, {ws_row=26, ws_col=77, ws_xpixel=0, ws_ypixel=0}) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=38487, si_uid=1000, si_status=0, si_utime=0, si_stime=0} --- wait4(-1, 0x7ffecd6e56d0, WNOHANG, NULL) = -1 ECHILD (No child processes) rt_sigreturn({mask=[]}) = 0 read(255, "\"/opt/retropie/supplementary/emu"..., 1068) = 514 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0 lseek(255, -442, SEEK_CUR) = 626 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f1bbc545a10) = 38488 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {sa_handler=0x5610353c0480, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, 8) = 0 wait4(-1, Segmentation fault (core dumped) [{WIFEXITED(s) && WEXITSTATUS(s) == 139}], 0, NULL) = 38488 rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, {sa_handler=0x5610353c0480, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, 8) = 0 ioctl(2, TIOCGWINSZ, {ws_row=26, ws_col=77, ws_xpixel=0, ws_ypixel=0}) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=38488, si_uid=1000, si_status=139, si_utime=0, si_stime=0} --- wait4(-1, 0x7ffecd6e56d0, WNOHANG, NULL) = -1 ECHILD (No child processes) rt_sigreturn({mask=[]}) = 0 read(255, "if [[ $? -eq 139 ]]; then\n di"..., 1068) = 442 stat(".", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 stat("/usr/local/sbin/dialog", 0x7ffecd6e59e0) = -1 ENOENT (No such file or directory) stat("/usr/local/bin/dialog", 0x7ffecd6e59e0) = -1 ENOENT (No such file or directory) stat("/usr/sbin/dialog", 0x7ffecd6e59e0) = -1 ENOENT (No such file or directory) stat("/usr/bin/dialog", {st_mode=S_IFREG|0755, st_size=251768, ...}) = 0 stat("/usr/bin/dialog", {st_mode=S_IFREG|0755, st_size=251768, ...}) = 0 geteuid() = 1000 getegid() = 1001 getuid() = 1000 getgid() = 1001 access("/usr/bin/dialog", X_OK) = 0 stat("/usr/bin/dialog", {st_mode=S_IFREG|0755, st_size=251768, ...}) = 0 geteuid() = 1000 getegid() = 1001 getuid() = 1000 getgid() = 1001 access("/usr/bin/dialog", R_OK) = 0 stat("/usr/bin/dialog", {st_mode=S_IFREG|0755, st_size=251768, ...}) = 0 stat("/usr/bin/dialog", {st_mode=S_IFREG|0755, st_size=251768, ...}) = 0 geteuid() = 1000 getegid() = 1001 getuid() = 1000 getgid() = 1001 access("/usr/bin/dialog", X_OK) = 0 stat("/usr/bin/dialog", {st_mode=S_IFREG|0755, st_size=251768, ...}) = 0 geteuid() = 1000 getegid() = 1001 getuid() = 1000 getgid() = 1001 access("/usr/bin/dialog", R_OK) = 0 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0 lseek(255, -11, SEEK_CUR) = 1057 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f1bbc545a10) = 38501 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {sa_handler=0x5610353c0480, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, 8) = 0 ┌──────────────────────────────────────────────────────────┐ │ Emulation Station crashed! │ │ │ │ If this is your first boot of RetroPie - make sure you │ │ are using the correct image for your system. │ │ │ │ Check your rom file/folder permissions and if running on │ │ a Raspberry Pi, make sure your gpu_split is set high │ │ enough and/or switch back to using carbon theme. │ │ │ │ For more help please use the RetroPie forum. │ │ │ │ │ │ │ │ │ │ │ │ │ ├──────────────────────────────────────────────────────────┤ │ < OK > │ └──────────────────────────────────────────────────────────┘ [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 38501 rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, {sa_handler=0x5610353c0480, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, 8) = 0 ioctl(2, TIOCGWINSZ, {ws_row=26, ws_col=77, ws_xpixel=0, ws_ypixel=0}) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=38501, si_uid=1000, si_status=0, si_utime=0, si_stime=1} --- wait4(-1, 0x7ffecd6e55d0, WNOHANG, NULL) = -1 ECHILD (No child processes) rt_sigreturn({mask=[]}) = 0 read(255, "tput cnorm\n", 1068) = 11 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f1bbc545a10) = 38502 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {sa_handler=0x5610353c0480, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, 8) = 0 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 38502 rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, {sa_handler=0x5610353c0480, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f1bbc58e210}, 8) = 0 ioctl(2, TIOCGWINSZ, {ws_row=26, ws_col=77, ws_xpixel=0, ws_ypixel=0}) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=38502, si_uid=1000, si_status=0, si_utime=0, si_stime=0} --- wait4(-1, 0x7ffecd6e56d0, WNOHANG, NULL) = -1 ECHILD (No child processes) rt_sigreturn({mask=[]}) = 0 read(255, "", 1068) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 exit_group(0) = ? +++ exited with 0 +++
-
@carotman said in Emulationstation crash on startup - segfault (PC - Lubuntu):
I'm using a PC with Lubuntu 20.04. The machine is a Compaq R4100 with 2G of ram, a SSD with 15G free on the partition and I have an Athlon64 3200+ CPU. The graphics card is a Radeon Xpress 200M
Did you install any proprietary drivers for your GPU ?
Can you try and install theemulationstation-dev
package (from the experimental section) and see if EmulationStation starts ? -
I might try the dev packages, this is a good idea! I haven't installed any proprietary drivers.
However, I kind of got an idea of what could be the problem
I reinstalled (again) Lubuntu 20.04 from the installation media. This time, I didn't install the updades and didn't do any distribution upgrade prior to installing Retropie. The only thing I did was to install the B43 firmware for my WiFi adapter.
Once I compiled the packages, I was able to run emulationstation without problems at all. Everything works like it did before. The only thing it wasn't able to install was the libgbm-dev package. I don't know where it's needed but I'll look into it.
So, I guess that the distribution updates break something. A module? a kernel patch?
I will update the modules one at a time and see where it breaks.
-
@carotman said in Emulationstation crash on startup - segfault (PC - Lubuntu):
So, I guess that the distribution updates break something. A module? a kernel patch?
Without a log from EmulationStation, it's difficult to pin-point the issue. Try starting it with the
--debug
parameter from the command line and see if something is reported.emulationstation --debug
-
Nothing is reported with the --debug option. The log is still empty.
I managed to install packages one by one and I started emulationstation each time between the installation to see where it breaks.
emulationstation crashes after I install this package and it's dependencies (one new and 4 upgrades)
libegl-mesa0
(Install)
libllvm11
(Upgrade)
libglapi-mesa
libgbm1
libgl1-mesa-dri
libglx-mesa0So, what's in those packages? Is there something to configure after I upgrade these?
This is where I am now.
-
@carotman I don't think there would be something to configure after the upgrades. Can you run
glxinfo
and post the output on pastebin.com ? -
Well well, look at that.
glxinfo core dumps
You can view the output on pastebin here:
-
@carotman said in Emulationstation crash on startup - segfault (PC - Lubuntu):
glxinfo core dumps
That's not a good sign. Looks like the updates have some unintended side-effects.
-
Yup.
I reinstalled again and did not upgrade anything. Retropie works fine but now every game I play has laggy/choppy sound. Everything was soooo smooth before :(
I might try to downgrade to Lubuntu 18.04 and see if that helps.
-
Well, It turns out that my sound problem was probably due to the display refresh rate not being on sync.
After many reinstalls (both OS and Retropie) I was able to make sense of all this and I now can enjoy Retropie again on my old laptop with Lubuntu 20.04.
Thank you mitu for your time, this is really appreciated.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.