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

broken binary on amd64 when compiling with gcc 4.1

Postby Fuddl » Fri Jun 23, 2006 8:50 pm

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

Re: broken binary on amd64 when compiling with gcc 4.1

Postby divVerent » Sat Jun 24, 2006 11:37 am

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.
divVerent
Site admin and keyboard killer
 
Posts: 3809
Joined: Thu Mar 02, 2006 4:46 pm
Location: BRLOGENSHFEGLE

Postby hal9k » 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

Postby esteel » 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 :)
esteel
Site admin and forum addon
 
Posts: 3924
Joined: Wed Mar 01, 2006 8:27 am

Postby Fuddl » 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

Postby esteel » Mon Sep 04, 2006 10:20 am

In case anyone is interested LordHavoc mentioned this change affects his FPS by 0.3%...
esteel
Site admin and forum addon
 
Posts: 3924
Joined: Wed Mar 01, 2006 8:27 am

Postby Fuddl » 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

Postby KadaverJack » 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:
KadaverJack
Site admin and forum addon
 
Posts: 1102
Joined: Tue Feb 28, 2006 9:42 pm


Return to Nexuiz - Support / Bugs

Who is online

Users browsing this forum: No registered users and 1 guest

cron