hi there!
if i compile the darkplaces engine, included in the nexuiz 2.0 zip file, with gcc, version 4.1, on the amd64 architecture, the nexuiz binary throws an error when clicking on a button in the main menu which is displayed right after startup.
if one of the menu buttons is clicked i get the following output in the text console and something like a "fallback" menu appears in the nexuiz window, asking if the user wants to quit the engine or open the in-game console.
[...]
^7Client using port 0
^7Client opened a socket on address local:2
^7Client opened a socket on address 0.0.0.0:33550
^7Menu_Error: stack overflow
^7QuakeC crash report for menu:
^7s3965: ^6FIELD_S self (=entity 279), link, GLOBAL2109
^7s3966: ^6FIELD_ENT self (=entity 279), _link, GLOBAL1503
^7s3967: ^6FIELD_S GLOBAL1503, name, GLOBAL1503
^7s3968: ^2NE_S GLOBAL2109, GLOBAL1503, GLOBAL2109
^7s3969: ^5IFNOT GLOBAL2109, s3974
^7s3970: ^1ADDRESS self (=entity 279), _link, GLOBAL2109
^7s3971: ^6FIELD_S self (=entity 279), link, GLOBAL4
^7s3972: ^3CALL1 Menu_GetItem (=Menu_GetItem())
^7 : Item_DataLink_Update : statement 13
^7 : Item_DataLink_Update : statement 13
^7 : Item_DataLink_TextSwitch_DataEvent : statement 0
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_DataLink_TextSwitch_DataEvent : statement 30
^7 : Raise_DataEvent : statement 7
^7 : Item_ValueButton_Update : statement 3
^7 : Raise_Update : statement 6
^7 : _Menu_ProcessUpdate : statement 18
^7 : _Menu_ProcessUpdate : statement 34
^7 : _Menu_ProcessUpdate : statement 34
^7 : _Menu_ProcessUpdate : statement 34
^7 : _Menu_ProcessUpdate : statement 34
^7 : _Menu_ProcessUpdate : statement 34
^7 : _Menu_ProcessUpdate : statement 34
^7 : _Menu_ProcessUpdate : statement 34
^7 : Menu_Process : statement 12
^7 : Menu_Frame : statement 40
^7 : m_frame : statement 5
^7 : m_draw : statement 17
^7Falling back to normal menu
^7OpenGL Backend shutting down
if i don't click a menu button, but enter a map by the in-game console, the engine seems to work fine. i can play as usual and i didn't discover any other strange behaviour of the engine.
this issue only applies to gcc 4.1 on amd64. i tested gcc 4.1 on the i386 architecture and the resulting binary didn't show this behaviour. as there's the chance, this isn't a bug in the darkplaces code, but in gcc 4.1 i hope, someone might have a clue :)
@LordHavoc: i think you told me on irc, that you're using suse linux, which uses gcc 4.0 on amd64. is it possible for you to install gcc 4.1 on your setup, compile nexuiz, using gcc 4.0 and do some testing? perhaps the broken binaries just result from one or more patches which are applied to gcc 4.1 in debian unstable.
cheers - fuddl