Bug 1581433 - A good deal of calf plugins crash on F28
Summary: A good deal of calf plugins crash on F28
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: calf
Version: 28
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Orcan Ogetbil
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1583139 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-05-22 18:25 UTC by Dragan
Modified: 2018-06-04 13:16 UTC (History)
5 users (show)

Fixed In Version: calf-0.90.0-2.fc28
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-06-04 13:16:45 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Dragan 2018-05-22 18:25:11 UTC
Description of problem:

A good deal of the plugins crash on Fedora 28, it is probably due to new hardening flags introduced in F28.
Plugins that crash: compressor, deesser, gate, monosynth ...
Some crash upon opening the settings of the plugin, for example multibandgate.
Others work as expected (filter, reverb, crusher, vocoder)


Version-Release number of selected component (if applicable):
0.90.0

How reproducible:
Always.


Steps to Reproduce:
1. calfjackhost monosynth

Actual results:
/usr/include/c++/8/bits/stl_vector.h:932: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = calf_plugins::jack_host::port; _Alloc = std::allocator<calf_plugins::jack_host::port>; std::vector<_Tp, _Alloc>::reference = calf_plugins::jack_host::port&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed.
Aborted (core dumped)

Additional info:

coredumpctl gdb
           PID: 6194 (calfjackhost)
           UID: 1000 (galileo)
           GID: 1000 (galileo)
        Signal: 6 (ABRT)
     Timestamp: Tue 2018-05-22 19:16:34 CEST (12min ago)
  Command Line: calfjackhost monosynth
    Executable: /usr/bin/calfjackhost
 Control Group: /user.slice/user-1000.slice/session-2.scope
          Unit: session-2.scope
         Slice: user-1000.slice
       Session: 2
     Owner UID: 1000 (galileo)
       Boot ID: 5051bd72ab1b415cb159929328127cfa
    Machine ID: 1c8410d8b8c04d0eb4f2871f19c20ef9
      Hostname: host.net
       Storage: /var/lib/systemd/coredump/core.calfjackhost.1000.5051bd72ab1b415cb159929328127cfa.6194.1527009394000000.lz4
       Message: Process 6194 (calfjackhost) of user 1000 dumped core.
                
                Stack trace of thread 6194:
                #0  0x00007fe9b1ec6f2b raise (libc.so.6)
                #1  0x00007fe9b1eb1561 abort (libc.so.6)
                #2  0x0000564c8f75956f __replacement_assert (calfjackhost)
                #3  0x0000564c8f75979d _ZN12calf_plugins9jack_host6createEv (calfjackhost)
                #4  0x0000564c8f74dc25 _ZN12calf_plugins12host_session10add_pluginENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S6_ (calfjackhost)
                #5  0x0000564c8f74e30d _ZN12calf_plugins12host_session24create_plugins_from_listEv (calfjackhost)
                #6  0x0000564c8f74e7b8 _ZN12calf_plugins12host_session4openEv (calfjackhost)
                #7  0x0000564c8f748d1f main (calfjackhost)
                #8  0x00007fe9b1eb318b __libc_start_main (libc.so.6)
                #9  0x0000564c8f74906a _start (calfjackhost)
                
                Stack trace of thread 6198:
                #0  0x00007fe9b3308a74 read (libpthread.so.0)
                #1  0x00007fe9b2eccc01 read (libjack.so.0)
                #2  0x00007fe9b2ed0105 _ZN4Jack22JackClientNotification4ReadEPNS_6detail31JackChannelTransactionInterfaceE (libjack.so.0)
                #3  0x00007fe9b2ecb91e _ZN4Jack15JackPosixThread13ThreadHandlerEPv (libjack.so.0)
                #4  0x00007fe9b32ff594 n/a (libpthread.so.0)
                #5  0x00007fe9b1f89fdf __clone (libc.so.6)
                
                Stack trace of thread 6197:
                #0  0x00007fe9b330552c pthread_cond_wait (libpthread.so.0)
                #1  0x00007fe9b2ecc370 _ZN4Jack20JackPosixProcessSync4WaitEv (libjack.so.0)
                #2  0x00007fe9b2ec407d _ZN4Jack17JackMessageBuffer7ExecuteEv (libjack.so.0)
                #3  0x00007fe9b2ecb91e _ZN4Jack15JackPosixThread13ThreadHandlerEPv (libjack.so.0)
                #4  0x00007fe9b32ff594 n/a (libpthread.so.0)
                #5  0x00007fe9b1f89fdf __clone (libc.so.6)
                
                Stack trace of thread 6195:
                #0  0x00007fe9b3308f1e recv (libpthread.so.0)
                #1  0x00007fe9b351dd6d recv (liblash.so.1)
                #2  0x00007fe9b351d43d lash_comm_recv_event (liblash.so.1)
                #3  0x00007fe9b351d681 lash_comm_recv_run (liblash.so.1)
                #4  0x00007fe9b32ff594 n/a (libpthread.so.0)
                #5  0x00007fe9b1f89fdf __clone (libc.so.6)
                
                Stack trace of thread 6196:
                #0  0x00007fe9b330552c pthread_cond_wait (libpthread.so.0)
                #1  0x00007fe9b351da8b lash_comm_send_run (liblash.so.1)
                #2  0x00007fe9b32ff594 n/a (libpthread.so.0)
                #3  0x00007fe9b1f89fdf __clone (libc.so.6)

