x64sc coredumps when using -config or -addconfig
Versatile Commodore Emulator
Brought to you by:
blackystardust,
gpz
Hello,
if I start x64sc this way as a normal user:
x64sc -logfile vice_.log -logtofile -config ~/.config/vice/real_1541_test
then I get:
Reading configuration file `/home/andreas/.config/vice/vicerc'.
free(): invalid size
Abbruch (core dumped)
The log options are likely irrelevant, I just kept them there to not change anything. I can attach the core dump file. It is made on opensuse tumbleweed. Note that this core dump does not occur if I start x64sc with kdbg as prefix and it doesn't occur if I start it as root. So there may be some permission issues involved.
Command output when extracting dump
Core dump (bz2)
Did you try with a recent build?
also, would you post that config file?
Also note that as far as I can see the contents of the config file to load are not relevant.
I updated the vice package before retrying today:
The contents of the config file are:
Last edit: Andreas Schallenberg 5 days ago
I can reproduce the crash ONLY when giving all three options. Omiting one of them - regardless which one - makes the emu start up correctly.
Now this is very odd, wth
I just tried to start it seven times with the three arguments. five times it failes, two times it started.
Developments build can be found here btw (i have no idea what this 3.10-1.17 is supposed to be - does it show the svn revision in "about"?)
https://github.com/VICE-Team/svn-mirror/releases
Shortened to
x64sc -config ~/.config/vice/real_1541_test
Gives seven out of seven successful starts. Now that is strange....
In gdb it works more often for me than without. Strange indeed
Maybe address space randomization makes it either crash or not? For me on NetBSD I have tried it a bunch of time and Vice started up correctly every time.
But I did get the impression that the actual contents of the file name after
-configwere not even read. I even specified some file that wasn't a config file at all, and Vice still started up and had the settings from my defaultvicerc.Maybe running it with valgrind could give a hint.
-config is a bit special, there are extra hacks so it can even work at early startup (which is a mess...). So maybe the order of these options matter?
Thats the "about" dialogue
The package info mentions a build time "Fr 26 Dez 2025 16:09:44 CET", so it is at least 7 months old.
That is just the regular 3.10 release then, no idea why they added -1.17 to the package
(Doesn't matter in this case, since the same problem still exists in trunk)
should be fixed, please try r46177
I managed to build the revision but I had to configure it this way:
LIBS="-lGLX" ./configure
Otherwise the compilation breaks with:
/usr/bin/ld.bfd: ../src/arch/gtk3/libarch.a(opengl_renderer_unix.o): undefined reference to symbol 'glXQueryVersion'
ChatGPT advised this change because apparently autoconf created linkflags which are unsuitable for openSuse Tumbleweed.
I now have to make x64sc find ROMs and then can hopefully test and report back.
Had to extend the command line to:
x64sc -directory /usr/share/vice/ -logfile vice_.log -logtofile -config ~/.config/vice/real_1541_test
But still it sometimes crashes and sometimes starts up.
did you do "sudo make install"?
Silly me. No I didn't, but I crucially forgot to call "src/x64sc" instead of "x64sc".
Tried six times, doesn't crash.
Next I'll see if the config actually loads.
Loading the config doesn't work unfortunately.
Side note: An alternative way to make it work on my machine is:
On environments which don't have GLX this should be disabled (mac?).