broken binary on amd64 when compiling with gcc 4.1

If you've had any problems with Nexuiz, or would like to report bugs, post here.

Moderators: Nexuiz Moderators, Moderators


  • 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
    Fuddl
    Member
     
    Posts: 36
    Joined: Sat May 06, 2006 8:59 pm
    Location: Germany, Mfr


  • Fuddl wrote: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.


    Probably a gcc bug, but I will look into it on Monday on Fedora Core 5.
    1. Open Notepad
    2. Paste: ÿþMSMSMS
    3. Save
    4. Open the file in Notepad again

    You can vary the number of "MS", so you can clearly see it's MS which is causing it.
    User avatar
    divVerent
    Site admin and keyboard killer
     
    Posts: 3809
    Joined: Thu Mar 02, 2006 4:46 pm
    Location: BRLOGENSHFEGLE

Sun Sep 03, 2006 8:24 pm

  • Hi
    I have the same problem, it only occurs when building on x86-64, with gcc 4.1.
    This doesn't happens with gcc 3.3.3, 3.3.5, 3.4.3, 3.4.6, or 4.0, only with gcc 4.1 on x86-64, and the included x86-64 binary in nexuiz's package works just fine.
    From what i can see, the icons are hardcoded into the binary, perhaps this is the problem?
    What about creating a pk3 with icons/whatever.png inside, and put it in the data folder, wouldn't this work, since the data required is inside? Q3 structure pk3's have an icons/ directory (i did some q3, rtcw, et maps in the past, was thinking of doing a map for nexuiz ;))
    Anyone has a solution for this problem?
    About my error log, exactly the same as the parent poster's log.

    P.S.: distro is t2, scratch built, nvidia drivers, etc... problem is either on nexuiz or gcc 4.1 (i forgot, also happens with gcc 4.1.1, on all my other machines works great).
    hal9k
    Newbie
     
    Posts: 1
    Joined: Sun Sep 03, 2006 8:14 pm

Sun Sep 03, 2006 10:44 pm

  • Yes, sorry there is a solution, the development version has already been 'fixed' by changing some cc options..

    Change the line in makefile.inc
    from
    Code: Select all
    OPTIM_RELEASE=-O2 -fno-strict-aliasing -ffast-math -funroll-loops $(CPUOPTIMIZATIONS)

    to:
    Code: Select all
    OPTIM_RELEASE=-O2 -fno-strict-aliasing $(CPUOPTIMIZATIONS)


    But what icons do you mean? As far i as remember only come PATHS to icons are hardcoded in the engine.. and some predefined crosshairs :)
    User avatar
    esteel
    Site admin and forum addon
     
    Posts: 3924
    Joined: Wed Mar 01, 2006 8:27 am

Mon Sep 04, 2006 9:51 am

  • cool, that workaround/fix came just in time - today i recieved a bug report, that nexuiz should compile with sid's default gcc, 4.1 ;)
    Fuddl
    Member
     
    Posts: 36
    Joined: Sat May 06, 2006 8:59 pm
    Location: Germany, Mfr

Mon Sep 04, 2006 10:20 am

Mon Sep 04, 2006 10:24 am

  • OMG, that's horrible!!!! :)
    Fuddl
    Member
     
    Posts: 36
    Joined: Sat May 06, 2006 8:59 pm
    Location: Germany, Mfr

Mon Sep 04, 2006 7:55 pm

  • Fuddl wrote:OMG, that's horrible!!!! :)

    Yeah, i'm pretty sure someone will post an ebuild with those options reenabled... :mrgreen:
    User avatar
    KadaverJack
    Site admin and forum addon
     
    Posts: 1102
    Joined: Tue Feb 28, 2006 9:42 pm



Return to Nexuiz - Support / Bugs




Information
  • Who is online
  • Users browsing this forum: No registered users and 1 guest