savonet / liquidsoap

Liquidsoap is a statically typed scripting general-purpose language with dedicated operators and backend for all thing media, streaming, file generation, automation, HTTP backend and more.
http://liquidsoap.info
GNU General Public License v2.0
1.4k stars 130 forks source link

Unable to use input.pulseaudio #489

Closed kiklop74 closed 7 years ago

kiklop74 commented 7 years ago

I am trying to use input.pulseadio as source from which to store audio files. The script I have so far looks like this:

extinput = input.pulseaudio(
      id="yeah"
    , device="alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo"
    , clock_safe=false
    )

output.file(
    %flac,
    "/some/dir/audio/%Y-%m-%d/%Y-%m-%d-%H_%M_%S.flac",
    reopen_when={0m0s},
    mksafe(extinput)
)

And it just goes through script without saying anything or sometimes I get core dump. The device id is correct. I tried doing the same with sox like this:

sox -t pulseaudio "alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo" recording.wav silence 1 0.1 5% 1 1.0 5%

And it works just fine.

Ubuntu 64bit 17.04, unity, pulseaudio etc. liquidsoap 1.32 with all needed plugins.

toots commented 7 years ago

Hi,

I'm able to play here using pulseaudio on OSX with a specific device.

Is your device listed in:

pacmd list-sinks

?

Do you have more logs to share?

kiklop74 commented 7 years ago

Yes here is the pacmd output:

4 sink(s) available.
  * index: 0
    name: <alsa_output.usb-UCQ01000_Samsung_UC_Audio-00.analog-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE 
    priority: 9049
    volume: front-left: 42215 /  64% / -11,46 dB,   front-right: 42215 /  64% / -11,46 dB
            balance 0,00
    base volume: 65536 / 100% / 0,00 dB
    volume steps: 65537
    muted: no
    current latency: 0,00 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 0
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0,00 ms; range is 0,50 .. 2000,00 ms
    card: 0 <alsa_card.usb-UCQ01000_Samsung_UC_Audio-00>
    module: 6
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "USB Audio"
        alsa.id = "USB Audio"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "2"
        alsa.card_name = "Samsung UC Audio"
        alsa.long_card_name = "UCQ01000 Samsung UC Audio at usb-0000:00:14.0-3.4, full speed"
        alsa.driver_name = "snd_usb_audio"
        device.bus_path = "pci-0000:00:14.0-usb-0:3.4:1.0"
        sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4/1-3.4:1.0/sound/card2"
        udev.id = "usb-UCQ01000_Samsung_UC_Audio-00"
        device.bus = "usb"
        device.vendor.id = "4c2d"
        device.vendor.name = "UCQ01000                        "
        device.product.id = "2900"
        device.product.name = "Samsung UC Audio"
        device.serial = "UCQ01000_Samsung_UC_Audio"
        device.string = "front:2"
        device.buffering.buffer_size = "352800"
        device.buffering.fragment_size = "176400"
        device.access_mode = "mmap+timer"
        device.profile.name = "analog-stereo"
        device.profile.description = "Analog Stereo"
        device.description = "Samsung UC Audio Analog Stereo"
        alsa.mixer_name = "USB Mixer"
        alsa.components = "USB4c2d:2900"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-usb"
    ports:
        analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
            properties:

    active port: <analog-output>
    index: 1
    name: <alsa_output.usb-Sony_Computer_Entertainment_Wireless_Stereo_Headset-00.analog-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE 
    priority: 9049
    volume: front-left: 6827 /  10% / -58,94 dB,   front-right: 6827 /  10% / -58,94 dB
            balance 0,00
    base volume: 65536 / 100% / 0,00 dB
    volume steps: 65537
    muted: no
    current latency: 0,00 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 2
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0,00 ms; range is 0,50 .. 2000,00 ms
    card: 1 <alsa_card.usb-Sony_Computer_Entertainment_Wireless_Stereo_Headset-00>
    module: 7
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "USB Audio"
        alsa.id = "USB Audio"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "1"
        alsa.card_name = "Wireless Stereo Headset"
        alsa.long_card_name = "Sony Computer Entertainment Wireless Stereo Headset at usb-0000:00:14.0-4.3, fu"
        alsa.driver_name = "snd_usb_audio"
        device.bus_path = "pci-0000:00:14.0-usb-0:4.3:1.0"
        sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.3/1-4.3:1.0/sound/card1"
        udev.id = "usb-Sony_Computer_Entertainment_Wireless_Stereo_Headset-00"
        device.bus = "usb"
        device.vendor.id = "12ba"
        device.vendor.name = "Licensed by Sony Computer Entertainment America"
        device.product.id = "0034"
        device.product.name = "Wireless Stereo Headset"
        device.serial = "Sony_Computer_Entertainment_Wireless_Stereo_Headset"
        device.form_factor = "headset"
        device.string = "front:1"
        device.buffering.buffer_size = "352800"
        device.buffering.fragment_size = "176400"
        device.access_mode = "mmap+timer"
        device.profile.name = "analog-stereo"
        device.profile.description = "Analog Stereo"
        device.description = "Wireless Stereo Headset Analog Stereo"
        alsa.mixer_name = "USB Mixer"
        alsa.components = "USB12ba:0034"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-headset-usb"
        device.intended_roles = "phone"
    ports:
        analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
            properties:

    active port: <analog-output>
    index: 3
    name: <alsa_output.pci-0000_00_1f.3.hdmi-stereo-extra1>
    driver: <module-alsa-card.c>
    flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE 
    priority: 9950
    volume: front-left: 65536 / 100% / 0,00 dB,   front-right: 65536 / 100% / 0,00 dB
            balance 0,00
    base volume: 65536 / 100% / 0,00 dB
    volume steps: 65537
    muted: no
    current latency: 0,00 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 6
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0,00 ms; range is 0,50 .. 371,52 ms
    card: 2 <alsa_card.pci-0000_00_1f.3>
    module: 8
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "HDMI 1"
        alsa.id = "HDMI 1"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "7"
        alsa.card = "0"
        alsa.card_name = "HDA Intel PCH"
        alsa.long_card_name = "HDA Intel PCH at 0xdf240000 irq 135"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:1f.3"
        sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "9d70"
        device.product.name = "Sunrise Point-LP HD Audio"
        device.form_factor = "internal"
        device.string = "hdmi:0,1"
        device.buffering.buffer_size = "65536"
        device.buffering.fragment_size = "32768"
        device.access_mode = "mmap+timer"
        device.profile.name = "hdmi-stereo-extra1"
        device.profile.description = "Digital Stereo (HDMI 2)"
        device.description = "Built-in Audio Digital Stereo (HDMI 2)"
        alsa.mixer_name = "Realtek ALC255"
        alsa.components = "HDA:10ec0255,1458fa55,00100002 HDA:80862809,80860101,00100000"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    ports:
        hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: yes)
            properties:
                device.icon_name = "video-display"
                device.product.name = "SyncMaster"
    active port: <hdmi-output-1>
    index: 4
    name: <alsa_output.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE 
    priority: 9049
    volume: front-left: 41350 /  63% / -12,00 dB,   front-right: 41350 /  63% / -12,00 dB
            balance 0,00
    base volume: 65536 / 100% / 0,00 dB
    volume steps: 65537
    muted: no
    current latency: 0,00 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 7
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0,00 ms; range is 0,50 .. 2000,00 ms
    card: 3 <alsa_card.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00>
    module: 28
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "USB Audio"
        alsa.id = "USB Audio"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "3"
        alsa.card_name = "USB Audio CODEC"
        alsa.long_card_name = "Burr-Brown from TI USB Audio CODEC at usb-0000:00:14.0-4.2, full speed"
        alsa.driver_name = "snd_usb_audio"
        device.bus_path = "pci-0000:00:14.0-usb-0:4.2:1.0"
        sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.2/1-4.2:1.0/sound/card3"
        udev.id = "usb-Burr-Brown_from_TI_USB_Audio_CODEC-00"
        device.bus = "usb"
        device.vendor.id = "08bb"
        device.vendor.name = "Texas Instruments"
        device.product.id = "2902"
        device.product.name = "PCM2902 Audio Codec"
        device.serial = "Burr-Brown_from_TI_USB_Audio_CODEC"
        device.string = "front:3"
        device.buffering.buffer_size = "352800"
        device.buffering.fragment_size = "176400"
        device.access_mode = "mmap+timer"
        device.profile.name = "analog-stereo"
        device.profile.description = "Analog Stereo"
        device.description = "PCM2902 Audio Codec Analog Stereo"
        alsa.mixer_name = "USB Mixer"
        alsa.components = "USB08bb:2902"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-usb"
    ports:
        analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
            properties:

    active port: <analog-output>

