https://bugs.freedesktop.org/show_bug.cgi?id=99515
Bug ID: 99515 Summary: SIGSEGV MAPERR on Android nougat-x86 with mesa 17.0.0rc Product: Mesa Version: 17.0 Hardware: x86-64 (AMD64) OS: other Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/radeonsi Assignee: dri-devel@lists.freedesktop.org Reporter: issor.oruam@gmail.com QA Contact: dri-devel@lists.freedesktop.org
Created attachment 129125 --> https://bugs.freedesktop.org/attachment.cgi?id=129125&action=edit Dmesg
Hi,
I've been seeying SIGSEGV MAPERR with radeonsi (HD7750 and HD7950) It can be triggered in various situations/primitives, like EGLSwapBuffersWithDamage, EGLterminate and others, but the crash has always the same outcome and backtrace.
I think it is important to highlight that the issue started happening with nougat, which uses multiple threads/render threads, as opposed to marshmallow which was using single threading and it is not affected.
Now this may have exposed a non thread safe path in radeonsi code, because other drivers (intel, nouveau with Ilia's draft locking patches) are not affected by this issue.
Dmesg, Logcat and addr2line log in the attachments Available to provide further info and to test patches, if needed. Mauro
--------- beginning of crash 01-21 19:30:40.195 1457 1457 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 1457 (surfaceflinger) 01-21 19:30:40.195 1443 1443 W : debuggerd: handling request: pid=1457 uid=0 gid=1003 tid=1457 01-21 19:30:40.196 1743 1743 E : debuggerd: Unable to connect to activity manager (connect failed: No such file or directory) 01-21 19:30:40.246 1743 1743 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 01-21 19:30:40.246 1743 1743 F DEBUG : Build fingerprint: 'Android-x86/android_x86_64/x86_64:7.1.1/NMF26O/utente12301216:eng/test-keys' 01-21 19:30:40.246 1743 1743 F DEBUG : Revision: '0' 01-21 19:30:40.246 1743 1743 F DEBUG : ABI: 'x86_64' 01-21 19:30:40.246 1743 1743 F DEBUG : pid: 1457, tid: 1457, name: surfaceflinger >>> /system/bin/surfaceflinger <<< 01-21 19:30:40.246 1743 1743 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 01-21 19:30:40.246 1743 1743 F DEBUG : rax 000077505a696cc0 rbx 000077505fa75a20 rcx 0000000000000000 rdx 0000000000000020 01-21 19:30:40.246 1743 1743 F DEBUG : rsi 0000000000000000 rdi 000077505a696cc0 01-21 19:30:40.246 1743 1743 F DEBUG : r8 ffffffffffffffd8 r9 0400050000000000 r10 0000000000000002 r11 0000000000000246 01-21 19:30:40.246 1743 1743 F DEBUG : r12 000077505fa75600 r13 0000000001000000 r14 000077505fa75a48 r15 000077505a6c3980 01-21 19:30:40.246 1743 1743 F DEBUG : cs 0000000000000033 ss 000000000000002b 01-21 19:30:40.246 1743 1743 F DEBUG : rip 000077505eb7b5f8 rbp 0000000000500000 rsp 00007ffea2d36c70 eflags 0000000000010206 01-21 19:30:40.326 1743 1743 F DEBUG : 01-21 19:30:40.326 1743 1743 F DEBUG : backtrace: 01-21 19:30:40.326 1743 1743 F DEBUG : #00 pc 000000000024f5f8 /system/lib64/dri/gallium_dri.so 01-21 19:30:40.326 1743 1743 F DEBUG : #01 pc 0000000000262843 /system/lib64/dri/gallium_dri.so
utente@utente-MS-7576:~/nougat-x86_kernel_49$ addr2line -Cfe out/target/product/x86_64/symbols/system/lib64/dri/gallium_dri.so 000000000024f5f8 list_add /proc/self/cwd/external/mesa/src/util/list.h:62 0000000000262843 pb_destroy /proc/self/cwd/external/mesa/src/gallium/auxiliary/pipebuffer/pb_buffer.h:232 0000000000260816