[Bug 3329] ioquake smashs the stack

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Fri Oct 5 00:07:36 EDT 2007


http://bugzilla.icculus.org/show_bug.cgi?id=3329





------- Comment #13 from agathos at fobos.org  2007-10-05 00:07 EDT -------
OK, what I've done insted of modify that file is change my gcc profile from

x86_64-pc-linux-gnu-3.4.6 to x86_64-pc-linux-gnu-3.4.6-hardenednopie

to compile quake3, so no pie code is generated, I've also modified the gentoo
ebuild to solve the library problems and adding a debug flag to allow to
compile with make debug method and copying the right executables.

So I have now a quake3 compiled without pie but smash stack protecction and now
I can play a demo for example but when trying to play a single or multiplayer
game the game crash with an error of this style

********************
ERROR: VM_CompileX86: mprotect failed
********************
----- Server Shutdown (Server crashed: VM_CompileX86: mprotect failed) -----

that I think means the same is a memory protection failure.

I've tried to debug putting a break and now symbols are available but this is
the result:

(gdb) break R_AddMD3Surfaces
Breakpoint 1 at 0x50b0e5: file code/renderer/tr_mesh.c, line 288.
(gdb) run +set in_mouse 0 +set r_fullscreen 0
Starting program: /usr/games/bin/ioquake3 +set in_mouse 0 +set r_fullscreen 0
Warning:
Cannot insert breakpoint 1.
Error accessing memory address 0x50b0e5: Input/output error.
Cannot insert breakpoint -3.
Temporarily disabling shared library breakpoints:
breakpoint #-3


Another run without putting the break:
...
Sys_Error: recursive error after: VM_CompileX86: mprotect failed
ioquake3: code/sys/sys_main.c:172: Sys_Exit: Assertion `ex == 0' failed.

Program received signal SIGABRT, Aborted.
0x00003590cd75afb9 in ?? ()
(gdb) bt
#0  0x00003590cd75afb9 in ?? ()
#1  0x00003590cd75c48e in ?? ()
#2  0x0000000000000020 in ?? ()
#3  0x0000000000000000 in ?? ()
(gdb) info locals
No symbol table info available.


-- 
Configure bugmail: http://bugzilla.icculus.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.



More information about the quake3-bugzilla mailing list