And here is the log

2017/10/06 14:18:56 >>> LOG START
2017/10/06 14:18:56 [main:3] Liquidsoap 1.3.2
2017/10/06 14:18:56 [main:3] Using: bytes=[distributed with OCaml 4.02 or above] pcre=7.2.3 dtools=0.3.3 duppy=0.6.1 duppy.syntax=0.6.1 cry=0.5.0 mm=0.3.0 ogg=0.5.1 vorbis=0.7.0 mad=0.4.5 flac=0.1.2 flac.ogg=0.1.2 dynlink=[distributed with Ocaml] lame=0.3.3 fdkaac=0.2.1 theora=0.3.1 alsa=0.2.3 samplerate=0.1.4 taglib=0.3.3 camomile=0.8.5 faad=0.3.3 pulseaudio=0.1.3
2017/10/06 14:18:56 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master.
2017/10/06 14:18:56 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2017/10/06 14:18:56 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2017/10/06 14:18:56 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2017/10/06 14:18:56 [threads:3] Created thread "generic queue #1".
2017/10/06 14:18:56 [threads:3] Created thread "generic queue #2".
2017/10/06 14:18:56 [threads:3] Created thread "non-blocking queue #1".
2017/10/06 14:18:56 [threads:3] Created thread "non-blocking queue #2".
kiklop74 commented 7 years ago

And now on the second run it works??? So it seems to be intermittently crashing?

