[BRLTTY] BRLTTY 4.4 segfault with backtrace

Jason White jason at jasonjgw.net
Thu Jun 14 23:33:43 EDT 2012


Here's a proper backtrace, now that I have installed debugging symbols. I
haven't looked at the code in detail, but we need to avoid dereferencing a
null pointer here (presumably, this code shouldn't be reached if the braille
display is not available).

Core was generated by `/sbin/brltty'.
Program terminated with signal 11, Segmentation fault.
#0  api_flush (brl=brl at entry=0x7f66f988aa40) at ../../Programs/brlapi_server.c:2459
2459    ../../Programs/brlapi_server.c: No such file or directory.
(gdb) thread apply all bt full

Thread 2 (Thread 0x7f66f967e700 (LWP 25543)):
#0  0x00007f66f6fdf1d3 in select () at ../sysdeps/unix/syscall-template.S:82
No locals.
#1  0x00007f66f98614c7 in server (arg=<optimized out>) at ../../Programs/brlapi_server.c:2097
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {140080249742518, -8140245095272564004, 140735613120096, 140080247728576, 140080249344064, 3, 8198232446201346780, 8198232727745313500},
              __mask_was_saved = 0}}, __pad = {0x7f66f967df60, 0x0, 0x0, 0x0}}
        __cancel_arg = 0x0
        __not_first_call = <optimized out>
        hosts = <optimized out>
        attr = {__size = "\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\020", '\000' <repeats 16 times>, "\001", '\000' <repeats 20 times>, __align = 0}
        i = <optimized out>
        res = <optimized out>
        addr = {ss_family = 1, __ss_align = 0, __ss_padding = '\000' <repeats 111 times>}
        addrlen = 2
        c = <optimized out>
        currentTime = 1339727918
        sockset = {fds_bits = {2624, 0 <repeats 15 times>}}
        resfd = <optimized out>
        fdmax = 11
        tv = {tv_sec = 0, tv_usec = 172495}
        n = <optimized out>
        blockedSignals = {__val = {86530, 0 <repeats 15 times>}}
#2  0x00007f66f729ab50 in start_thread (arg=<optimized out>) at pthread_create.c:304
        __res = <optimized out>
        pd = 0x7f66f967e700
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140080247727872, -8140245095272564004, 140735613120096, 140080247728576, 140080249344064, 3, 8198232446270552796, 8198209821850581724},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#3  0x00007f66f6fe56dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#4  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 1 (Thread 0x7f66f97dd720 (LWP 25542)):
#0  api_flush (brl=brl at entry=0x7f66f988aa40) at ../../Programs/brlapi_server.c:2459
        oldbuf = 0x1 <Address 0x1 out of bounds>
        buf = <optimized out>
        c = 0x7f66fb035ef0
        ok = 1
        drain = 0
        newCursorShape = <optimized out>
#1  0x00007f66f982f90b in brlttyUpdate () at ../../Programs/brltty.c:3864
No locals.
#2  0x00007f66f98284a5 in brlttyRun () at ../../Programs/main.c:32
No locals.
#3  main (argc=<optimized out>, argv=<optimized out>) at ../../Programs/main.c:183
        exitStatus = <optimized out>
(gdb) print disp
$1 = (BrailleDisplay *) 0x0
(gdb)



More information about the BRLTTY mailing list