Skip to content

Segmentation fault in caca event handler

After update from !889 (merged), I get the following crash with caca video output.

Core was generated by `./vlc -I dummy -A dummy /home/alexandre/Video/dog_meme.mp4 --extraintf none -V caca'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  vlc_queue_EnqueueUnlocked (q=q@entry=0x7f14b417ae90, entry=<optimized out>, entry@entry=0x7f1488007610)
    at ../../src/misc/queue.c:89
89	    for (lastp = q->lastp; entry != NULL; entry = next_get(entry, offset))
[Current thread is 1 (Thread 0x7f14a5c5f640 (LWP 201428))]
(gdb) bt all
No symbol "all" in current context.
(gdb) bt full
#0  vlc_queue_EnqueueUnlocked (q=q@entry=0x7f14b417ae90, entry=<optimized out>, entry@entry=0x7f1488007610)
    at ../../src/misc/queue.c:89
        lastp = <optimized out>
        __PRETTY_FUNCTION__ = "vlc_queue_EnqueueUnlocked"
#1  0x00007f14e2cf8f22 in vlc_queue_Enqueue (q=q@entry=0x7f14b417ae90, entry=0x7f1488007610) at ../../src/misc/queue.c:131
#2  0x00007f14ad3ad302 in VoutDisplayEventKey (key=13, sys=0x7f14b417ae70) at ../../modules/video_output/caca.c:89
        event = <optimized out>
        vlc = 13
        i = <optimized out>
        caca = 13
        sys = 0x7f14b417ae70
        ev = 
          {type = CACA_EVENT_KEY_PRESS, data = {mouse = {x = 13, y = 13, button = 13}, resize = {w = 13, h = 13}, key = {ch = 13, utf32 = 13, utf8 = "\r\000\000\000p\245\027\264"}}, padding = "\024\177\000\000\215&\320\342\024\177\000\000\300 ", <incomplete sequence \314>}
        sys = <optimized out>
        __func__ = "Prepare"
        crop_offset = <optimized out>
#3  Manage (vd=0x7f14b417e9c0) at ../../modules/video_output/caca.c:303
        vlc = 13
        i = <optimized out>
        caca = 13
        sys = 0x7f14b417ae70
        ev = 
          {type = CACA_EVENT_KEY_PRESS, data = {mouse = {x = 13, y = 13, button = 13}, resize = {w = 13, h = 13}, key = {ch = 13, utf32 = 13, utf8 = "\r\000\000\000p\245\027\264"}}, padding = "\024\177\000\000\215&\320\342\024\177\000\000\300 ", <incomplete sequence \314>}
        sys = <optimized out>
        __func__ = "Prepare"
        crop_offset = <optimized out>
#4  Prepare (vd=0x7f14b417e9c0, picture=0x7f14980473c0, subpicture=<optimized out>, date=<optimized out>)
    at ../../modules/video_output/caca.c:125
        sys = <optimized out>
        __func__ = "Prepare"
        crop_offset = <optimized out>
#5  0x00007f14e2ccc3a3 in RenderPicture (sys=sys@entry=0x7f14b40a6dd0, render_now=<optimized out>, render_now@entry=false)
    at ../../src/video_output/video_output.c:1334
        vd = 0x7f14b417e9c0
        filtered = <optimized out>
        todisplay = 0x7f14980473c0
        subpic = 0x0
        ret = 0
        system_now = <optimized out>
        pts = 1133334
        system_pts = <optimized out>
        frame_rate = 30
        frame_rate_base = 1
        __func__ = "RenderPicture"
#6  0x00007f14e2ccca42 in DisplayPicture (deadline=<synthetic pointer>, vout=0x7f14b40a6dd0)
    at ../../src/video_output/video_output.c:1526
        sys = 0x7f14b40a6dd0
        first = <optimized out>
        dropped_current_frame = <optimized out>
        refresh = <optimized out>
        date_refresh = 5337222642
--Type <RET> for more, q to quit, c to continue without paging--c
        paused = <optimized out>
        render_now = false
        render_delay = <optimized out>
        ret = <optimized out>
        system_now = <optimized out>
        next = <optimized out>
        __PRETTY_FUNCTION__ = "DisplayPicture"
        video_mouse = {i_x = 0, i_y = 0, i_pressed = 0, b_double_click = false}
        picture_interlaced = <optimized out>
        vout = 0x7f14b40a6dd0
        sys = 0x7f14b40a6dd0
        deadline = 5337222642
        wait = <optimized out>
#7  Thread (object=0x7f14b40a6dd0) at ../../src/video_output/video_output.c:1843
        video_mouse = {i_x = 0, i_y = 0, i_pressed = 0, b_double_click = false}
        picture_interlaced = <optimized out>
        vout = 0x7f14b40a6dd0
        sys = 0x7f14b40a6dd0
        deadline = 5337222642
        wait = <optimized out>
#8  0x00007f14e2a11259 in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f14e293a5e3 in clone () at /usr/lib/libc.so.6
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information