2017/10/06 14:20:40 >>> LOG START
2017/10/06 14:20:40 [main:3] Liquidsoap 1.3.2
2017/10/06 14:20:40 [main:3] Using: bytes=[distributed with OCaml 4.02 or above] pcre=7.2.3 dtools=0.3.3 duppy=0.6.1 duppy.syntax=0.6.1 cry=0.5.0 mm=0.3.0 ogg=0.5.1 vorbis=0.7.0 mad=0.4.5 flac=0.1.2 flac.ogg=0.1.2 dynlink=[distributed with Ocaml] lame=0.3.3 fdkaac=0.2.1 theora=0.3.1 alsa=0.2.3 samplerate=0.1.4 taglib=0.3.3 camomile=0.8.5 faad=0.3.3 pulseaudio=0.1.3
2017/10/06 14:20:40 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master.
2017/10/06 14:20:40 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2017/10/06 14:20:40 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2017/10/06 14:20:40 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2017/10/06 14:20:40 [threads:3] Created thread "generic queue #1".
2017/10/06 14:20:40 [threads:3] Created thread "generic queue #2".
2017/10/06 14:20:40 [threads:3] Created thread "non-blocking queue #1".
2017/10/06 14:20:40 [threads:3] Created thread "non-blocking queue #2".
2017/10/06 14:20:40 [threads:3] Created thread "wallclock_main" (1 total).
2017/10/06 14:20:40 [clock.wallclock_main:3] Streaming loop starts, synchronized with wallclock.
2017/10/06 14:20:41 [mksafe:3] Switch to yeah.
2017/10/06 14:20:41 [clock.wallclock_main:2] We must catchup 1.19 seconds!
2017/10/06 14:20:42 [clock.wallclock_main:2] We must catchup 1.23 seconds!
2017/10/06 14:20:44 [clock.wallclock_main:2] We must catchup 1.46 seconds!
2017/10/06 14:20:45 [clock.wallclock_main:2] We must catchup 1.44 seconds!
2017/10/06 14:20:47 [clock.wallclock_main:2] We must catchup 1.42 seconds!
2017/10/06 14:20:48 [clock.wallclock_main:2] We must catchup 1.44 seconds!
2017/10/06 14:20:50 [clock.wallclock_main:2] We must catchup 1.42 seconds!
2017/10/06 14:20:51 [clock.wallclock_main:2] We must catchup 1.45 seconds!
2017/10/06 14:20:53 [clock.wallclock_main:2] We must catchup 1.43 seconds!
2017/10/06 14:20:54 [clock.wallclock_main:2] We must catchup 1.45 seconds!
2017/10/06 14:20:56 [clock.wallclock_main:2] We must catchup 1.43 seconds!
2017/10/06 14:20:57 [clock.wallclock_main:2] We must catchup 1.45 seconds!
2017/10/06 14:20:59 [clock.wallclock_main:2] We must catchup 1.44 seconds!
2017/10/06 14:21:00 [clock.wallclock_main:2] We must catchup 1.42 seconds!
2017/10/06 14:21:02 [clock.wallclock_main:2] We must catchup 1.44 seconds!
2017/10/06 14:21:03 [clock.wallclock_main:2] We must catchup 1.42 seconds!
2017/10/06 14:21:05 [clock.wallclock_main:2] We must catchup 1.45 seconds!
2017/10/06 14:21:06 [clock.wallclock_main:2] We must catchup 1.43 seconds!
2017/10/06 14:21:08 [clock.wallclock_main:2] We must catchup 1.45 seconds!
2017/10/06 14:21:09 [clock.wallclock_main:2] We must catchup 1.43 seconds!
2017/10/06 14:21:11 [clock.wallclock_main:2] We must catchup 1.45 seconds!
2017/10/06 14:21:12 [clock.wallclock_main:2] We must catchup 1.43 seconds!
2017/10/06 14:21:14 [clock.wallclock_main:2] We must catchup 1.46 seconds!
2017/10/06 14:21:15 [clock.wallclock_main:2] We must catchup 1.44 seconds!
2017/10/06 14:21:17 [clock.wallclock_main:2] We must catchup 1.42 seconds!
2017/10/06 14:21:18 [clock.wallclock_main:2] We must catchup 1.44 seconds!
2017/10/06 14:21:20 [clock.wallclock_main:2] We must catchup 1.43 seconds!
2017/10/06 14:21:21 [clock.wallclock_main:2] We must catchup 1.45 seconds!
2017/10/06 14:21:23 [clock.wallclock_main:2] We must catchup 1.43 seconds!
2017/10/06 14:21:24 [clock.wallclock_main:2] We must catchup 1.45 seconds!
2017/10/06 14:21:26 [clock.wallclock_main:2] We must catchup 1.43 seconds!
2017/10/06 14:21:28 [clock.wallclock_main:2] We must catchup 1.46 seconds!
2017/10/06 14:21:29 [clock.wallclock_main:2] We must catchup 1.44 seconds!
2017/10/06 14:21:31 [clock.wallclock_main:2] We must catchup 1.42 seconds!
2017/10/06 14:21:32 [clock.wallclock_main:2] We must catchup 1.44 seconds!
2017/10/06 14:21:34 [clock.wallclock_main:2] We must catchup 1.42 seconds!
2017/10/06 14:21:35 [clock.wallclock_main:2] We must catchup 1.45 seconds!
2017/10/06 14:21:37 [clock.wallclock_main:2] We must catchup 1.43 seconds!
2017/10/06 14:21:38 [clock.wallclock_main:2] We must catchup 1.45 seconds!
2017/10/06 14:21:40 [clock.wallclock_main:2] We must catchup 1.43 seconds!
2017/10/06 14:21:41 [clock.wallclock_main:2] We must catchup 1.46 seconds!
2017/10/06 14:21:43 [clock.wallclock_main:2] We must catchup 1.44 seconds!
2017/10/06 14:21:44 [clock.wallclock_main:2] We must catchup 1.42 seconds!
2017/10/06 14:21:46 [clock.wallclock_main:2] We must catchup 1.44 seconds!
2017/10/06 14:21:47 [clock.wallclock_main:2] We must catchup 1.42 seconds!
2017/10/06 14:21:49 [clock.wallclock_main:2] We must catchup 1.45 seconds!
2017/10/06 14:21:50 [clock.wallclock_main:2] We must catchup 1.43 seconds!
2017/10/06 14:21:52 [clock.wallclock_main:2] We must catchup 1.45 seconds!
2017/10/06 14:21:53 [clock.wallclock_main:2] We must catchup 1.43 seconds!
2017/10/06 14:21:55 [clock.wallclock_main:2] We must catchup 1.45 seconds!
2017/10/06 14:21:55 [main:3] Shutdown started!
2017/10/06 14:21:55 [main:3] Waiting for threads to terminate...
2017/10/06 14:21:56 [clock.wallclock_main:2] We must catchup 1.44 seconds!
2017/10/06 14:21:56 [clock.wallclock_main:3] Streaming loop stopped.
2017/10/06 14:21:56 [threads:3] Thread "wallclock_main" terminated (0 remaining).
2017/10/06 14:21:56 [main:3] Threads terminated.
2017/10/06 14:21:56 [threads:3] Shutting down scheduler...
2017/10/06 14:21:56 [threads:3] Scheduler shut down.
2017/10/06 14:21:56 [main:3] Cleaning downloaded files...
2017/10/06 14:21:56 [threads:3] Thread "non-blocking queue #1" terminated.
2017/10/06 14:21:56 [main:3] Freeing memory...
2017/10/06 14:21:56 >>> LOG END
kiklop74 commented 7 years ago

So it seems to be only working when sox binary is configured. Is that expected?

This script always fails with core dump

set("log.file.path","/tmp/basic-audiostore2.log")

extinput = input.pulseaudio(
      id="yeah"
    , device="alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo"
    , clock_safe=false
    )

# Dump the stream
output.file(
    %flac,
    "/home/darko/audio/%Y-%m-%d/%Y-%m-%d-%H_%M_%S.flac",
    reopen_when={0m0s},
    mksafe(extinput)
)

While this one works

set("log.file.path","/tmp/basic-audiostore2.log")
set("protocol.say.sox_path","/usr/bin/sox")

extinput = input.pulseaudio(
      id="yeah"
    , device="alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo"
    , clock_safe=false
    )

# Dump the stream
output.file(
    %flac,
    "/home/darko/audio/%Y-%m-%d/%Y-%m-%d-%H_%M_%S.flac",
    reopen_when={0m0s},
    mksafe(extinput)
)
toots commented 7 years ago

Interesting. The difference you noticed is probably just a side effect of the segfault. Sometimes when the code is run slightly differently it doesn't trigger the conditions for the crash.

Have you confirmed that this is not an issue with the output part? What happen if you replace output.file by a output.dummy ?

kiklop74 commented 7 years ago

With dummy it works just fine in both cases. How can I debug this? My knowledge of liquidsoap is less than rudimentary.

kiklop74 commented 7 years ago

Interesting this version just works

set("log.file.path","/tmp/basic-audiostore2.log")

extinput = input.pulseaudio(
      id="yeah"
    , device="alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo"
    , clock_safe=true
    )

# Dump the stream
output.file(
    %flac,
    "/home/darko/audio/%Y-%m-%d/%Y-%m-%d-%H_%M_%S.flac",
    reopen_when={0m0s},
    mksafe(extinput)
)

It seems that clock_safe must be true.

kiklop74 commented 7 years ago

And now I started it again and got core dump. Restarted again and it works... so there is something wrong but not sure how to debug this...

toots commented 7 years ago

Yeah, it's a segfault. Have you ever used gdb? This is the tool to find out. Let me see.. Try something like this (from memory):

gdb /path/to/liquidsoap/bin
> run /path/to/script
(crashes)
> thread apply all bt

See if you can get a backtrace of the segfault..

toots commented 7 years ago

Some more doc here: https://wiki.debian.org/HowToGetABacktrace

kiklop74 commented 7 years ago

Ok here is what i got so far:

This is the cli I ran:

gdb -q --command=/home/darko/projects/consulting/audio-test/bt.gdb /home/darko/.opam/system/bin/liquidsoap

bt.gdb is just a command file to simplify the process and it looks like this:

run  /home/darko/projects/consulting/audio-test/sample-audioin.liq
thread apply all bt

And here is the backtrace:

Reading symbols from /home/darko/.opam/system/bin/liquidsoap...done.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffefcae700 (LWP 9426)]
[New Thread 0x7fffef4ad700 (LWP 9427)]
[New Thread 0x7fffeecac700 (LWP 9428)]
[New Thread 0x7fffee4ab700 (LWP 9429)]
[New Thread 0x7fffedcaa700 (LWP 9430)]
[New Thread 0x7fffed4a9700 (LWP 9431)]
[New Thread 0x7fffecca8700 (LWP 9432)]
[New Thread 0x7fffc3fff700 (LWP 9433)]

Thread 9 "liquidsoap" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffc3fff700 (LWP 9433)]
0x00005555559696e7 in camlPrintf__k$27_1041 ()

Thread 9 (Thread 0x7fffc3fff700 (LWP 9433)):
#0  0x00005555559696e7 in camlPrintf__k$27_1041 ()
#1  0x00005555558809d1 in camlClock__fun_1855 () at clock.ml:340
#2  0x00005555558a2b0e in camlTutils__fun_1485 () at tools/tutils.ml:136
#3  0x000055555593bd29 in camlThread__fun_1084 () at thread.ml:37
#4  0x00005555559d0430 in caml_start_program ()
#5  0x00007fffdc077850 in ?? ()
#6  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7fffecca8700 (LWP 9432)):
#0  0x00007ffff44ead8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff7bb8df1 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#2  0x00007ffff7baa601 in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#3  0x00007ffff7baac9e in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007ffff7baad50 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007ffff7bb8d39 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007ffff41c07d8 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so
#7  0x00007ffff4bd76da in start_thread (arg=0x7fffecca8700) at pthread_create.c:456
#8  0x00007ffff44f6d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 7 (Thread 0x7fffed4a9700 (LWP 9431)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00005555559b6e94 in caml_condition_wait ()
#2  0x00005555558a34ba in camlTutils__fun_1602 () at tools/tutils.ml:313
#3  0x00005555558a38bc in camlTutils__mutexify_1115 () at tools/tutils.ml:80
#4  0x000055555592bd2d in camlDtools__thread_1313 () at dtools.ml:548
#5  0x000055555593bd29 in camlThread__fun_1084 () at thread.ml:37
#6  0x00005555559d0430 in caml_start_program ()
#7  0x000055555601e3a0 in ?? ()
#8  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fffedcaa700 (LWP 9430)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00005555559b6e94 in caml_condition_wait ()
#2  0x000055555592799e in camlDuppy__queue_1113 () at duppy.ml:298
#3  0x00005555558a317f in camlTutils__queue_1261 () at tools/tutils.ml:215
#4  0x00005555558a2b0e in camlTutils__fun_1485 () at tools/tutils.ml:136
#5  0x000055555593bd29 in camlThread__fun_1084 () at thread.ml:37
---Type <return> to continue, or q <return> to quit---
#6  0x00005555559d0430 in caml_start_program ()
#7  0x000055555601e150 in ?? ()
#8  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fffee4ab700 (LWP 9429)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00005555559b6e94 in caml_condition_wait ()
#2  0x000055555592799e in camlDuppy__queue_1113 () at duppy.ml:298
#3  0x00005555558a317f in camlTutils__queue_1261 () at tools/tutils.ml:215
#4  0x00005555558a2b0e in camlTutils__fun_1485 () at tools/tutils.ml:136
#5  0x000055555593bd29 in camlThread__fun_1084 () at thread.ml:37
#6  0x00005555559d0430 in caml_start_program ()
#7  0x000055555601df00 in ?? ()
#8  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fffeecac700 (LWP 9428)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00005555559b6e94 in caml_condition_wait ()
#2  0x000055555592799e in camlDuppy__queue_1113 () at duppy.ml:298
#3  0x00005555558a31c2 in camlTutils__queue_1261 () at tools/tutils.ml:213
#4  0x00005555558a2b0e in camlTutils__fun_1485 () at tools/tutils.ml:136
#5  0x000055555593bd29 in camlThread__fun_1084 () at thread.ml:37
#6  0x00005555559d0430 in caml_start_program ()
#7  0x000055555601dcb0 in ?? ()
#8  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fffef4ad700 (LWP 9427)):
#0  0x00007ffff44ecb73 in select () at ../sysdeps/unix/syscall-template.S:84
#1  0x00005555559b635f in caml_thread_tick ()
#2  0x00007ffff4bd76da in start_thread (arg=0x7fffef4ad700) at pthread_create.c:456
#3  0x00007ffff44f6d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 2 (Thread 0x7fffefcae700 (LWP 9426)):
#0  0x00007ffff44ecb73 in select () at ../sysdeps/unix/syscall-template.S:84
#1  0x00005555559ba0e2 in unix_select ()
#2  0x0000555555924f19 in camlDuppy__f_1092 () at duppy.ml:178
#3  0x00005555559272c4 in camlDuppy__process_1083 () at duppy.ml:201
#4  0x0000555555927910 in camlDuppy__queue_1113 () at duppy.ml:295
#5  0x00005555558a31c2 in camlTutils__queue_1261 () at tools/tutils.ml:213
#6  0x00005555558a2b0e in camlTutils__fun_1485 () at tools/tutils.ml:136
#7  0x000055555593bd29 in camlThread__fun_1084 () at thread.ml:37
#8  0x00005555559d0430 in caml_start_program ()
#9  0x000055555601d8f0 in ?? ()
---Type <return> to continue, or q <return> to quit---
#10 0xffffffffffffffff in ?? ()
#11 0xffffffffffffffff in ?? ()
#12 0x000055555601d8f0 in ?? ()
#13 0xf12884d8c762ae18 in ?? ()
#14 0x00007fffffffd90e in ?? ()
#15 0x00007fffffffd90f in ?? ()
#16 0x00007fffefcae9c0 in ?? ()
#17 0x00007fffefcae700 in ?? ()
#18 0x0ed75b4d7122ae18 in ?? ()
#19 0x5b822fee0f7eae18 in ?? ()
#20 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffff7f341c0 (LWP 9422)):
#0  do_sigwait (sig=0x7fffffffda6c, set=<optimized out>) at ../sysdeps/unix/sysv/linux/sigwait.c:64
#1  __sigwait (set=<optimized out>, sig=0x7fffffffda6c) at ../sysdeps/unix/sysv/linux/sigwait.c:96
#2  0x00005555559b65dd in caml_wait_signal ()
#3  0x000055555592e64c in camlDtools__wait_signal_1300 () at dtools.ml:519
#4  0x000055555592e78a in camlDtools__main_1308 () at dtools.ml:559
#5  0x000055555592e938 in camlDtools__catch_1319 () at dtools.ml:566
#6  0x000055555578b8ad in camlMain__Make_1320 () at main.ml:636
#7  0x0000555555788637 in camlRunner__entry ()
#8  0x0000555555781379 in caml_program ()
#9  0x00005555559d0430 in caml_start_program ()
#10 0x000000010000ffff in ?? ()
#11 0x00007fffffffdc70 in ?? ()
#12 0xf12398e437d58a00 in ?? ()
#13 0x0000000000000002 in ?? ()
#14 0x0000000000000000 in ?? ()
toots commented 7 years ago

Well, it's a mess.. gdb points to printf but, honestly, it can't be that call. I'm suspecting a whole stack corruption here.. I'm gonna review the pulseaudio binding code. You did this a dummy output right?

kiklop74 commented 7 years ago

No. This backtrace is made using the output.file. When I use output.dummy nothing crashes.

If you need me to do something else please let me know.

kiklop74 commented 7 years ago

New data for you. If I try to use mp3 as output format everything works perfectly. Only with flac there are coredumps (and yes I do have installed flac support).

toots commented 7 years ago

Ha! Then it's definitely flac. That code is hacky, I'll try to revisit it.

toots commented 7 years ago

Ok, there was an easy one that has a good chance of being your issue. Any chance you could try with the latest flac? Try this:

git clone --recursive https://github.com/savonet/ocaml-flac.git
cd ocaml-flac
opam pin add flac .
kiklop74 commented 7 years ago

Unable to install package

flac is now path-pinned to /home/darko/projects/ocamlground/ocaml-flac

[flac] /home/darko/projects/ocamlground/ocaml-flac/ synchronized
[flac] Installing new package description from /home/darko/projects/ocamlground/ocaml-flac

flac needs to be reinstalled.
The following actions will be performed:
  ↗  upgrade   flac       0.1.2 to dev*
  ↻  recompile liquidsoap 1.3.2               [uses flac]
===== ↻  1   ↗  1 =====
Do you want to continue ? [Y/n] y

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[liquidsoap] Archive in cache
[flac.dev] /home/darko/projects/ocamlground/ocaml-flac/ already up-to-date

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
⊘  removed   liquidsoap.1.3.2
⊘  removed   flac.0.1.2
[ERROR] The compilation of flac failed at "./configure --prefix /home/darko/.opam/system".
Processing  3/4: [flac: ocamlfind remove]
#=== ERROR while installing flac.dev ==========================================#
# opam-version 1.2.2
# os           linux
# command      ./configure --prefix /home/darko/.opam/system
# path         /home/darko/.opam/system/build/flac.dev
# compiler     system (4.02.3)
# exit-code    127
# env-file     /home/darko/.opam/system/build/flac.dev/flac-12169-d0f245.env
# stdout-file  /home/darko/.opam/system/build/flac.dev/flac-12169-d0f245.out
# stderr-file  /home/darko/.opam/system/build/flac.dev/flac-12169-d0f245.err
### stdout ###

=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The following actions were aborted
  ∗  install liquidsoap 1.3.2
The following actions failed
  ∗  install flac dev
The following changes have been performed
  ⊘  remove flac       0.1.2
  ⊘  remove liquidsoap 1.3.2

