The Dink Network

Fedora 19 freedink segfaults on load

GNU FreeDink

November 21st 2013, 04:08 PM
anon.gif
VeryLostDink
Ghost They/Them
 
Greetings.

Fedora 19 freedink segfaults on load.
Anyone have an idea? I know, I know.

The installed packages are:

freedink-1.08.20121209-2.fc19.x86_64
freedink-engine-1.08.20121209-2.fc19.x86_64
freedink-data-1.08.20121209-2.fc19.noarch
freedink-dfarc-3.10-3.fc19.x86_64

Game starts and plays fine, it's only upon trying to load a savegame that it segfaults. Which it just slightly too hardcore for me. Doesn't matter if it's launched via dfarc or directly, if 1.07 compat is enabled or not, full screen vs windowed, loaded at the beginning or after playing a while, et cetera.

I enabled --debug, but that was pointless, it was only warnings about missing sounds, until the segfault.

The system is T7700 dual core, 3.11.8 x86_64, 4G RAM, has swap (noticed that people had previously complained about segfaults on low-resource machines with no swap partition/file, I have swap however. And 4G RAM.)

I may try compiling freedink myself, or I may try running 108.exe under wine, but it's more likely I'll get busy doing something else and forget about dink entirely. Short attention span.

Thanks!
November 21st 2013, 08:07 PM
peasantm.gif
shevek
Peasant They/Them Netherlands
Never be afraid to ask, but don't demand an answer 
That shouldn't happen. But you knew that.

Beuc tried to fix all segfaults and other "real" bugs (as opposed to bugs which some dmods abuse as features), and has been very successful. So running dink.exe in wine will likely make it crash sooner.

The first thing I would look at, is if you can run the 32 bit version. If that works, please let us know so we can figure out what the problem is.

No matter what, I would very much appreciate a stack backtrace. For this to be useful, you do need to recompile it with debugging symbols enabled; I hope that isn't too hard. If you have it compiled, use:

gdb path/to/freedink &> path/to/log
run -w
// make it segfault; then
bt full
c
quit


(Ok, for some reason it's impossible to write & followed by > here. The ; that's after it mustn't be there.)

You shouldn't see any feedback in the terminal (except the text you're typing yourself). When you're done, path/to/log is the file I want to see. My e-mail is wijnen@debian.org

I'm not sure how bug reporting works in Fedora (as I'm sure you guessed I'm using Debian); they probably want to see it as well.

Thanks for reporting!
December 17th 2013, 03:18 AM
anon.gif
dinkfan
Ghost They/Them
 
Same problem with segfault here. When trying to load a saved game, the program crashes. This happens under raspbian and slackware14.0.
December 17th 2013, 03:44 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
I managed to get Freedink compiled with the -g flag on Raspbian to test this out, as it's sort of worrying that they've got a segfaulting game on their recommended games list.

However, it seems the newest source release tar (Dec of last year) fixes this bug. The version in the repo is the earlier April release meaning it's a bit old. If the package maintainer were to update it, the ability to load saved games might be restored.

The newer version is apparently in Debian Experimental but installing that package on my Pi caused an instant segfault upon load. Not sure about Slackware sorry, but you can always try compiling from source if you're game.
December 20th 2013, 04:18 AM
anon.gif
dinkfan
Ghost They/Them
 
Thank you for your suggestions. Unfortunately, on Raspian compiling failed (some SDL Problem), and under Slackware, Dink was self-compiled (but possibly I got an older version, before Dec2012).
On Raspian i will wait, until the package is updated, and on Slackware i will wait for the next rainy, long evening...
December 20th 2013, 05:28 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
If it was missing SDL.h you can either add the library path to the end of 'make' (I think), or otherwise you can copy the necessary h files into the "src" path where you are compiling which is what I did (I assumed this problem was only for me). I think they are in /usr/local/include/SDL, but if they're not you can just use "find" to get at them.
January 2nd 2014, 05:16 PM
farmer.gif
Beuc
Peasant He/Him France
 
I posted an answer at http://www.dinknetwork.com/forum.cgi?MID=182805 - let's continue the conversation there.
January 13th 2014, 12:34 PM
farmer.gif
beuc
Peasant He/Him France
 
Hi,

I got another report of an issue on Raspbian:
http://lists.gnu.org/archive/html/bug-freedink/2014-01/msg00000.html

@yeoldetoast: I pointed the person to this post

I wonder if Raspbian can be emulated, so I could try and see where SDL's install went wrong on Rasbian, exactly.
January 13th 2014, 10:16 PM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
There's a guide on getting QEMU to work with Raspbian on Ubuntu which may be useful.
May 24th 2014, 04:55 AM
farmer.gif
Beuc
Peasant He/Him France
 
OK, so I have the same problem.
Somehow something gets corrupted in the memory, but that doesn't occur if I recompile without optimization.

I'll try to locate the error, but it that proves too obscure, I'll provide a no-optimization package that actually works
May 24th 2014, 09:41 AM
farmer.gif
beuc
Peasant He/Him France
 
I recompiled the latest FreeDink with less optimizations on Rasperry Pi
http://www.beuc.net/tmp/freedink-engine_1.08.20121232-1_armhf.deb

Download it and install with
sudo dpkg -i freedink-engine_1.08.20121232-1_armhf.deb


Let me know if this fixes your problem - it did for me.

(I also posted a bug at Raspbian to know what they think of this.)
August 1st 2014, 11:18 PM
peasantmb.gif
yEoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
I finally gave this a try as I decided to buy a new B+ for some reason. This package works perfectly with saving and loading. I haven't tested it comprehensively though.