#189 (680) Segmentation fault (flac-to-wav transcoding)


I have segmentation fault on playing flac-to-wav transcoded tracks.
Configuration section (default.cfg):
<file ext="flac">
<transcode enabled="true">
Audioplayer used:
1. software player: Windows Media player 12 in Windows 7
2. software player: Foobar2000 v.1.1.1 + foo_upnp 0.99.27 in Windows 7
3. hardware player: Yamaha RX-V3800 network receiver
4. hardware player: Dune BD Prime 3 network media player

Fuppes server:
1. compiled and running under FreeBSD 7.3
2. compiled (MinGW) and running under Windows7

In all cases playback begins and crash after some seconds


  • tbart4642272

    tbart4642272 - 2011-01-15

    confirmed on 32bit gentoo, SVN-680, gcc 4.4.4

    the correct device config should look something like this

    58 <file ext="flac">
    59 <type>AUDIO_ITEM</type>
    60 <mime_type>audio/x-flac</mime_type>
    61 <transcode enabled="true">
    62 <ext>wav</ext>
    63 <mime_type>audio/L16</mime_type>
    64 <dlna>WAV</dlna>
    65 <http_encoding>chunked</http_encoding>
    66 <decoder>flac</decoder>
    67 <encoder>wav</encoder>
    68 <!--<bitrate>192</bitrate>-->
    69 <samplerate>44100</samplerate>
    70 </transcode>
    71 </file>

    (that is, audio/mpeg in the original bug report is definitely wrong)

    Still, it crashes on me as well.

    blackknight scratch # gdb
    GNU gdb (Gentoo 7.2 p1) 7.2
    Copyright (C) 2010 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law. Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "i686-pc-linux-gnu".
    For bug reporting instructions, please see:
    (gdb) file start-stop-daemon
    Reading symbols from /sbin/start-stop-daemon...(no debugging symbols found)...done.
    (gdb) run -v -c fuppes --start --exec /usr/bin/fuppes -- --config-dir /etc/fuppes/ --database-file /var/lib/fuppes/fuppes.db
    Starting program: /sbin/start-stop-daemon -v -c fuppes --start --exec /usr/bin/fuppes -- --config-dir /etc/fuppes/ --database-file /var/lib/fuppes/fuppes.db
    Starting /usr/bin/fuppes...
    process 23324 is executing new program: /usr/bin/fuppes
    [Thread debugging using libthread_db enabled]
    FUPPES - 0.655
    the Free UPnP Entertainment Service

    [New Thread 0xb7b32b70 (LWP 23327)]
    read config file: /etc/fuppes/fuppes.cfg
    [New Thread 0xb5df7b70 (LWP 23328)]
    [New Thread 0xb55f6b70 (LWP 23329)]
    [New Thread 0xb4df5b70 (LWP 23330)]
    [New Thread 0xb45f4b70 (LWP 23331)]
    [New Thread 0xb3df3b70 (LWP 23332)]
    [New Thread 0xb35f2b70 (LWP 23333)]
    [New Thread 0xb2df1b70 (LWP 23334)]
    [Thread 0xb2df1b70 (LWP 23334) exited]
    [New Thread 0xb25f0b70 (LWP 23335)]
    [New Thread 0xb1defb70 (LWP 23336)]
    [New Thread 0xb15eeb70 (LWP 23337)]
    [New Thread 0xb0dedb70 (LWP 23338)]

    l = change log-level
    (disabled, normal, extended, debug) default is "normal"
    i = print system info
    s = print device settings
    r = rebuild database
    v = rebuild virtual container layout
    u = update database
    h = print this help

    m = send m-search
    a = send notify-alive
    b = send notify-byebye

    ctrl-c or q = quit

    [Thread 0xb1defb70 (LWP 23336) exited]
    [New Thread 0xb2df1b70 (LWP 23339)]
    [New Thread 0xb05ecb70 (LWP 23340)]
    [Thread 0xb05ecb70 (LWP 23340) exited]
    [New Thread 0xafdebb70 (LWP 23341)]
    [Thread 0xafdebb70 (LWP 23341) exited]
    [New Thread 0xafdebb70 (LWP 23342)]
    [Thread 0xafdebb70 (LWP 23342) exited]
    [New Thread 0xafdebb70 (LWP 23343)]
    [Thread 0xafdebb70 (LWP 23343) exited]
    [New Thread 0xafdebb70 (LWP 23344)]
    [Thread 0xafdebb70 (LWP 23344) exited]
    [New Thread 0xafdebb70 (LWP 23345)]
    [Thread 0xafdebb70 (LWP 23345) exited]
    [New Thread 0xafdebb70 (LWP 23346)]
    [Thread 0xafdebb70 (LWP 23346) exited]
    [New Thread 0xafdebb70 (LWP 23347)]
    [Thread 0xafdebb70 (LWP 23347) exited]
    [New Thread 0xaf5eab70 (LWP 23348)]
    [sqlite] unknown field: DETAIL_ID
    [sqlite] unknown field: MD5
    [sqlite] unknown field: VISIBLE
    [sqlite] unknown field: VCONTAINER_TYPE
    [sqlite] unknown field: VCONTAINER_PATH
    [sqlite] unknown field: MODIFIED_AT
    [sqlite] unknown field: UPDATED_AT
    [New Thread 0xaede9b70 (LWP 23349)]

    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0xaede9b70 (LWP 23349)]
    0xb7c283a6 in memcpy () from /lib/libc.so.6
    (gdb) bt
    #0 0xb7c283a6 in memcpy () from /lib/libc.so.6
    #1 0xb7ed794a in CAudioDecoderPlugin::CloseFile (this=0x8360518) at lib/Plugins/Plugin.h:296
    #2 0xb7ec96cc in fuppes::Thread::threadFunc (thread=0x8360518) at lib/Common/Thread.cpp:240
    #3 0xb7e1392f in start_thread () from /lib/libpthread.so.0
    #4 0xb7c8094e in clone () from /lib/libc.so.6
    (gdb) frame 1
    #1 0xb7ed794a in CAudioDecoderPlugin::CloseFile (this=0x8360518) at lib/Plugins/Plugin.h:296
    warning: Source file is more recent than executable.
    296 }
    (gdb) list
    291 return openFile(p_sFileName, pAudioDetails);
    292 }
    294 void CloseFile() {
    295 closeFile();
    296 }
    298 long DecodeInterleaved(char* p_PcmOut, int p_nBufferSize, int* p_nBytesRead) {
    299 return decodeInterleaved(p_PcmOut, p_nBufferSize, p_nBytesRead);
    300 }

  • Eugien Kochnev

    Eugien Kochnev - 2011-02-26

    Оf course!
    I replaced "audio/mpeg" to "audio/wav", but it not resolve problem.
    Playback begins and after some seconds program crashed with segmentation fault.
    u-voelkel, please write correct transcoding from flac-to wav!!!!


Log in to post a comment.