=-=- flac.dev troobleshooting -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=> This package relies on external (system) dependencies that may be missing. `opam depext flac.dev' may help you find the
   correct installation for your system.
[NOTE] Pinning command successful, but your installed packages may be out of sync.

The former state can be restored with:
    opam switch import "~/.opam/system/backup/state-20170907170844.export"
toots commented 7 years ago

You might need some dev tools, try to install these:

apt-get install autoconf automake
kiklop74 commented 7 years ago

OK, now it installed. But I still get coredump with flac.

toots commented 7 years ago

Bummer. Any change in the backtrace?

kiklop74 commented 7 years ago

Here is the backtrace:

Reading symbols from /home/darko/.opam/system/bin/liquidsoap...done.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffefcae700 (LWP 29388)]
[New Thread 0x7fffef4ad700 (LWP 29389)]
[New Thread 0x7fffeecac700 (LWP 29390)]
[New Thread 0x7fffee4ab700 (LWP 29391)]
[New Thread 0x7fffedcaa700 (LWP 29392)]
[New Thread 0x7fffed4a9700 (LWP 29393)]
[New Thread 0x7fffecca8700 (LWP 29394)]
[New Thread 0x7fffc7fff700 (LWP 29395)]

Thread 9 "liquidsoap" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffc7fff700 (LWP 29395)]
0x00005555559696a7 in camlPrintf__k$27_1041 ()

Thread 9 (Thread 0x7fffc7fff700 (LWP 29395)):
#0  0x00005555559696a7 in camlPrintf__k$27_1041 ()
No symbol table info available.
#1  0x0000555555880991 in camlClock__fun_1855 () at clock.ml:340
No locals.
#2  0x00005555558a2ace in camlTutils__fun_1485 () at tools/tutils.ml:136
No locals.
#3  0x000055555593bce9 in camlThread__fun_1084 () at thread.ml:37
No locals.
#4  0x00005555559d1cc0 in caml_start_program ()
No symbol table info available.
#5  0x00007fffd8077830 in ?? ()
No symbol table info available.
#6  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 8 (Thread 0x7fffecca8700 (LWP 29394)):
#0  0x00007ffff44ead8d in poll () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007ffff7bb8df1 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#2  0x00007ffff7baa601 in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#3  0x00007ffff7baac9e in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#4  0x00007ffff7baad50 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#5  0x00007ffff7bb8d39 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#6  0x00007ffff41c07d8 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-10.0.so
No symbol table info available.
#7  0x00007ffff4bd76da in start_thread (arg=0x7fffecca8700) at pthread_create.c:456
        __res = <optimized out>
        pd = 0x7fffecca8700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737166083840, -5498811305960515411, 140737174472286, 140737174472287, 
                140737166084544, 140737166083840, 5498778410846148781, 5498795341260544173}, 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"
#8  0x00007ffff44f6d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105
No locals.

Thread 7 (Thread 0x7fffed4a9700 (LWP 29393)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1  0x00005555559b8724 in caml_condition_wait ()
No symbol table info available.
#2  0x00005555558a347a in camlTutils__fun_1602 () at tools/tutils.ml:313
No locals.
#3  0x00005555558a387c in camlTutils__mutexify_1115 () at tools/tutils.ml:80
No locals.
#4  0x000055555592bced in camlDtools__thread_1313 () at dtools.ml:548
No locals.
#5  0x000055555593bce9 in camlThread__fun_1084 () at thread.ml:37
No locals.
#6  0x00005555559d1cc0 in caml_start_program ()
No symbol table info available.
#7  0x000055555601fb50 in ?? ()
No symbol table info available.
#8  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 6 (Thread 0x7fffedcaa700 (LWP 29392)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1  0x00005555559b8724 in caml_condition_wait ()
No symbol table info available.
#2  0x000055555592795e in camlDuppy__queue_1113 () at duppy.ml:298
No locals.
#3  0x00005555558a313f in camlTutils__queue_1261 () at tools/tutils.ml:215
No locals.
#4  0x00005555558a2ace in camlTutils__fun_1485 () at tools/tutils.ml:136
No locals.
#5  0x000055555593bce9 in camlThread__fun_1084 () at thread.ml:37
No locals.
#6  0x00005555559d1cc0 in caml_start_program ()
No symbol table info available.
#7  0x000055555601f900 in ?? ()
No symbol table info available.
#8  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 5 (Thread 0x7fffee4ab700 (LWP 29391)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1  0x00005555559b8724 in caml_condition_wait ()
No symbol table info available.
#2  0x000055555592795e in camlDuppy__queue_1113 () at duppy.ml:298
No locals.
#3  0x00005555558a313f in camlTutils__queue_1261 () at tools/tutils.ml:215
No locals.
#4  0x00005555558a2ace in camlTutils__fun_1485 () at tools/tutils.ml:136
No locals.
#5  0x000055555593bce9 in camlThread__fun_1084 () at thread.ml:37
No locals.
#6  0x00005555559d1cc0 in caml_start_program ()
No symbol table info available.
#7  0x000055555601f6b0 in ?? ()
No symbol table info available.
#8  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 4 (Thread 0x7fffeecac700 (LWP 29390)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1  0x00005555559b8724 in caml_condition_wait ()
No symbol table info available.
#2  0x000055555592795e in camlDuppy__queue_1113 () at duppy.ml:298
No locals.
#3  0x00005555558a3182 in camlTutils__queue_1261 () at tools/tutils.ml:213
No locals.
#4  0x00005555558a2ace in camlTutils__fun_1485 () at tools/tutils.ml:136
No locals.
#5  0x000055555593bce9 in camlThread__fun_1084 () at thread.ml:37
No locals.
#6  0x00005555559d1cc0 in caml_start_program ()
No symbol table info available.
#7  0x000055555601f460 in ?? ()
No symbol table info available.
#8  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 3 (Thread 0x7fffef4ad700 (LWP 29389)):
#0  0x00007ffff44ecb73 in select () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00005555559b7bef in caml_thread_tick ()
No symbol table info available.
#2  0x00007ffff4bd76da in start_thread (arg=0x7fffef4ad700) at pthread_create.c:456
        __res = <optimized out>
        pd = 0x7fffef4ad700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737208047360, -5498811305960515411, 140737488345374, 140737488345375, 
                140737208048064, 140737208047360, 5498775117143103661, 5498795341260544173}, 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"
#3  0x00007ffff44f6d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105
No locals.

Thread 2 (Thread 0x7fffefcae700 (LWP 29388)):
#0  0x00007ffff44ecb73 in select () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00005555559bb972 in unix_select ()
No symbol table info available.
#2  0x0000555555924ed9 in camlDuppy__f_1092 () at duppy.ml:178
No locals.
#3  0x0000555555927284 in camlDuppy__process_1083 () at duppy.ml:201
No locals.
#4  0x00005555559278d0 in camlDuppy__queue_1113 () at duppy.ml:295
No locals.
#5  0x00005555558a3182 in camlTutils__queue_1261 () at tools/tutils.ml:213
No locals.
#6  0x00005555558a2ace in camlTutils__fun_1485 () at tools/tutils.ml:136
No locals.
#7  0x000055555593bce9 in camlThread__fun_1084 () at thread.ml:37
No locals.
#8  0x00005555559d1cc0 in caml_start_program ()
No symbol table info available.
#9  0x000055555601f0a0 in ?? ()
No symbol table info available.
#10 0xffffffffffffffff in ?? ()
No symbol table info available.
#11 0xffffffffffffffff in ?? ()
No symbol table info available.
#12 0x000055555601f0a0 in ?? ()
No symbol table info available.
#13 0xb3b04c404d5258ad in ?? ()
No symbol table info available.
#14 0x00007fffffffd91e in ?? ()
No symbol table info available.
#15 0x00007fffffffd91f in ?? ()
No symbol table info available.
#16 0x00007fffefcae9c0 in ?? ()
No symbol table info available.
#17 0x00007fffefcae700 in ?? ()
No symbol table info available.
#18 0x4c4f93d5fb1258ad in ?? ()
No symbol table info available.
#19 0x191ae776b46e58ad in ?? ()
No symbol table info available.
#20 0x0000000000000000 in ?? ()
No symbol table info available.

Thread 1 (Thread 0x7ffff7f341c0 (LWP 29384)):
#0  do_sigwait (sig=0x7fffffffda7c, set=<optimized out>) at ../sysdeps/unix/sysv/linux/sigwait.c:64
        ret = <optimized out>
        tmpset = {__val = {33, 93825001374144, 1, 17130116699454963712, 140737488345808, 140737488345800, 93825003551568, 
            93824996834384, 3, 8392704, 4096, 140737166086144, 140737223453552, 93824996833116, 140737488345728, 93824996833251}}
#1  __sigwait (set=<optimized out>, sig=0x7fffffffda7c) at ../sysdeps/unix/sysv/linux/sigwait.c:96
        oldtype = 0
        sig = 0x7fffffffda7c
        set = <optimized out>
#2  0x00005555559b7e6d in caml_wait_signal ()
No symbol table info available.
#3  0x000055555592e60c in camlDtools__wait_signal_1300 () at dtools.ml:519
No locals.
#4  0x000055555592e74a in camlDtools__main_1308 () at dtools.ml:559
No locals.
#5  0x000055555592e8f8 in camlDtools__catch_1319 () at dtools.ml:566
No locals.
#6  0x000055555578b86d in camlMain__Make_1320 () at main.ml:636
No locals.
#7  0x00005555557885f7 in camlRunner__entry ()
No symbol table info available.
#8  0x0000555555781339 in caml_program ()
No symbol table info available.
#9  0x00005555559d1cc0 in caml_start_program ()
No symbol table info available.
#10 0x000000010000ffff in ?? ()
No symbol table info available.
#11 0x00007fffffffdc80 in ?? ()
No symbol table info available.
#12 0xedba666145443300 in ?? ()
No symbol table info available.
#13 0x0000000000000002 in ?? ()
No symbol table info available.
#14 0x0000000000000000 in ?? ()
No symbol table info available.
toots commented 7 years ago

Thanks. I just pushed another small fix to ocaml-flac, mind doing a git pull there and then opam reinstall flac ? Thanks!

kiklop74 commented 7 years ago

Now it works. Thanks for your effort :) When can we expect new release of flac package?

toots commented 7 years ago

Awesome! I'll release it right now.