Allegro.cc - Online Community

Allegro.cc Forums » Allegro Development » Strange error on Allegro upgrade

Credits go to Elias for helping out!
This thread is locked; no one can reply to it. rss feed Print
 1   2 
Strange error on Allegro upgrade
Elias
Member #358
May 2000

9 threads? I find that is too much as well. Either your gdb just is broken, or something is completely wrong.

Try running the test program of allegro, and see if everything in it works, and if it also crashes on exit. Really can't think of anything else to try. If all the function in the test program work, but it crashes on exit, i'd say something is wrong with the way atexit() is used. (But I suspect, some of the tests will fail because the vtable is messed up and there is a version conflict after all.)

--
"Either help out or stop whining" - Evert

Fabiano Lopes
Member #3,024
December 2002
avatar

The same error occurred with:

1C:\Dev-Cpp\allegro\tests\win>gdb dxwindow.exe
2GNU gdb 5.2.1
3Copyright 2002 Free Software Foundation, Inc.
4GDB is free software, covered by the GNU General Public License, and you are
5welcome to change it and/or distribute copies of it under certain conditions.
6Type "show copying" to see the conditions.
7There is absolutely no warranty for GDB. Type "show warranty" for details.
8This GDB was configured as "i686-pc-mingw32"...(no debugging symbols found)...
9(gdb) r
10Starting program: C:\Dev-Cpp\allegro\tests\win/dxwindow.exe
11 
12Program received signal SIGSEGV, Segmentation fault.
130x67fece63 in clear_bitmap ()
14(gdb) bt
15#0 0x67fece63 in clear_bitmap ()
16(gdb) info threads
17 8 thread 1984.0x708 0x7c90eb94 in _libwinmm_a_iname ()
18 7 thread 1984.0x438 0x7c90eb94 in _libwinmm_a_iname ()
19 4 thread 1984.0x1d8 0x7c90eb94 in _libwinmm_a_iname ()
20 2 thread 1984.0x2a0 0x7c90eb94 in _libwinmm_a_iname ()
21* 1 thread 1984.0x6e4 0x67fece63 in clear_bitmap ()
22(gdb)

Seriously, what could be wrong on compiling process? I downloaded the latest Allegro package (4.1.6 WIP), the latest MinGW (3.4.2 Candidate) in a new folder, then I compiled it and I'm getting this annoyance.

Elias
Member #358
May 2000

Well, you still didn't answer, is this specific to certain programs, or does it generally happen in every allegro program? I.e. they all work fine, but on exit, it crashes. Or do some crash earlier? Some not crash at all?

And compile the debug version of allegro, and also use debugging flags when you compile.. maybe that makes the gdb output more useful.

[Edit:] I don't think it has anything to do with compiling, unless it really is that modification you made to the makefile. Anyway, if you can, just try finding out whatever information you can (the two things I said above are just suggestions, don't really know if they will bring any useful info). But since this seems to be such a general bug (all apps crash) it somehow must be something special either with how you compiled allegro, or with your system, since it works for everybody else.

--
"Either help out or stop whining" - Evert

Evert
Member #794
November 2000
avatar

Quote:

The same error occurred with:

Also with tests/test.exe?

Did you try the debug version of Allegro? Run make clean and make DEBUGMODE=2 from the Allegro directory to rebuild with debugging symbols in place. This should make it easier to debug.

Quote:

I downloaded the latest Allegro package (4.1.6 WIP)

4.1.16.

Fabiano Lopes
Member #3,024
December 2002
avatar

:D This isn't fair... :D
It does NOT crash running the DEBUGMODE=2... ???

EDIT: It seems -mtune=i686 causes the problem. I tried -mtune=i586 (as replacement for -mpentium and it worked fine).

Elias
Member #358
May 2000

Hm, might investigate this in any case. Does it also crash with "march=athlon", or whatever is the Duron specific one?

I somehow believe this may be related to why /G7 doesn't seem to work with MSVC.

--
"Either help out or stop whining" - Evert

Fabiano Lopes
Member #3,024
December 2002
avatar

Well... no problems if "-mtune=athlon" is used. I switched back to "-mtune=i686" and the bug was back in action (select Quit -> crash). This is something that could be investigated & fixed.

ReyBrujo
Moderator
January 2001
avatar

Hmm... maybe you can output the assembler code with and without the switch, though I am not sure if the switch is for compiling or linking optimization.

--
RB
光子「あたしただ…奪う側に回ろうと思っただけよ」
Mitsuko's last words, Battle Royale

Fabiano Lopes
Member #3,024
December 2002
avatar

"-mtune=<cpu>" is used during the compiling.
Well, I'm unable to do such thing, it's out of my average ;) Anyway, here's the bug with "i686" option.

 1   2 


Go to: