Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • pipewire pipewire
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 622
    • Issues 622
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.

Update #1:

Due to abusive users subverting our CI facilities to mine cryptocurrency, breaking out of the container sandbox in the process, we have been forced to take actions to limit the usage of the public runners to official projects only.

The policy will be enforced on 2023-03-23 (or before if we detect abuses).

Please see this issue for more context and to see if and how you are impacted.

  • PipeWirePipeWire
  • pipewirepipewire
  • Issues
  • #2796
Closed
Open
Issue created Oct 29, 2022 by Gon Solo@gonsolo

Ardour crashes when trying to disconnect from Jack

Ardour tip crashes when I try to disconnect from the jack server. I am running 0.3.58. The stack trace is:

#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007ffff343bc46 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff34227fc in __GI_abort () at ./stdlib/abort.c:79
#5  0x00007ffff342271b in __assert_fail_base
    (fmt=0x7fffef6039b5 "%s%s%s:%u: %s%sZusicherung »%s« nicht erfüllt.\n%n", assertion=0x7fffd7fe1614 "px != 0", file=0x7fffd7fe15e8 "/usr/include/boost/smart_ptr/shared_ptr.hpp", line=728, function=<optimized out>) at ./assert/assert.c:92
#6  0x00007ffff3433596 in __GI___assert_fail
    (assertion=0x7fffd7fe1614 "px != 0", file=0x7fffd7fe15e8 "/usr/include/boost/smart_ptr/shared_ptr.hpp", line=728, function=0x7fffd7fe1620 "typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = ARDOUR::JackPort; typename boost::detail::sp_member_access<T>::type = ARDOUR::JackPort*]") at ./assert/assert.c:101
#7  0x00007fffd7fd34fc in boost::shared_ptr<ARDOUR::JackPort>::operator->() const (this=0x7fffffffb410)
    at /usr/include/boost/smart_ptr/shared_ptr.hpp:728
#8  0x00007fffd7fd0883 in ARDOUR::JACKAudioBackend::get_port_name[abi:cxx11](boost::shared_ptr<ARDOUR::ProtoPort> const&) const
     (this=0x555557804280, port=...) at ../libs/backends/jack/jack_portengine.cc:125
#9  0x00007ffff744b2a4 in ARDOUR::PortManager::get_port_by_name(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (this=0x555557595bf0, portname="ardour:Master/audio_in 1") at ../libs/ardour/port_manager.cc:507
#10 0x00007ffff6dd9fc3 in ARDOUR::Bundle::connected_to(boost::shared_ptr<ARDOUR::Bundle>, ARDOUR::AudioEngine&, ARDOUR::DataType, bool)
     (this=0x55555f2f6800, other=..., engine=..., type=..., exclusive=true) at ../libs/ardour/bundle.cc:483
#11 0x000055555627a9af in IOButtonBase::set_label(IOButtonBase&, ARDOUR::Session&, boost::shared_ptr<ARDOUR::Bundle>&, boost::shared_ptr<ARDOUR::IO>)
    (self=..., session=..., bndl=..., io=...) at ../gtk2_ardour/io_button.cc:258
#12 0x00005555562801b3 in IOButton::update() (this=0x55557775d140) at ../gtk2_ardour/io_button.cc:703
#13 0x000055555628c369 in boost::_mfi::mf0<void, IOButton>::operator()(IOButton*) const (this=0x7fffcdec0958, p=0x55557775d140)
    at /usr/include/boost/bind/mem_fn_template.hpp:49
#14 0x000055555628aa47 in boost::_bi::list1<boost::_bi::value<IOButton*> >::operator()<boost::_mfi::mf0<void, IOButton>, boost::_bi::rrlist2<ARDOUR::IOChange, void*> >(boost::_bi::type<void>, boost::_mfi::mf0<void, IOButton>&, boost::_bi::rrlist2<ARDOUR::IOChange, void*>&, int)
    (this=0x7fffcdec0968, f=..., a=...) at /usr/include/boost/bind/bind.hpp:259
#15 0x0000555556288e85 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, IOButton>, boost::_bi::list1<boost::_bi::value<IOButton*> > >::operator()<ARDOUR::IOChange, void*>(ARDOUR::IOChange&&, void*&&) (this=0x7fffcdec0958, a1=..., a2=@0x7fffffffbe00: 0x55555792d400)
    at /usr/include/boost/bind/bind.hpp:1318
#16 0x00005555562871a4 in boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void, boost::_mfi::mf0<void, IOButton>, boost::_bi::list1<boost::_bi::value<IOButton*> > >, void, ARDOUR::IOChange, void*>::invoke(boost::detail::function::function_buffer&, ARDOUR::IOChange, void*)
    (function_obj_ptr=..., a0=..., a1=0x55555792d400) at /usr/include/boost/function/function_template.hpp:158
#17 0x00005555561e76db in boost::function2<void, ARDOUR::IOChange, void*>::operator()(ARDOUR::IOChange, void*) const

I like to further debug this but trying out the latest pipewire from source with make run fails with:

[E][01473.763083] mod.protocol-native | [module-protocol-:  731 lock_socket()] server 0x557700ae4ff0: unable to lock lockfile '/run/user/1000/pipewire-0.lock': Die Ressource ist zur Zeit nicht verfügbar (maybe another daemon is running)
[E][01473.763292] pw.conf      | [          conf.c:  594 load_module()] 0x557700ac5f40: could not load mandatory module "libpipewire-module-protocol-native": Die Ressource ist zur Zeit nicht verfügbar
[E][01473.763664] default      | [      pipewire.c:  125 main()] failed to create context: Die Ressource ist zur Zeit nicht verfügbar

Maybe make run could disable an existing running pipewire?

Anyway, after a systemctl --user stop pipewire.socket I get the following errors after make run:

[E][01611.591613] pw.module    | [   impl-module.c:  279 pw_context_load_module()] No module "libpipewire-module-x11-bell" was found
Using build directory: /home/gonsolo/src/pipewire/builddir/subprojects/wireplumber
[W][01621.594919] mod.protocol-pulse | [        server.c:  607 start_unix_server()] server 0x564d19339590: socket '/run/user/1000/pulse/native' is in use
[W][01621.595061] mod.protocol-pulse | [        server.c: 1036 servers_create_and_start()] pulse-server 0x564d19338c30: failed to start server on 'unix:/run/user/1000/pulse/native': Die Adresse wird bereits verwendet
[E][01621.595071] mod.protocol-pulse | [  pulse-server.c: 5621 pw_protocol_pulse_new()] 0x564d19338c30: no servers could be started: Die Adresse wird bereits verwendet
[E][01621.595120] pw.conf      | [          conf.c:  594 load_module()] 0x564d19313cf0: could not load mandatory module "libpipewire-module-protocol-pulse": Die Adresse wird bereits verwendet
[E][01621.595490] default      | [      pipewire.c:  125 main()] failed to create context: Die Adresse wird bereits verwendet
M 11:15:21.478076    m-lua-scripting ../subprojects/wireplumber/modules/module-lua-scripting/api/config.c:80:load_components: Failed to open module /home/gonsolo/src/pipewire/builddir/subprojects/wireplumber/modules/libwireplumber-module-logind: /home/gonsolo/src/pipewire/builddir/subprojects/wireplumber/modules/libwireplumber-module-logind.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
C 11:15:21.480108               GLib (null):(null):(null): Failed to set scheduler settings: Vorgang nicht zulässig
M 11:15:21.483198          wp-device ../subprojects/wireplumber/lib/wp/device.c:619:wp_spa_device_new_from_spa_factory: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
M 11:15:21.483219   script/libcamera libcamera.lua:168:chunk: PipeWire's libcamera SPA missing or broken. libcamera not supported.
M 11:15:21.493756          wp-device ../subprojects/wireplumber/lib/wp/device.c:619:wp_spa_device_new_from_spa_factory: SPA handle 'api.bluez5.enum.dbus' could not be loaded; is it installed?
M 11:15:21.493778       script/bluez bluez.lua:167:createMonitor: PipeWire's BlueZ SPA missing or broken. Bluetooth not supported.

I'm running Wayland. I am just trying to debug the first issue with latest Ardour and Pipewire. Is there an easy way to do this? I didn't find any documentation for this.

Edited Oct 29, 2022 by Gon Solo
Assignee
Assign to
Time tracking