SiegeLord / DAllegro5

D binding to the Allegro5 game development library
Other
42 stars 15 forks source link

al_create_display crash on 5.1 branch #20

Closed rcorre closed 9 years ago

rcorre commented 9 years ago

example.d crashes on al_create_display on the 5.1 branch.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7b3bb7f in al_create_display () from /usr/lib/liballegro.so.5.1
(gdb) bt
#0  0x00007ffff7b3bb7f in al_create_display () from /usr/lib/liballegro.so.5.1
#1  0x000000000042ea54 in a5test.main(char[][]).__lambda2() ()
#2  0x0000000000434638 in allegro5.system.al_run_allegro(scope int() delegate).main_runner(int, char**) ()
#3  0x000000000043461d in allegro5.system.al_run_allegro(scope int() delegate) ()
#4  0x000000000042ea25 in D main ()

The C demos included with allegro 5.1 all run fine for me, so I don't think its an issue with allegro itself. I can try to compile allegro5.1 in debug mode if that would help get more information on where in al_create_display its crashing.

Platform is Archlinux x86_64, using allegro master branch.

rcorre commented 9 years ago

it seems to make it through al_init and loading the config file fine. removing the call to al_create_display causes it to fail on al_create_event_queue, which crashes on _al_register_destructor.

SiegeLord commented 9 years ago

The 5.1 of DAllegro branch only supports the 5.1.8 release of A5, not the master branch. It's a bit surprising that al_init goes through, as that should have been detected at that point.

rcorre commented 9 years ago

Yeah I just noticed that in the README, you can close this if you like.

SiegeLord commented 9 years ago

Yeah, despite A5 master not moving super fast, I just don't have a good machinery to verify that the binding matches it, so there isn't a branch of DAllegro5 that tracks the master. I'm working on Allegro proper to make another unstable release, so hopefully soon this will be resolved that way.