Error running GZDOOM on Gentoo

Bugs that have been resolved.

Moderator: Graf Zahl

Locked
vanfanel
Posts: 35
Joined: Mon Mar 12, 2012 19:31

Error running GZDOOM on Gentoo

Post by vanfanel »

Hello there


I'm new to the forum.
I'm in a quest to find a suitable Doom sourceport, and I believe GZdoom does what I need.
However, after struggling for compilation of the latest svn (amd64 system here), all I get is a very un-informative error and exit.
So I compiled a debug version and ran it with GDB. I'm posting the log, including the backtrace output.

Starting program: /home/manuel/gzdoom/trunk/debug/gzdoom
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffec5f3700 (LWP 11598)]
[New Thread 0x7fffebbef700 (LWP 11599)]
[New Thread 0x7fffeb3ee700 (LWP 11600)]

Program received signal SIGSEGV, Segmentation fault.
0x00007fffef5d08b0 in ?? () from /usr/lib64/libnvidia-glcore.so.290.10
#0 0x00007fffef5d08b0 in ?? () from /usr/lib64/libnvidia-glcore.so.290.10
#1 0x00007fffef5c9abe in ?? () from /usr/lib64/libnvidia-glcore.so.290.10
#2 0x00007fffef75f62e in ?? () from /usr/lib64/libnvidia-glcore.so.290.10
#3 0x00007fffef5d20b4 in ?? () from /usr/lib64/libnvidia-glcore.so.290.10
#4 0x00007fffef75dcee in ?? () from /usr/lib64/libnvidia-glcore.so.290.10
#5 0x00007fffef767883 in ?? () from /usr/lib64/libnvidia-glcore.so.290.10
#6 0x00007fffef3f1594 in ?? () from /usr/lib64/libnvidia-glcore.so.290.10
#7 0x00007fffef3f1a48 in ?? () from /usr/lib64/libnvidia-glcore.so.290.10
#8 0x00007fffef3f1c88 in ?? () from /usr/lib64/libnvidia-glcore.so.290.10
#9 0x00007fffef76b400 in ?? () from /usr/lib64/libnvidia-glcore.so.290.10
#10 0x00007fffef595b32 in ?? () from /usr/lib64/libnvidia-glcore.so.290.10
#11 0x00007fffef5771c0 in ?? () from /usr/lib64/libnvidia-glcore.so.290.10
#12 0x00007ffff47dba70 in ?? () from /usr/lib64/opengl/nvidia/lib/libGL.so.1
#13 0x00007ffff47dbbc0 in ?? () from /usr/lib64/opengl/nvidia/lib/libGL.so.1
#14 0x00007ffff47e3110 in ?? () from /usr/lib64/opengl/nvidia/lib/libGL.so.1
#15 0x00007ffff4f3c856 in ?? () from /usr/lib64/libSDL-1.2.so.0
#16 0x00007ffff4f3c919 in ?? () from /usr/lib64/libSDL-1.2.so.0
#17 0x00007ffff4f41fa0 in ?? () from /usr/lib64/libSDL-1.2.so.0
#18 0x00007ffff4f4213e in ?? () from /usr/lib64/libSDL-1.2.so.0
#19 0x00007ffff4f32f9f in SDL_SetVideoMode () from /usr/lib64/libSDL-1.2.so.0
#20 0x0000000000596205 in SDLGLFB::SDLGLFB (this=0xe5bca0, width=640, height=480,
fullscreen=false) at /home/manuel/gzdoom/trunk/src/sdl/sdlglvideo.cpp:313
#21 0x0000000000844d66 in OpenGLFrameBuffer::OpenGLFrameBuffer (this=0xe5bca0,
hMonitor=0x0, width=640, height=480, bits=32, refreshHz=60, fullscreen=false)
at /home/manuel/gzdoom/trunk/src/gl/system/gl_framebuffer.cpp:82
#22 0x0000000000595ee8 in SDLGLVideo::CreateFrameBuffer (this=0xf13970, width=640,
height=480, fullscreen=false, old=0x0)
at /home/manuel/gzdoom/trunk/src/sdl/sdlglvideo.cpp:203
#23 0x00000000005906b4 in I_SetMode (width=@0x7fffffffd10c, height=@0x7fffffffd108,
old=0x0) at /home/manuel/gzdoom/trunk/src/sdl/hardware.cpp:157
#24 0x0000000000749dd4 in V_DoModeSetup (width=640, height=480, bits=24)
at /home/manuel/gzdoom/trunk/src/v_video.cpp:1308
#25 0x00000000005960f9 in SDLGLVideo::SetResolution (this=0xf13970, width=640,
height=480, bits=8) at /home/manuel/gzdoom/trunk/src/sdl/sdlglvideo.cpp:275
#26 0x000000000074a788 in V_Init2 () at /home/manuel/gzdoom/trunk/src/v_video.cpp:1571
#27 0x00000000005d2c97 in D_DoomMain () at /home/manuel/gzdoom/trunk/src/d_main.cpp:2330
#28 0x00000000005939e8 in main (argc=1, argv=0x7fffffffe3e8)
at /home/manuel/gzdoom/trunk/src/sdl/i_main.cpp:364
Undefined command: "exit". Try "help".
A debugging session is active.

