Bug 93197

Summary: Warsow 2.0 crashes in nouveau_fence_trigger_work
Product: Mesa Reporter: Marcin Slusarz <marcin.slusarz>
Component: Drivers/DRI/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED MOVED QA Contact: Nouveau Project <nouveau>
Severity: major    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Marcin Slusarz 2015-12-01 20:33:52 UTC
Warsow can be downloaded from: https://www.warsow.gg/download

gdb session:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe704a700 (LWP 12680)]
nouveau_fence_trigger_work (fence=fence@entry=0x7fffd0296850) at nouveau_fence.c:57
57	      LIST_DEL(&work->list);
(gdb) bt
#0  nouveau_fence_trigger_work (fence=fence@entry=0x7fffd0296850) at nouveau_fence.c:57
#1  0x00007fffef9459be in nouveau_fence_update (screen=screen@entry=0xac1060, flushed=flushed@entry=false) at nouveau_fence.c:132
#2  0x00007fffef945c6e in nouveau_fence_wait (fence=0x7fffd0296850, debug=0x0) at nouveau_fence.c:223
#3  0x00007fffef68b0cb in st_finish (st=st@entry=0x17d6130) at state_tracker/st_cb_flush.c:101
#4  0x00007fffef68b110 in st_glFinish (ctx=<optimized out>) at state_tracker/st_cb_flush.c:136
#5  0x00007fffd72ef731 in ?? () from ./libs/libref_gl_x86_64.so
#6  0x0000000000405af6 in ?? ()
#7  0x0000000000405bc9 in ?? ()
#8  0x00007fffd72eb304 in ?? () from ./libs/libref_gl_x86_64.so
#9  0x00007ffff78bc6aa in start_thread (arg=0x7fffe704a700) at pthread_create.c:333
#10 0x00007ffff70e1eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
(gdb) print work
$1 = (struct nouveau_fence_work *) 0x7fffd815fc50
(gdb) print work->list 
$2 = {prev = 0x0, next = 0x7fffd8121510}
(gdb) list
52	{
53	   struct nouveau_fence_work *work, *tmp;
54	
55	   LIST_FOR_EACH_ENTRY_SAFE(work, tmp, &fence->work, list) {
56	      work->func(work->data);
57	      LIST_DEL(&work->list);
58	      FREE(work);
59	   }
60	}
61	
(gdb) i threads
  Id   Target Id         Frame 
  7    Thread 0x7fffe6048700 (LWP 12675) "warsow.x86_64" 0x00007ffff70d8743 in select () at ../sysdeps/unix/syscall-template.S:81
  6    Thread 0x7fffe6849700 (LWP 12679) "warsow.x86_64" 0x00007ffff70d80b7 in ioctl () at ../sysdeps/unix/syscall-template.S:81
  5    Thread 0x7fffd72a2700 (LWP 12683) "SDLAudioDev1" 0x00007ffff70d69a1 in __GI_ppoll (fds=0x7fffe003b060, nfds=2, timeout=<optimized out>, sigmask=0x0)
    at ../sysdeps/unix/sysv/linux/ppoll.c:56
* 4    Thread 0x7fffe704a700 (LWP 12680) "warsow.x86_64" nouveau_fence_trigger_work (fence=fence@entry=0x7fffd0296850) at nouveau_fence.c:57
  2    Thread 0x7fffe784b700 (LWP 12681) "warsow.x86_64" pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
  1    Thread 0x7ffff7fb9780 (LWP 12632) "warsow.x86_64" (Exiting) 0x00007fffd72e62b8 in ?? () from ./libs/libref_gl_x86_64.so
(gdb) print work
work           work_count     worklist_elem  
(gdb) print work->func 
$3 = (void (*)(void *)) 0x7fffef945d20 <nouveau_fence_unref_bo>
(gdb)


This is with Mesa-git from ~2 weeks ago:
OpenGL renderer string: Gallium 0.4 on NVE7
OpenGL core profile version string: 4.1 (Core Profile) Mesa 11.1.0-devel (git-1a18457)
Comment 1 Marcin Slusarz 2015-12-01 20:39:38 UTC
The same log without word wrapping: http://paste.ubuntu.com/13605517/
Comment 2 Marcin Slusarz 2015-12-02 18:36:48 UTC
Temporary workaround:

./warsow +set r_multithreading 0
Comment 3 GitLab Migration User 2019-09-18 20:41:51 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1092.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.