Bug#805599: mediatomb: Segfault when "mark-played-items" enabled

Ian Wienand ian at wienand.org
Fri Nov 20 07:39:54 UTC 2015


Package: mediatomb
Version: 0.12.1-47-g7ab7616-1
Severity: normal

When enabling the "mark-played-items" configuration option, there
is a repeatable segfault of the application as soon as you
attempt to watch a video file.

I have attached a backtrace


-- System Information:
Debian Release: 8.2
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages mediatomb depends on:
ii  iceweasel [www-browser]  38.4.0esr-1~deb8u1
ii  mediatomb-daemon         0.12.1-47-g7ab7616-1
ii  w3m [www-browser]        0.5.3-19

mediatomb recommends no packages.

mediatomb suggests no packages.

-- no debconf information
-------------- next part --------------
#0  ConfigManager::getStringArrayOption (this=this at entry=0xf43840, option=option at entry=CFG_SERVER_EXTOPTS_MARK_PLAYED_ITEMS_CONTENT_LIST) at ../src/config_manager.cc:3172
No locals.
#1  0x00000000004f4911 in PlayHook::trigger (this=this at entry=0x7f847c0101a0, obj=...) at ../src/play_hook.cc:57
        mark_list = {_ptr = 0x28}
        cfg = {_ptr = 0xf43840}
        __func__ = "trigger"
#2  0x00000000004eae2c in FileRequestHandler::open (this=this at entry=0x7f847c000ee0, filename=<optimized out>, info=info at entry=0x7f8491ffaab0, mode=mode at entry=UPNP_READ, range=...)
    at ../src/file_request_handler.cc:744
        io_handler = {_ptr = 0x7f847c027a80}
        objectID = <optimized out>
        mimeType = {base = 0x7f847c005b40}
        is_srt = <optimized out>
        tr_profile = {base = 0x0}
        __func__ = "open"
        statbuf = {st_dev = 2304, st_ino = 4100062952, st_nlink = 1, st_mode = 33188, st_uid = 1000, st_gid = 1000, __pad0 = 0, st_rdev = 0, st_size = 534903120, st_blksize = 4096, 
          st_blocks = 1044752, st_atim = {tv_sec = 1447957178, tv_nsec = 970304166}, st_mtim = {tv_sec = 1421686659, tv_nsec = 565695282}, st_ctim = {tv_sec = 1421686659, tv_nsec = 565695282}, 
          __glibc_reserved = {0, 0, 0}}
        url_path = {base = 0x0}
        parameters = {base = 0x7f847c028d30}
        dict = {_ptr = 0x7f847c000b00}
        objID = {base = 0x7f847c029040}
        storage = {_ptr = 0xf40cb0}
        obj = {_ptr = 0x7f847c00f840}
        objectType = <optimized out>
        res_id = <optimized out>
        s_res_id = {base = 0x7f847c027740}
        item = {_ptr = 0x7f847c00f840}
        path = {base = 0x7f847c00dc40}
        ext = {base = 0x7f847c027670}
        edot = <optimized out>
        header = {base = 0x7f847c025ff0}
        slash_pos = <optimized out>
        rh = {base = 0x0}
#3  0x00000000004c1290 in web_open (filename=<optimized out>, headers=<optimized out>, info=0x7f8491ffaab0, mode=UPNP_READ) at ../src/web_callbacks.cc:225
        reqHandler = {_ptr = 0x7f847c000ee0}
        ioHandler = {_ptr = 0x7f847c027040}
        __func__ = "web_open"
        link = {base = 0x7f847c028e00}
        timeseek = <optimized out>
#4  0x000000000052d1fb in process_request (Fp=<synthetic pointer>, RespInstr=0x7f8491ffab30, alias=0x7f8491ffaae0, filename=0x7f8491ffaa90, headers=0x7f8491ffaa70, rtype=<synthetic pointer>, 
    req=0x7f8491ffac90) at ../upnp/src/genlib/net/http/webserver.c:1340
        request_doc = 0x7f847c00aad0 "/content/media/object_id/2447/res_id/0/ext/file.m4v"
        url = 0x7f8491ffac98
        temp_str = <optimized out>
        using_virtual_dir = 1 '\001'
        alias_grabbed = 0 '\000'
        dummy = 51
        code = <optimized out>
        err_code = 500
        finfo = {file_length = 534903120, last_modified = 1421686659, is_directory = 0, is_readable = 1, force_chunked = 0, content_type = 0x7f847c001030 "video/x-m4v", 
          http_header = 0x7f847c001d10 "Content-Disposition: attachment; filename=\"my-file.m4v\"\r\nAccept-Ranges: bytes"}
        using_alias = 0 '\000'
        resp_major = 1
        resp_minor = 1