Inferior 1 [process 11595] will be killed.

Quit anyway? (y or n)



And this is what the executable says:
GZDoom v1.5.6 - SVN revision 0 - SDL version
Compiled on Mar 12 2012
Using video driver x11

M_LoadDefaults: Load system defaults.
Gameinfo scan took 0 ms
W_Init: Init WADfiles.
adding /home/manuel/gzdoom/trunk/debug/gzdoom.pk3, 572 lumps
adding ./doom.wad, 2306 lumps
I_Init: Setting up machine state.
CPU Vendor ID: GenuineIntel
Name: Intel(R) Core(TM)2 Duo CPU P7350 @ 2.00GHz
Family 6, Model 23, Stepping 10
Features: MMX SSE SSE2 SSE3 SSSE3 SSE4.1
I_InitSound: Initializing FMOD
FMOD Sound System, copyright © Firelight Technologies Pty, Ltd., 1994-2009.
Loaded FMOD version 4.26.36
HOSS could not be initialized. Trying ALSA.
V_Init: allocate screen.
S_Init: Setting up sound.
ST_Init: Init startup screen.
Checking cmd-line parameters...
G_ParseMapInfo: Load map definitions.
S_InitData: Load sound definitions.
Texman.Init: Init texture manager.
ParseTeamInfo: Load team definitions.
LoadActors: Load actor definitions.
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
M_Init: Init menus.
P_Init: Init Playloop state.
ParseSBarInfo: Loading default status bar definition.
ParseSBarInfo: Loading custom status bar definition.
D_CheckNetGame: Checking network game status.
player 1 of 1 (1 nodes)


*** Fatal Error ***
Address not mapped to object (signal 11)
Address: 0x420

Generating zdoom-crash.log and killing process 11647, please wait... Killed
manuel@macmini ~/gzdoom/trunk/debug $ Warning: Unable to load any usable ISO8859 font

Any ideas? GZDoom is my last hope for propper Doomin' on Gentoo :roll:
User avatar
Gez
Developer
Developer
Posts: 1399
Joined: Mon Oct 22, 2007 16:47

Re: Error running GZDOOM on Gentoo

Post by Gez »

Unfortunately, the segmentation fault happens in your Nvidia drivers... The last instruction in GZDoom's own code is this:

Code: Select all

SDL_SetVideoMode (width, height, vid_displaybits,
		SDL_HWSURFACE|SDL_HWPALETTE|SDL_OPENGL|
		SDL_GL_DOUBLEBUFFER|SDL_ANYFORMAT|
		(fullscreen ? SDL_FULLSCREEN : 0));
Then the stack trace goes through four SDL function calls and fifteen function calls in Nvidia's proprietary libraries.

The only thing I can suggest is try to check if there aren't updated versions of the Nvidia drivers/libraries, as they might have fixed the bug since.
vanfanel
Posts: 35
Joined: Mon Mar 12, 2012 19:31

Re: Error running GZDOOM on Gentoo

Post by vanfanel »

Fixed: it runs fine now.
What did I do? Setting my timezone, according to the Gentoo manual (I hadn't done before).

Now, the problem seems to be that the game runs at different framerates every time I run it: it runs at 30 fps and next time it's 60 fps, but it's back to 30 on te next run, and so on :(
I'll have to dig int the sources for this: I just want vsynced, uncapped framerate.

regards
vanfanel
Posts: 35
Joined: Mon Mar 12, 2012 19:31

Re: Error running GZDOOM on Gentoo

Post by vanfanel »

All refresh variables seem to be set at 60 when starting the game (refreshz): so,why does it behave differently each time I run it?

I have an Intel 965 and an Nvidia system and it's the same for both systems.


Is there any place in the video code where system ticks are used to set fps or something like that?
User avatar
Gez
Developer
Developer
Posts: 1399
Joined: Mon Oct 22, 2007 16:47

Re: Error running GZDOOM on Gentoo

Post by Gez »

What you can do is use cl_capfps to get a constant 35 FPS. Otherwise the engine tries to get as many FPS as possible, even if it goes much higher than the video hardware refresh rate. On very simple maps you can get FPS in the hundreds, or even thousands.

Synchronizing to the refresh rate is not possible in Linux; it has not been implemented.
vanfanel
Posts: 35
Joined: Mon Mar 12, 2012 19:31

Re: Error running GZDOOM on Gentoo

Post by vanfanel »

I have tried with SDL_GL_SetAttribute (SDL_GL_SWAP_CONTROL,1) and it does vsync well, but I still get a different framerate everytime I run the game :(

Yes, I could use capped fps, but I'd like to get stable 60Fps instead of 35 ;)
Locked

Return to “Closed Bugs”