Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: mesalib abort



On Thu, Sep 17, 2020 at 01:38:21PM +0200, Tobias Nygren wrote:
> On Thu, 17 Sep 2020 12:04:10 +0100
> Patrick Welche <prlw1%cam.ac.uk@localhost> wrote:
> > It looks as though line 50 simply undoes line 48, and it doesn't matter
> > whether or not line 49 fails. How can this break?
> 
> This is a red herring. Because they mask the SIGSEGV/SIGBUS handlers
> you are not getting the actual fault location which happens inside
> thrd_create. Instead the process takes the fault when the signal mask
> is restored. This code is severly broken and upstream should fix it.
> Anyway, If you comment out the signal masking crap you will get a
> proper backtrace.

It does break in between as you say:

#0  0x00007f7ff598991a in _lwp_kill () from /usr/lib/libc.so.12
#1  0x00007f7ff5846c3c in __libc_thr_create_stub (tp=tp@entry=0x2f9d, 
    ta=ta@entry=0x0, f=f@entry=0x7f7fed764930 <impl_thrd_routine>, 
    a=a@entry=0x7f7ff7e9f230)
    at /usr/src/lib/libc/thread-stub/thread-stub.c:418
#2  0x00007f7ff160c63d in pthread_create (thread=0x2f9d, 
    thread@entry=0x7f7fffffd588, attr=attr@entry=0x0, 
    startfunc=startfunc@entry=0x7f7fed764930 <impl_thrd_routine>, 
    arg=arg@entry=0x7f7ff7e9f230) at /usr/src/lib/libpthread/pthread.c:404
#3  0x00007f7fed764a90 in thrd_create (
    func=0x7f7fed764af6 <util_queue_thread_func>, arg=0x7f7ff7e9f220, 
    thr=0x7f7fffffd588)
    at /usr/xsrc/external/mit/MesaLib/dist/include/c11/threads_posix.h:289
#4  u_thread_create (param=0x7f7ff7e9f220, 
    routine=0x7f7fed764af6 <util_queue_thread_func>)
    at /usr/xsrc/external/mit/MesaLib/dist/src/util/u_thread.h:54


Thanks,

Patrick


Home | Main Index | Thread Index | Old Index