'Android signal 11 (SIGSEGV) with no fault address

What could be a possible cause that a SIGSEGV reported in tombstone.log has no "fault addr"?

This is what was reported by the tombstone (and the fault addr is simply --------),

signal 11 (SIGSEGV), code 0 (SI_USER from pid 4956, uid 0), fault addr --------
    rax fffffffffffffffc  rbx 000075d08fa0d2e0  rcx 000075d0901f98ca  rdx 0000000000000010
    r8  0000000000000000  r9  0000000000000008  r10 00000000ffffffff  r11 0000000000000246
    r12 00000000ffffffff  r13 000075d08fa23000  r14 000075d08fa230a8  r15 7fffffffffffffff
    rdi 0000000000000005  rsi 00007ffd21eddb90
    rbp 00000000ffffffff  rsp 00007ffd21eddb38  rip 000075d0901f98ca

and the backtrace seemed reasonable (not a stack corruption).

backtrace:
      #00 pc 00000000000ea8ca  /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+10)
      #01 pc 0000000000040bf0  /system/bin/wificond (android::Looper::pollInner(int)+160)
      #02 pc 0000000000040aee  /system/bin/wificond (android::Looper::pollOnce(int, int*, int*, void**)+126)
      #03 pc 000000000003fdd4  /system/bin/wificond (android::wificond::LooperBackedEventLoop::Poll()+36)
      #04 pc 000000000001feaf  /system/bin/wificond (main+959)
      #05 pc 000000000008e4f5  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+101)


Solution 1:[1]

The fault addr is set to ------- by the tombstone (formerly debugd) tool when the si_code in the received siginfo_t is either SI_USER, SI_QUEUE, or SI_TKILL (see [signal_has_si_addr()] in AOSP source).

si_code, according to [man sigaction(2)]. indicates why this signal was sent; and in the following case, the si_code is SI_USER which means the signal is coming from another user process (e.g. kill).

signal 11 (SIGSEGV), code 0 (SI_USER from pid 4956, uid 0), fault addr --------

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Tzunghsing David Wong