#5  web_server_callback (parser=0x7f8491ffac90, req=0x7f8491ffac90, info=0x7f8491ffac80) at ../upnp/src/genlib/net/http/webserver.c:1800
        ret = <optimized out>
        timeout = 0
        rtype = RESP_FILEDOC
        headers = {buf = 0x0, length = 0, capacity = 0, size_inc = 5}
        filename = {buf = 0x7f847c000ea0 "/content/media/object_id/2447/res_id/0/ext/file.m4v", length = 51, capacity = 51, size_inc = 5}
        xmldoc = {name = {buf = 0x0, length = 0, capacity = 0, size_inc = 0}, doc = {buf = 0x0, length = 0, capacity = 0, size_inc = 0}, last_modified = 0, ct = 0x0}
        RespInstr = {IsVirtualFile = 1, IsChunkActive = 0, IsRangeActive = 0, IsTrailers = 0, RangeHeader = '\000' <repeats 168 times>, "Y\f?\177", '\000' <repeats 25 times>, 
          RangeOffset = 16, ReadSendSize = 140207361862768, RecvWriteSize = 140207361862688}
        Fp = 0x0
#6  0x0000000000525fc2 in dispatch_request (hparser=0x7f8491ffac90, info=0x7f8491ffac80) at ../upnp/src/genlib/miniserver/miniserver.c:236
        callback = <optimized out>
#7  handle_request (args=0x7f848c0008c0) at ../upnp/src/genlib/miniserver/miniserver.c:339
        info = {socket = 12, foreign_ip_addr = {s_addr = 3137382592}, foreign_ip_port = 58739}
        http_error_code = 0
        ret_code = <optimized out>
        major = 1
        minor = 1
        parser = {msg = {initialized = 1, method = HTTPMETHOD_GET, uri = {type = RELATIVE, scheme = {buff = 0x0, size = 0}, path_type = ABS_PATH, pathquery = {
                buff = 0x7f847c018c80 "/content/media/object_id/2447/res_id/0/ext/file.m4v", size = 51}, fragment = {buff = 0x0, size = 0}, hostport = {text = {buff = 0x0, size = 0}, 
                IPv4address = {sin_family = 0, sin_port = 0, sin_addr = {s_addr = 0}, sin_zero = "\000\000\000\000\000\000\000"}}}, request_method = HTTPMETHOD_POST, status_code = 0, 
            status_msg = {buf = 0x0, length = 0, capacity = 0, size_inc = 5}, is_request = 1 '\001', major_version = 1, minor_version = 1, headers = {head = {prev = 0x0, next = 0x7f847c000fd0, 
                item = 0x0}, tail = {prev = 0x7f847c001300, next = 0x0, item = 0x0}, size = 4, freeNodeList = {head = 0x0, element_size = 24, maxFreeListLength = 100, freeListLength = 0}, 
              free_func = 0x5269d0 <httpheader_free>, cmp_func = 0x5269c0 <httpmsg_compare>}, entity = {buf = 0x7f847c0217a6 "", length = 0}, msg = {
              buf = 0x7f847c0216c0 "GET /content/media/object_id/2447/res_id/0/ext/file.m4v HTTP/1.1\r\nHOST: 192.168.0.201:50500\r\nDATE: Thu, 19 Nov 2015 23:23:10 GMT\r\nCONNECTION: close\r\nUSER-AGENT: Linux/2.6.37-3.2-svn1836, HTTP/1.0, Por"..., length = 230, capacity = 230, size_inc = 5}, urlbuf = 0x7f847c018c80 "/content/media/object_id/2447/res_id/0/ext/file.m4v"}, 
          http_error_code = 400, valid_ssdp_notify_hack = 0 '\000', position = POS_COMPLETE, ent_position = 1, content_length = 0, chunk_size = 0, entity_start_position = 230, scanner = {
            msg = 0x7f8491ffada0, cursor = 230, entire_msg_loaded = 0 '\000'}}
        hmsg = 0x7f8491ffac90
        timeout = 30
#8  0x0000000000533873 in WorkerThread (arg=0x7ad080 <gRecvThreadPool>) at ../threadutil/src/ThreadPool.c:594
        start = 1448003967
        job = 0x7f848c000900
        head = 0x7f848c001460
        timeout = {tv_sec = 1448003995, tv_nsec = 945000000}
        retCode = <optimized out>
        persistent = 0
        tp = 0x7ad080 <gRecvThreadPool>
#9  0x00007f84a7eba0a4 in start_thread (arg=0x7f8491ffb700) at pthread_create.c:309
        __res = <optimized out>
        pd = 0x7f8491ffb700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140207361865472, -7353354412882232649, 0, 140207746842720, 140207395430596, 140207361865472, 7420385037047724727, 7420503680996113079}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#10 0x00007f84a4ce704d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.
A debugging session is active.

	Inferior 1 [process 10403] will be detached.

Quit anyway? (y or n) Detaching from program: /usr/bin/mediatomb, process 10403


More information about the pkg-multimedia-maintainers mailing list