Segmentation fault when trying to run openarena with 337.12 but not with 334.21

When I try to play openarena it segfaults when is trying to load renderer_opengl1_x86_64.so …
Here’s backtrace:

(gdb) bt
#0 0x00007f27cc60e2a2 in ?? () from /usr/lib64/libGL.so.1
#1 0x00007f27cc60eab4 in ?? () from /usr/lib64/libGL.so.1
#2 0x00007f27cc617e43 in ?? () from /usr/lib64/libGL.so.1
#3 0x00007f27cc5ef477 in ?? () from /usr/lib64/libGL.so.1
#4 0x00007f27ddf2eb2d in call_init (l=0x3d5db80, argc=argc@entry=15, argv=argv@entry=0x7fff48c1b688, env=env@entry=0x7fff48c1b708) at dl-init.c:64
#5 0x00007f27ddf2ec4b in call_init (env=0x7fff48c1b708, argv=0x7fff48c1b688, argc=15, l=) at dl-init.c:36
#6 _dl_init (main_map=main_map@entry=0x3d5d6b0, argc=15, argv=0x7fff48c1b688, env=0x7fff48c1b708) at dl-init.c:126
#7 0x00007f27ddf32dd1 in dl_open_worker (a=a@entry=0x7fff48c14998) at dl-open.c:566
#8 0x00007f27ddf2ea00 in _dl_catch_error (objname=objname@entry=0x7fff48c14988, errstring=errstring@entry=0x7fff48c14990, mallocedp=mallocedp@entry=0x7fff48c14987, operate=operate@entry=0x7f27ddf32ae0 <dl_open_worker>, args=args@entry=0x7fff48c14998) at dl-error.c:187
#9 0x00007f27ddf325a9 in _dl_open (file=0x7fff48c14c00 “/usr/share/games/quake3/renderer_opengl1_x86_64.so”, mode=-2147483646, caller_dlopen=, nsid=-2, argc=15, argv=0x7fff48c1b688, env=0x7fff48c1b708) at dl-open.c:650
#10 0x00007f27dc8021e6 in dlopen_doit (a=a@entry=0x7fff48c14bb0) at dlopen.c:66
#11 0x00007f27ddf2ea00 in _dl_catch_error (objname=0x7fff48c14988, errstring=0x3c31c98, mallocedp=0x3c31c88, operate=0x7f27dc802180 <dlopen_doit>, args=0x7fff48c14bb0) at dl-error.c:187
#12 0x00007f27dc80278c in _dlerror_run (operate=operate@entry=0x7f27dc802180 <dlopen_doit>, args=args@entry=0x7fff48c14bb0) at dlerror.c:163
#13 0x00007f27dc802281 in __dlopen (file=file@entry=0x7fff48c14c00 “/usr/share/games/quake3/renderer_opengl1_x86_64.so”, mode=mode@entry=2) at dlopen.c:87
#14 0x00007f27ddcc4b0b in SDL_LoadObject (sofile=sofile@entry=0x7fff48c14c00 “/usr/share/games/quake3/renderer_opengl1_x86_64.so”) at ./src/loadso/dlopen/SDL_sysloadso.c:36
#15 0x0000000000495cba in Sys_LoadDll (name=name@entry=0x7fff48c15d70 “renderer_opengl1_x86_64.so”, useSystemLib=useSystemLib@entry=qfalse) at code/sys/sys_main.c:464
#16 0x0000000000416f8b in CL_InitRef () at code/client/cl_main.c:3186
#17 0x0000000000417d12 in CL_Init () at code/client/cl_main.c:3612
#18 0x000000000042c99d in Com_GameRestart (checksumFeed=checksumFeed@entry=1994485933, disconnect=disconnect@entry=qfalse) at code/qcommon/common.c:2395
#19 0x00000000004364aa in FS_ConditionalRestart (checksumFeed=1994485933, disconnect=disconnect@entry=qfalse) at code/qcommon/files.c:3987
#20 0x000000000041ae41 in CL_ParseGamestate (msg=msg@entry=0x7fff48c17020) at code/client/cl_parse.c:544
#21 0x000000000041b2c8 in CL_ParseServerMessage (msg=0x7fff48c17020) at code/client/cl_parse.c:919
#22 0x000000000041967d in CL_PacketEvent (from=…, msg=msg@entry=0x7fff48c17020) at code/client/cl_main.c:2821
#23 0x000000000043d393 in NET_Event (fdr=fdr@entry=0x7fff48c1b090) at code/qcommon/net_ip.c:1641
#24 0x000000000043d4d4 in NET_Sleep (msec=) at code/qcommon/net_ip.c:1698
#25 0x000000000042e480 in Com_Frame () at code/qcommon/common.c:3126
#26 0x0000000000409082 in main (argc=, argv=) at code/sys/sys_main.c:654
(gdb)

When I run openarena with strace or with LD_PRELOAD=/usr/share/games/quake3/renderer_opengl1_x86_64.so this segfault doesnt happen.

Also this bug didn’t happen with 334.21 drivers, so it’s some regression.

Tried both drivers with kernel 3.13.7, and 334.21 worked fine. Attached nvidia bug report log is from kernel 3.14.1.

nvidia-bug-report.log.gz (171 KB)

Could you please provide reproduction steps in detail? Are you running game with WINE or pure Linux ? Did you made any changes in game settings ? What is the version of game?

I’m running this game on pure Linux. I use ioq3 git repo from: https://github.com/ioquake/ioq3/ commit b9b6703 (current HEAD), so the version of the game is: “ioq3 1.36_GIT_b9b6703-2014-04-16 client (Apr 18 2014)” and openarena assets 0.8.8.
I run the game with following command line: ioquake3 +set com_basegame baseoa +set com_homepath .openarena +set com_legacyprotocol 71 +set com_protocol 71 +connect 213.163.83.191:27970

Game is compiled (under gentoo, by quake3-9999 ebuild) using following command:
make ARCH=x86_64 BUILD_CLIENT=1 BUILD_GAME_QVM=0 BUILD_GAME_SO=0 BUILD_SERVER=0 DEFAULT_BASEDIR=/usr/share/games/quake3 FULLBINEXT= GENERATE_DEPENDENCIES=0 OPTIMIZE= PLATFORM=linux USE_CODEC_VORBIS=1 USE_CURL=1 USE_CURL_DLOPEN=0 USE_INTERNAL_JPEG=0 USE_INTERNAL_SPEEX=0 USE_INTERNAL_ZLIB=0 USE_LOCAL_HEADERS=0 USE_MUMBLE=0 USE_OPENAL=1 USE_OPENAL_DLOPEN=0 USE_VOIP=0

Game doesn’t crash when I run it like this:
LD_PRELOAD=/usr/share/games/quake3/renderer_opengl1_x86_64.so ioquake3 +set com_basegame baseoa +set com_homepath .openarena +set com_legacyprotocol 71 +set com_protocol 71 +connect 213.163.83.191:27970

or when I use 334.21 drivers.

Also the crash is reproducible on both of my laptops (first one has GTX760M, second has GT330M).

Hello,

I have the same issue.

Running OpenArena from Debian testing 8.0 Jessie.

Steps to reproduce:

  1. launch the OpenArena
  2. /connect 80.246.62.78:27960
    (not all servers trigger this issue)

Launching with LD_PRELOAD solves the problem (thanks mceier):
LD_PRELOAD=/usr/lib/ioquake3/renderer_opengl1_x86.so openarena

Maybe it’s a problem in OpenArena, but it was working fine with 331.x and previous versions of NVIDIA drivers.