GNU gdb (GDB) Fedora 8.1-15.fc28
Copyright (C) 2018 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 "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/calfjackhost...Reading symbols from /usr/lib/debug/usr/bin/calfjackhost-0.90.0-1.fc28.x86_64.debug...done.
done.
[New LWP 6194]
[New LWP 6198]
[New LWP 6197]
[New LWP 6195]
[New LWP 6196]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `calfjackhost monosynth'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50        return ret;
[Current thread is 1 (Thread 0x7fe9b6f09ac0 (LWP 6194))]
(gdb) 
(gdb) 
(gdb) 
(gdb) thread apply all backtrace

Thread 5 (Thread 0x7fe9a9146700 (LWP 6196)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x564c919514c0) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x564c91951468, cond=0x564c91951498) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=cond@entry=0x564c91951498, mutex=mutex@entry=0x564c91951468) at pthread_cond_wait.c:655
#3  0x00007fe9b351da8b in lash_comm_send_run (data=0x564c919513f0) at comm.c:300
#4  0x00007fe9b32ff594 in start_thread (arg=<optimized out>) at pthread_create.c:463
#5  0x00007fe9b1f89fdf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fe9a9947700 (LWP 6195)):
#0  __libc_recv (fd=fd@entry=5, buf=buf@entry=0x7fe9a4000b20, len=len@entry=4, flags=flags@entry=0) at ../sysdeps/unix/sysv/linux/recv.c:28
#1  0x00007fe9b351dd6d in recv (__flags=0, __n=4, __buf=0x7fe9a4000b20, __fd=5) at /usr/include/bits/socket2.h:44
#2  lash_recvall (socket=5, buf_ptr=buf_ptr@entry=0x7fe9a9946ae8, buf_size_ptr=buf_size_ptr@entry=0x7fe9a9946af0, flags=flags@entry=0) at socket.c:108
#3  0x00007fe9b351d43d in lash_comm_recv_event (socket=<optimized out>, event=event@entry=0x7fe9a9946b20) at comm.c:92
#4  0x00007fe9b351d681 in lash_comm_recv_run (data=0x564c919513f0) at comm.c:212
#5  0x00007fe9b32ff594 in start_thread (arg=<optimized out>) at pthread_create.c:463
#6  0x00007fe9b1f89fdf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fe9b6e5f700 (LWP 6197)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x564c91999e58) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x564c91999e00, cond=0x564c91999e30) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=cond@entry=0x564c91999e30, mutex=mutex@entry=0x564c91999e00) at pthread_cond_wait.c:655
#3  0x00007fe9b2ecc370 in Jack::JackPosixProcessSync::Wait() () at ../posix/JackPosixProcessSync.cpp:81
#4  0x00007fe9b2ec407d in Jack::JackMessageBuffer::Execute (this=0x564c91991bc0) at ../common/JackMessageBuffer.cpp:104
#5  0x00007fe9b2ecb91e in Jack::JackPosixThread::ThreadHandler (arg=0x564c91999dd8) at ../posix/JackPosixThread.cpp:59
#6  0x00007fe9b32ff594 in start_thread (arg=<optimized out>) at pthread_create.c:463
#7  0x00007fe9b1f89fdf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fe9b6dde700 (LWP 6198)):
#0  __libc_read (fd=8, buf=0x7fe9b6ddd9c0, nbytes=nbytes@entry=4) at ../sysdeps/unix/sysv/linux/read.c:27
#1  0x00007fe9b2eccc01 in read (__nbytes=4, __buf=<optimized out>, __fd=<optimized out>) at /usr/include/bits/unistd.h:44
#2  Jack::JackClientSocket::Read (this=0x7fe99c000b20, data=<optimized out>, len=4) at ../posix/JackSocket.cpp:195
#3  0x00007fe9b2ed0105 in Jack::JackClientNotification::Read (trans=0x7fe99c000b20, this=0x7fe9b6ddd9c0) at /usr/src/debug/jack-audio-connection-kit-1.9.12-4.fc28.x86_64/common/JackRequest.h:1664
#4  Jack::JackSocketClientChannel::Execute (this=0x564c91955150) at ../posix/JackSocketClientChannel.cpp:138
#5  0x00007fe9b2ecb91e in Jack::JackPosixThread::ThreadHandler (arg=0x564c91955280) at ../posix/JackPosixThread.cpp:59
#6  0x00007fe9b32ff594 in start_thread (arg=<optimized out>) at pthread_create.c:463
#7  0x00007fe9b1f89fdf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fe9b6f09ac0 (LWP 6194)):
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007fe9b1eb1561 in __GI_abort () at abort.c:79
#2  0x0000564c8f75956f in std::__replacement_assert (__condition=0x564c8f7a7318 "__builtin_expect(__n < this->size(), true)", __function=<synthetic pointer>, __line=932, __file=0x564c8f7a7348 "/usr/include/c++/8/bits/stl_vector.h")
    at /usr/include/c++/8/x86_64-redhat-linux/bits/c++config.h:2389
#3  std::vector<calf_plugins::jack_host::port, std::allocator<calf_plugins::jack_host::port> >::operator[] (__n=0, this=0x564c91953130) at /usr/include/c++/8/bits/stl_vector.h:932
#4  calf_plugins::jack_host::get_inputs (this=0x564c91953110) at ./calf/jackhost.h:149
#5  calf_plugins::jack_host::create_ports() () at jackhost.cpp:99
#6  0x0000564c8f75979d in calf_plugins::jack_host::create (this=0x564c91953110) at jackhost.cpp:88
#7  0x0000564c8f74dc25 in calf_plugins::host_session::add_plugin(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) () at host_session.cpp:97
#8  0x0000564c8f74e30d in calf_plugins::host_session::create_plugins_from_list() () at /usr/include/c++/8/bits/char_traits.h:285
#9  0x0000564c8f74e7b8 in calf_plugins::host_session::open() () at host_session.cpp:138
#10 0x0000564c8f748d1f in main () at jackhost.cpp:573
#11 0x00007fe9b1eb318b in __libc_start_main (main=0x564c8f7484b0 <main>, argc=2, argv=0x7ffdb82c81c8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffdb82c81b8) at ../csu/libc-start.c:308
#12 0x0000564c8f74906a in _start () at host_session.cpp:400

Comment 1 Orcan Ogetbil 2018-05-23 04:34:26 UTC
Thank you for the excellent bug report. Can you try the build from
    https://koji.fedoraproject.org/koji/taskinfo?taskID=27133871
It attempts to fix the crash you observed.

Comment 2 Dragan 2018-05-25 02:33:04 UTC
Hi

Sorry for the late response, for some reason I did not get the notification email. 
This build fixes the issue. I did some basic testing and everything seems to work as expected. 

Thanks

Comment 3 Orcan Ogetbil 2018-05-25 02:43:43 UTC
Cool. I'll put this on queue. Let us know if you experience any regression in the mean time.

Comment 4 Fedora Update System 2018-05-26 17:01:47 UTC
calf-0.90.0-2.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-660b33019b

Comment 5 Fedora Update System 2018-05-26 23:31:46 UTC
calf-0.90.0-2.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-660b33019b

Comment 6 Orcan Ogetbil 2018-05-28 14:56:10 UTC
*** Bug 1583139 has been marked as a duplicate of this bug. ***

Comment 7 Fedora Update System 2018-06-04 13:16:45 UTC
calf-0.90.0-2.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.