Subject: bug#32458: Acknowledgement (SDL SEGFAULTs on foreign distro)

From: Tim Gesthuizen <[email-masked]>
Date: Wed, 22 Aug 2018 21:18:46 +0200

On 20.08.2018 22:59, Marius Bakke wrote:
> Hello again,
> 
> Just a quick feedback on the bisect script:
> 
> Tim Gesthuizen <[email-masked]> writes:
> 
>> #!/bin/sh
>>
>> cd $HOME/src/guix/build
>> (cd ..; ./bootstrap) || exit 125
>> (../configure --localstatedir=/var && make -j8) || exit 125
>> PATH=$(./pre-inst-env guix build teeworlds | grep  /gnu/store | tail -n 1) || exit 125
>> $PATH/bin/teeworlds || exit 1
> 
> I suggest not running "./bootstrap" and "./configure" in between runs.
> "make" will invoke ./configure (with current parameters) if necessary.
> 
> Then it can be reduced to a two-liner:
> 
> 
> 
> 
> Again, nice work; I look forward to fix this bug :-)
> 

I have changed the bisect script.
You find the new one attached. I have never worked with autoconf so I
just wanted to be sure that everything would configure correctly and not
cause problems.

> I think the reason
> you had to skip these commits were because of ABI issues in the git
> checkout (incompatible Guile objects).

Well, I also somewhat forgot that I fixed teeworlds not a long time ago
(see commit e402a66b07c12aadf5eed1472110684831f1f498)... so any
compilations of teeworlds before were doomed to fail.
This is not as bad as it sounds because remembering this gave me a
commit that I could definitely verify as good.
With this new starting point I started bisecting again from that commit
marked as the first good one to the current commit on master marked as
the first bad one.
This bisect passed without a single skip. It reports that the bug was
first introduced by 5318b103ff277efbac248a066d162589a9083baa (which is
the first commit after a larger merge).

I also noticed something odd: After I realized that using teeworlds for
verifying SDL could not have been a very wise decision I wrote a little
guile script using guile-sdl2 (sdl.scm).
I tried to bisect using this script for SDL verification and found out
that I could not find any commits where SDL2 worked for me.
Even in commits where teeworlds builds and runs without a problem SDL2
will always crash.
Also there are some revisions where teeworlds starts with bad resolution
(the window begins on my second monitor and ends somewhere on my first
monitor). But that is probably not of interest now.

I hope these informations help. If I forgot something in the rush of
writing this mail feel free to ask for it.