Closed mweinelt closed 2 years ago
I have the same issue on my system (EndeavourOS) altough this happens very inconsistently.
How to reproduce?
Not yet fully clear. The user that triggered that for us said he changed the volume around the time when the track changed.
I've rebuilt with debug symbols a few weeks back but we haven't seen another crash since 2022/05/31.
Consistent crashes with PipeWire 0.3.53 on my side too; maybe this is related: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2488?
Use the pipewire output. Queue music. Don't start the music. Change the volume. CRASH.
#0 0x00007f0451bca070 in pthread_mutex_lock@@GLIBC_2.2.5 () from /nix/store/d2bpliayddadf6lx6l1i04w265gqw8n6-glibc-2.34-210/lib/libc.so.6
No symbol table info available.
#1 0x00007f0452af6a3d in pw_thread_loop_lock () from /nix/store/cjf8rjhqv1phpqg1403qbwkhv5vwnbfs-pipewire-0.3.52-lib/lib/libpipewire-0.3.so.0
No symbol table info available.
#2 0x00000000004ba67d in PipeWire::ThreadLoopLock::ThreadLoopLock (_loop=0x0, this=0x7fff9ea1d848) at ../src/lib/pipewire/ThreadLoop.hxx:45
No locals.
#3 PipeWireOutput::SetVolume (this=0x1e1e360, _volume=0.979999959) at ../src/output/plugins/PipeWireOutputPlugin.cxx:314
lock = {loop = 0x0}
newvol = <optimized out>
#4 0x00000000004badb9 in pipewire_output_set_volume (output=..., volume=<optimized out>) at ../src/output/plugins/PipeWireOutputPlugin.cxx:926
No locals.
#5 0x0000000000523eed in PipeWireMixer::SetVolume (this=0x1e18660, new_volume=98) at ../src/mixer/plugins/PipeWireMixerPlugin.cxx:77
No locals.
#6 0x00000000004c56b9 in mixer_set_volume (mixer=0x1e18660, volume=volume@entry=98) at ../src/mixer/MixerControl.cxx:149
__PRETTY_FUNCTION__ = "void mixer_set_volume(Mixer*, unsigned int)"
protect = {_M_device = @0x1e18678}
#7 0x00000000004c59eb in output_mixer_set_volume (ao=..., volume=volume@entry=98) at ../src/mixer/MixerAll.cxx:87
__PRETTY_FUNCTION__ = "bool output_mixer_set_volume(AudioOutputControl&, unsigned int)"
mixer = <optimized out>
#8 0x00000000004c5ae4 in MultipleOutputs::SetVolume (this=this@entry=0x1dd5dd0, volume=volume@entry=98) at ../src/mixer/MixerAll.cxx:104
ao = std::unique_ptr<AudioOutputControl> = {get() = 0x1e1e8b0}
__for_range = std::vector of length 2, capacity 2 = {std::unique_ptr<AudioOutputControl> = {get() = 0x1e1e8b0}, std::unique_ptr<AudioOutputControl> = {get() = 0x1e1eb40}}
__for_begin = <optimized out>
__for_end = <optimized out>
__PRETTY_FUNCTION__ = "bool MultipleOutputs::SetVolume(unsigned int)"
success = false
#9 0x0000000000452ea1 in hardware_volume_change (outputs=..., volume=volume@entry=98) at ../src/mixer/Volume.cxx:80
No locals.
#10 0x0000000000452f65 in volume_level_change (outputs=..., volume=98) at ../src/mixer/Volume.cxx:92
__PRETTY_FUNCTION__ = "bool volume_level_change(MultipleOutputs&, unsigned int)"
#11 0x0000000000427ce8 in handle_volume (client=..., args=..., r=...) at ../src/command/OtherCommands.cxx:368
relative = <optimized out>
outputs = @0x1dd5dd0: {<PlayerOutputs> = {_vptr.PlayerOutputs = 0x59f538 <vtable for MultipleOutputs+16>}, client = @0x1dd5e18, mixer_listener = @0x1dd4920,
outputs = std::vector of length 2, capacity 2 = {std::unique_ptr<AudioOutputControl> = {get() = 0x1e1e8b0}, std::unique_ptr<AudioOutputControl> = {get() = 0x1e1eb40}},
input_audio_format = {sample_rate = 0, format = SampleFormat::UNDEFINED, channels = 0 '\000'}, pipe = std::unique_ptr<MusicPipe> = {get() = 0x0},
elapsed_time = {<std::chrono::duration<int, std::ratio<1, 1000> >> = {__r = -1}, <No data fields>}}
old_volume = <optimized out>
new_volume = <optimized out>
#12 0x00000000004214a8 in command_process (client=..., num=num@entry=0, line=<optimized out>) at ../src/command/AllCommands.cxx:432
cmd = <optimized out>
r = {client = @0x1e45360, list_index = 0, command = 0x556693 "volume"}
tokenizer = {input = 0x1e45383 ""}
cmd_name = 0x1e45378 "volume"
argv = {0x1e4537f "-2", 0x7fff9ea1da70 "\025", 0x13 <error: Cannot access memory at address 0x13>,
0x7f045538b5f6 <void fmt::v7::detail::vformat_to<char>(fmt::v7::detail::buffer<char>&, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<fmt::v7::detail::buffer_appender<fmt::v7::type_identity<char>::type>, fmt::v7::type_identity<char>::type> >, fmt::v7::detail::locale_ref)+1142> "H\213\204$\250", 0x0,
--Type <RET> for more, q to quit, c to continue without paging--
"", 0x53aa4e "", 0x7fff9ea1daa0 "0\364\336\001", 0x5 <error: Cannot access memory at address 0x5>,
0x7f045538b5f6 <void fmt::v7::detail::vformat_to<char>(fmt::v7::detail::buffer<char>&, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<fmt::v7::detail::buffer_appender<fmt::v7::type_identity<char>::type>, fmt::v7::type_identity<char>::type> >, fmt::v7::detail::locale_ref)+1142> "H\213\204$\250", 0x0, 0x1e3cba8 "\320}\355L\004\177", 0x7fff9ea1db68 "\003", 0x15warning: (Internal error: pc 0x15 in read in psymtab, but not in symtab.)
<error: Cannot access memory at address 0x15>, 0x7f044ce6f280 <cipher_compare> "\213V\030\061\300\071W\030t\005\031\300\203\310\001\303\351", <incomplete sequence \353\271>, 0x1e3cba8 "\320}\355L\004\177", 0x15warning: (Internal error: pc 0x15 in read in psymtab, but not in symtab.)
<error: Cannot access memory at address 0x15>, 0x52e700 "Loading state file {}", 0x15warning: (Internal error: pc 0x15 in read in psymtab, but not in symtab.)
<error: Cannot access memory at address 0x15>, 0x7f0451c4a842 <send+114> "H\213D$\bH\203\304\020[]A\\A]A^\303\017\037@", 0x7fff9ea1db00 "\244\315\024R\004\177", 0xewarning: (Internal error: pc 0xe in read in psymtab, but not in symtab.)
<error: Cannot access memory at address 0xe>, 0x1def430 "\n",
0x2 <error: Cannot access memory at address 0x2>, 0x0, 0x0, 0x7f0452155520 <idle_names> "п\024R\004\177", 0x7f045213e628 <mpd_async_io+424> "H\205\300\017\211\267", 0x7fff9ea1db80 "\001", 0x1def430 "\n", 0x7fff9ea1db10 "\036", 0x0, 0x0, 0x7f0452155520 <idle_names> "п\024R\004\177", 0x7f045214cda4 " ",
0x7f0452149a2a <mpd_sync_flush+74> "\250\002t\022H\211\356H\211\337\350W\374\377\377\205\300u#E1\344H\213D$\030dH+\004%(", 0x1ewarning: (Internal error: pc 0x1e in read in psymtab, but not in symtab.)
<error: Cannot access memory at address 0x1e>, 0x0, 0x7fff9ea1dba0 "",
0x46b9ff <AppendTo(DynamicFifoBuffer<std::byte>&, void const*, size_t)+207> "H\213C\bH\213S\020H9\320\017\207\377", 0xewarning: (Internal error: pc 0xe in read in psymtab, but not in symtab.)
<error: Cannot access memory at address 0xe>, 0x0,
0x1e47590 "OK\ne: hexa/Two Steps From Hell - Dragon (2019) [WEB FLAC]/01 - Unbreakable.flac\nLast-Modified: 2019-09-29T12:26:32Z\nFormat: 44100:16:2\nArtist: Thomas Bergersen\nAlbum: Dragon\nAlbumArtist: Two Steps Fro"..., 0x4000 <error: Cannot access memory at address 0x4000>, 0x0,
0x7e4b2467a3e2af00 <error: Cannot access memory at address 0x7e4b2467a3e2af00>, 0x1dd3590 "\320\302\330\001", 0x3 <error: Cannot access memory at address 0x3>, 0x1e473d8 "", 0x52adab "OK\n", 0x1 <error: Cannot access memory at address 0x1>,
0x7e4b2467a3e2af00 <error: Cannot access memory at address 0x7e4b2467a3e2af00>, 0x1e45360 "H8Z", 0x52adef "[{}] process command \"{}\"", 0x0, 0x59e220 <client_domain> "W\234T", 0x7fff9ea1dbc0 "\001",
0x4386e8 <LogFmt<char [26], unsigned int const&, char*&>(LogLevel, Domain const&, char const (&) [26], unsigned int const&, char*&)+110> "H\213D$(dH+\004%(", 0x1 <error: Cannot access memory at address 0x1>, 0x59e220 <client_domain> "W\234T", 0x1e45378 "volume",
0x1 <error: Cannot access memory at address 0x1>, 0x1e3a2d0 "hexa/Two Steps From Hell - Dragon (2019) [WEB FLAC]/04 - Dragon.flac", 0x7e4b2467a3e2af00 <error: Cannot access memory at address 0x7e4b2467a3e2af00>}
args = <optimized out>
#13 0x0000000000438bad in Client::ProcessLine (this=this@entry=0x1e45360, line=<optimized out>, line@entry=0x1e45378 "volume") at ../src/client/Process.cxx:137
id = 1
ret = <optimized out>
__PRETTY_FUNCTION__ = "CommandResult Client::ProcessLine(char*)"
#14 0x0000000000438da0 in Client::OnSocketInput (this=0x1e45360, data=0x1e45378, length=<optimized out>) at ../src/client/Read.cxx:49
p = 0x1e45378 "volume"
newline = 0x1e45383 ""
end = <optimized out>
result = <optimized out>
#15 0x000000000046d65c in BufferedSocket::ResumeInput (this=this@entry=0x1e45360) at ../src/event/BufferedSocket.cxx:76
buffer = <optimized out>
result = <optimized out>
__PRETTY_FUNCTION__ = "bool BufferedSocket::ResumeInput()"
#16 0x000000000046d800 in BufferedSocket::OnSocketReady (this=this@entry=0x1e45360, flags=flags@entry=1) at ../src/event/BufferedSocket.cxx:113
__PRETTY_FUNCTION__ = "virtual void BufferedSocket::OnSocketReady(unsigned int)"
#17 0x000000000046ddf3 in FullyBufferedSocket::OnSocketReady (this=0x1e45360, flags=1) at ../src/event/FullyBufferedSocket.cxx:106
__PRETTY_FUNCTION__ = "virtual void FullyBufferedSocket::OnSocketReady(unsigned int)"
#18 0x0000000000437a7f in BindMethodDetail::WrapperGenerator<void (BufferedSocket::*)(unsigned int) noexcept, &BufferedSocket::OnSocketReady>::Invoke(void*, unsigned int) (_instance=<optimized out>, args#0=<optimized out>) at ../src/util/BindMethod.hxx:130
t = <optimized out>
#19 0x000000000046d0b7 in BoundMethod<void (unsigned int) noexcept>::operator()(unsigned int) const (args#0=<optimized out>, this=<optimized out>) at ../src/util/BindMethod.hxx:78
No locals.
#20 SocketEvent::Dispatch (this=<optimized out>) at ../src/event/SocketEvent.cxx:121
flags = <optimized out>
#21 0x00000000004707cf in EventLoop::Run (this=this@entry=0x7fff9ea1df38) at ../src/event/Loop.cxx:362
socket_event = <optimized out>
timeout = {__r = 0}
__PRETTY_FUNCTION__ = "void EventLoop::Run()"
at_scope_exit_284 = {<> = {__this = 0x7fff9ea1df38}, enabled = true}
at_scope_exit_295 = {<> = {__this = 0x7fff9ea1df38}, enabled = true}
#22 0x000000000041fc94 in MainConfigured (options=..., raw_config=...) at ../src/Main.cxx:576
icu_init = <optimized out>
net_init = <optimized out>
dbus_init = <optimized out>
config = {replay_gain = {static DEFAULT_LIMIT = true, preamp = 1, missing_preamp = 1, limit = true}}
instance = {<EventLoopHolder> = {event_loop = {wake_fd = {fd = {fd = {<FileDescriptor> = {fd = 3}, <No data fields>}}}, wake_event = {<IntrusiveListHook> = {siblings = {next = 0x1dd34c0, prev = 0x5aa3e8 <monitor+8>}}, <EpollEvents> = {static READ = 1, static WRITE = 4, static ERROR = 8, static HANGUP = 16},
loop = @0x7fff9ea1df38, callback = {instance_ = 0x7fff9ea1df38, function = 0x470952 <BindMethodDetail::WrapperGenerator<void (EventLoop::*)(unsigned int) noexcept, &EventLoop::OnSocketReady>::Invoke(void*, unsigned int)>}, fd = {<FileDescriptor> = {fd = 3}, <No data fields>}, scheduled_flags = 25,
ready_flags = 0, static IMPLICIT_FLAGS = 24}, coarse_timers = {static RESOLUTION = {__r = 1000000000}, static SPAN = <same as static member of an already seen type>, static N_BUCKETS = 120, buckets = {_M_elems = {{head = {next = 0x7fff9ea1df78, prev = 0x7fff9ea1df78}}, {head = {next = 0x7fff9ea1df88,
prev = 0x7fff9ea1df88}}, {head = {next = 0x7fff9ea1df98, prev = 0x7fff9ea1df98}}, {head = {next = 0x7fff9ea1dfa8, prev = 0x7fff9ea1dfa8}}, {head = {next = 0x7fff9ea1dfb8, prev = 0x7fff9ea1dfb8}}, {head = {next = 0x7fff9ea1dfc8, prev = 0x7fff9ea1dfc8}}, {head = {next = 0x7fff9ea1dfd8,
prev = 0x7fff9ea1dfd8}}, {head = {next = 0x7fff9ea1dfe8, prev = 0x7fff9ea1dfe8}}, {head = {next = 0x7fff9ea1dff8, prev = 0x7fff9ea1dff8}}, {head = {next = 0x7fff9ea1e008, prev = 0x7fff9ea1e008}}, {head = {next = 0x7fff9ea1e018, prev = 0x7fff9ea1e018}}, {head = {next = 0x7fff9ea1e028,
prev = 0x7fff9ea1e028}}, {head = {next = 0x7fff9ea1e038, prev = 0x7fff9ea1e038}}, {head = {next = 0x7fff9ea1e048, prev = 0x7fff9ea1e048}}, {head = {next = 0x7fff9ea1e058, prev = 0x7fff9ea1e058}}, {head = {next = 0x7fff9ea1e068, prev = 0x7fff9ea1e068}}, {head = {next = 0x7fff9ea1e078,
prev = 0x7fff9ea1e078}}, {head = {next = 0x7fff9ea1e088, prev = 0x7fff9ea1e088}}, {head = {next = 0x7fff9ea1e098, prev = 0x7fff9ea1e098}}, {head = {next = 0x7fff9ea1e0a8, prev = 0x7fff9ea1e0a8}}, {head = {next = 0x7fff9ea1e0b8, prev = 0x7fff9ea1e0b8}}, {head = {next = 0x7fff9ea1e0c8,
prev = 0x7fff9ea1e0c8}}, {head = {next = 0x7fff9ea1e0d8, prev = 0x7fff9ea1e0d8}}, {head = {next = 0x7fff9ea1e0e8, prev = 0x7fff9ea1e0e8}}, {head = {next = 0x7fff9ea1e0f8, prev = 0x7fff9ea1e0f8}}, {head = {next = 0x7fff9ea1e108, prev = 0x7fff9ea1e108}}, {head = {next = 0x7fff9ea1e118,
prev = 0x7fff9ea1e118}}, {head = {next = 0x7fff9ea1e128, prev = 0x7fff9ea1e128}}, {head = {next = 0x7fff9ea1e138, prev = 0x7fff9ea1e138}}, {head = {next = 0x7fff9ea1e148, prev = 0x7fff9ea1e148}}, {head = {next = 0x7fff9ea1e158, prev = 0x7fff9ea1e158}}, {head = {next = 0x7fff9ea1e168,
prev = 0x7fff9ea1e168}}, {head = {next = 0x7fff9ea1e178, prev = 0x7fff9ea1e178}}, {head = {next = 0x7fff9ea1e188, prev = 0x7fff9ea1e188}}, {head = {next = 0x7fff9ea1e198, prev = 0x7fff9ea1e198}}, {head = {next = 0x7fff9ea1e1a8, prev = 0x7fff9ea1e1a8}}, {head = {next = 0x7fff9ea1e1b8,
prev = 0x7fff9ea1e1b8}}, {head = {next = 0x7fff9ea1e1c8, prev = 0x7fff9ea1e1c8}}, {head = {next = 0x7fff9ea1e1d8, prev = 0x7fff9ea1e1d8}}, {head = {next = 0x7fff9ea1e1e8, prev = 0x7fff9ea1e1e8}}, {head = {next = 0x7fff9ea1e1f8, prev = 0x7fff9ea1e1f8}}, {head = {next = 0x7fff9ea1e208,
prev = 0x7fff9ea1e208}}, {head = {next = 0x7fff9ea1e218, prev = 0x7fff9ea1e218}}, {head = {next = 0x7fff9ea1e228, prev = 0x7fff9ea1e228}}, {head = {next = 0x7fff9ea1e238, prev = 0x7fff9ea1e238}}, {head = {next = 0x7fff9ea1e248, prev = 0x7fff9ea1e248}}, {head = {next = 0x7fff9ea1e258,
prev = 0x7fff9ea1e258}}, {head = {next = 0x7fff9ea1e268, prev = 0x7fff9ea1e268}}, {head = {next = 0x7fff9ea1e278, prev = 0x7fff9ea1e278}}, {head = {next = 0x7fff9ea1e288, prev = 0x7fff9ea1e288}}, {head = {next = 0x7fff9ea1e298, prev = 0x7fff9ea1e298}}, {head = {next = 0x7fff9ea1e2a8,
prev = 0x7fff9ea1e2a8}}, {head = {next = 0x7fff9ea1e2b8, prev = 0x7fff9ea1e2b8}}, {head = {next = 0x7fff9ea1e2c8, prev = 0x7fff9ea1e2c8}}, {head = {next = 0x7fff9ea1e2d8, prev = 0x7fff9ea1e2d8}}, {head = {next = 0x7fff9ea1e2e8, prev = 0x7fff9ea1e2e8}}, {head = {next = 0x7fff9ea1e2f8,
prev = 0x7fff9ea1e2f8}}, {head = {next = 0x7fff9ea1e308, prev = 0x7fff9ea1e308}}, {head = {next = 0x7fff9ea1e318, prev = 0x7fff9ea1e318}}, {head = {next = 0x7fff9ea1e328, prev = 0x7fff9ea1e328}}, {head = {next = 0x7fff9ea1e338, prev = 0x7fff9ea1e338}}, {head = {next = 0x1e47418,
prev = 0x1e47418}}, {head = {next = 0x7fff9ea1e358, prev = 0x7fff9ea1e358}}, {head = {next = 0x7fff9ea1e368, prev = 0x7fff9ea1e368}}, {head = {next = 0x7fff9ea1e378, prev = 0x7fff9ea1e378}}, {head = {next = 0x7fff9ea1e388, prev = 0x7fff9ea1e388}}, {head = {next = 0x7fff9ea1e398,
prev = 0x7fff9ea1e398}}, {head = {next = 0x7fff9ea1e3a8, prev = 0x7fff9ea1e3a8}}, {head = {next = 0x7fff9ea1e3b8, prev = 0x7fff9ea1e3b8}}, {head = {next = 0x7fff9ea1e3c8, prev = 0x7fff9ea1e3c8}}, {head = {next = 0x7fff9ea1e3d8, prev = 0x7fff9ea1e3d8}}, {head = {next = 0x7fff9ea1e3e8,
prev = 0x7fff9ea1e3e8}}, {head = {next = 0x7fff9ea1e3f8, prev = 0x7fff9ea1e3f8}}, {head = {next = 0x7fff9ea1e408, prev = 0x7fff9ea1e408}}, {head = {next = 0x7fff9ea1e418, prev = 0x7fff9ea1e418}}, {head = {next = 0x7fff9ea1e428, prev = 0x7fff9ea1e428}}, {head = {next = 0x7fff9ea1e438,
prev = 0x7fff9ea1e438}}, {head = {next = 0x7fff9ea1e448, prev = 0x7fff9ea1e448}}, {head = {next = 0x7fff9ea1e458, prev = 0x7fff9ea1e458}}, {head = {next = 0x7fff9ea1e468, prev = 0x7fff9ea1e468}}, {head = {next = 0x7fff9ea1e478, prev = 0x7fff9ea1e478}}, {head = {next = 0x7fff9ea1e488,
prev = 0x7fff9ea1e488}}, {head = {next = 0x7fff9ea1e498, prev = 0x7fff9ea1e498}}, {head = {next = 0x7fff9ea1e4a8, prev = 0x7fff9ea1e4a8}}, {head = {next = 0x7fff9ea1e4b8, prev = 0x7fff9ea1e4b8}}, {head = {next = 0x7fff9ea1e4c8, prev = 0x7fff9ea1e4c8}}, {head = {next = 0x7fff9ea1e4d8,
prev = 0x7fff9ea1e4d8}}, {head = {next = 0x7fff9ea1e4e8, prev = 0x7fff9ea1e4e8}}, {head = {next = 0x7fff9ea1e4f8, prev = 0x7fff9ea1e4f8}}, {head = {next = 0x7fff9ea1e508, prev = 0x7fff9ea1e508}}, {head = {next = 0x7fff9ea1e518, prev = 0x7fff9ea1e518}}, {head = {next = 0x7fff9ea1e528,
prev = 0x7fff9ea1e528}}, {head = {next = 0x7fff9ea1e538, prev = 0x7fff9ea1e538}}, {head = {next = 0x7fff9ea1e548, prev = 0x7fff9ea1e548}}, {head = {next = 0x7fff9ea1e558, prev = 0x7fff9ea1e558}}, {head = {next = 0x7fff9ea1e568, prev = 0x7fff9ea1e568}}, {head = {next = 0x7fff9ea1e578,
prev = 0x7fff9ea1e578}}, {head = {next = 0x7fff9ea1e588, prev = 0x7fff9ea1e588}}, {head = {next = 0x7fff9ea1e598, prev = 0x7fff9ea1e598}}, {head = {next = 0x7fff9ea1e5a8, prev = 0x7fff9ea1e5a8}}, {head = {next = 0x7fff9ea1e5b8, prev = 0x7fff9ea1e5b8}}, {head = {next = 0x7fff9ea1e5c8,
prev = 0x7fff9ea1e5c8}}, {head = {next = 0x7fff9ea1e5d8, prev = 0x7fff9ea1e5d8}}, {head = {next = 0x7fff9ea1e5e8, prev = 0x7fff9ea1e5e8}}, {head = {next = 0x7fff9ea1e5f8, prev = 0x7fff9ea1e5f8}}, {head = {next = 0x7fff9ea1e608, prev = 0x7fff9ea1e608}}, {head = {next = 0x7fff9ea1e618,
prev = 0x7fff9ea1e618}}, {head = {next = 0x7fff9ea1e628, prev = 0x7fff9ea1e628}}, {head = {next = 0x7fff9ea1e638, prev = 0x7fff9ea1e638}}, {head = {next = 0x7fff9ea1e648, prev = 0x7fff9ea1e648}}, {head = {next = 0x7fff9ea1e658, prev = 0x7fff9ea1e658}}, {head = {next = 0x7fff9ea1e668,
prev = 0x7fff9ea1e668}}, {head = {next = 0x7fff9ea1e678, prev = 0x7fff9ea1e678}}, {head = {next = 0x7fff9ea1e688, prev = 0x7fff9ea1e688}}, {head = {next = 0x7fff9ea1e698, prev = 0x7fff9ea1e698}}, {head = {next = 0x7fff9ea1e6a8, prev = 0x7fff9ea1e6a8}}, {head = {next = 0x7fff9ea1e6b8,
prev = 0x7fff9ea1e6b8}}, {head = {next = 0x7fff9ea1e6c8, prev = 0x7fff9ea1e6c8}}, {head = {next = 0x7fff9ea1e6d8, prev = 0x7fff9ea1e6d8}}, {head = {next = 0x7fff9ea1e6e8, prev = 0x7fff9ea1e6e8}}}}, ready = {head = {next = 0x7fff9ea1e6f8, prev = 0x7fff9ea1e6f8}}, last_time = {__d = {
__r = 149641000000000}}, empty = false}, timers = {
timers = {<boost::intrusive::multiset_impl<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, unsigned long, false, void>> = {<boost::intrusive::bstree_impl<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, unsigned long, false, (boost::intrusive::algo_types)5, void>> = {<boost::intrusive::bstbase<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, false, unsigned long, (boost::intrusive::algo_types)5, void>> = {<boost::intrusive::bstbase_hack<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, false, unsigned long, (boost::intrusive::algo_types)5, void>> = {<boost::intrusive::bstbase2<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, (boost::intrusive::algo_types)5, void>> = {<boost::intrusive::detail::ebo_functor_holder<boost::intrusive::tree_value_compare<FineTimerEvent*, TimerList::Compare, boost::move_detail::identity<FineTimerEvent>, bool, true>, void, false>> = {<boost::intrusive::tree_value_compare<FineTimerEvent*, TimerList::Compare, boost::move_detail::identity<FineTimerEvent>, bool, true>> = {<boost::intrusive::detail::ebo_functor_holder<TimerList::Compare, void, false>> = {<TimerList::Compare> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <boost::intrusive::bstbase3<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, (boost::intrusive::algo_types)5, void>> = {
holder = {<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>> = {<boost::intrusive::bhtraits_base<FineTimerEvent, boost::intrusive::rbtree_node<void*>*, boost::intrusive::dft_tag, 3>> = {<No data fields>}, static link_mode = boost::intrusive::auto_unlink}, root = {<boost::intrusive::rbtree_node<void*>> = {parent_ = 0x1e3bdd0, left_ = 0x1e3bdd0, right_ = 0x1e3bdd0,
color_ = boost::intrusive::rbtree_node<void*>::red_t}, <No data fields>}}}, <No data fields>}, <No data fields>}, <No data fields>}, static constant_time_size = false}, <No data fields>}, <No data fields>}}, defer = {head = {next = 0x7fff9ea1e738, prev = 0x7fff9ea1e738}}, idle = {
head = {next = 0x7fff9ea1e748, prev = 0x7fff9ea1e748}}, mutex = {<std::__mutex_base> = {_M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>,
__align = 0}}, <No data fields>}, inject = {<boost::intrusive::list_impl<boost::intrusive::bhtraits<InjectEvent, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 1>, unsigned long, false, void>> = {static constant_time_size = false,
data_ = {<boost::intrusive::bhtraits<InjectEvent, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 1>> = {<boost::intrusive::bhtraits_base<InjectEvent, boost::intrusive::list_node<void*>*, boost::intrusive::dft_tag, 1>> = {<No data fields>},
--Type <RET> for more, q to quit, c to continue without paging--
static link_mode = boost::intrusive::safe_link}, root_plus_size_ = {<boost::intrusive::detail::size_holder<false, unsigned long, void>> = {<No data fields>}, m_header = {<boost::intrusive::list_node<void*>> = {next_ = 0x7fff9ea1f9c8,
prev_ = 0x7fff9ea1f9c8}, <No data fields>}}}}, <No data fields>}, sockets = {head = {next = 0x5aa3e8 <monitor+8>, prev = 0x1e47378}}, ready_sockets = {head = {next = 0x7fff9ea1e7a0, prev = 0x7fff9ea1e7a0}}, uring = std::unique_ptr<Uring::Manager> = {get() = 0x0}, thread = {
id = 139656408451904}, alive = true, quit = {_M_base = {static _S_alignment = 1, _M_i = false}, static is_always_lock_free = true}, again = true, busy = true, uring_initialized = false, poll_backend = {epoll = {fd = {<FileDescriptor> = {fd = 4}, <No data fields>}}}, steady_clock_cache = {value = {
__d = {__r = 149641825365107}}}}}, <DatabaseListener> = {_vptr.DatabaseListener = 0x59e248 <vtable for Instance+16>}, <NeighborListener> = {_vptr.NeighborListener = 0x59e280 <vtable for Instance+72>}, <RemoteTagCacheHandler> = {_vptr.RemoteTagCacheHandler = 0x59e2a0 <vtable for Instance+104>},
io_thread = {event_loop = {wake_fd = {fd = {fd = {<FileDescriptor> = {fd = 5}, <No data fields>}}}, wake_event = {<IntrusiveListHook> = {siblings = {next = 0x7f0444003b80, prev = 0x1e1edd0}}, <EpollEvents> = {static READ = 1, static WRITE = 4, static ERROR = 8, static HANGUP = 16}, loop = @0x7fff9ea1e7e8,
callback = {instance_ = 0x7fff9ea1e7e8, function = 0x470952 <BindMethodDetail::WrapperGenerator<void (EventLoop::*)(unsigned int) noexcept, &EventLoop::OnSocketReady>::Invoke(void*, unsigned int)>}, fd = {<FileDescriptor> = {fd = 5}, <No data fields>}, scheduled_flags = 25, ready_flags = 0,
static IMPLICIT_FLAGS = 24}, coarse_timers = {static RESOLUTION = {__r = 1000000000}, static SPAN = <same as static member of an already seen type>, static N_BUCKETS = 120, buckets = {_M_elems = {{head = {next = 0x7fff9ea1e828, prev = 0x7fff9ea1e828}}, {head = {next = 0x7fff9ea1e838,
prev = 0x7fff9ea1e838}}, {head = {next = 0x7fff9ea1e848, prev = 0x7fff9ea1e848}}, {head = {next = 0x7fff9ea1e858, prev = 0x7fff9ea1e858}}, {head = {next = 0x7fff9ea1e868, prev = 0x7fff9ea1e868}}, {head = {next = 0x7fff9ea1e878, prev = 0x7fff9ea1e878}}, {head = {next = 0x7fff9ea1e888,
prev = 0x7fff9ea1e888}}, {head = {next = 0x7fff9ea1e898, prev = 0x7fff9ea1e898}}, {head = {next = 0x7fff9ea1e8a8, prev = 0x7fff9ea1e8a8}}, {head = {next = 0x7fff9ea1e8b8, prev = 0x7fff9ea1e8b8}}, {head = {next = 0x7fff9ea1e8c8, prev = 0x7fff9ea1e8c8}}, {head = {next = 0x7fff9ea1e8d8,
prev = 0x7fff9ea1e8d8}}, {head = {next = 0x7fff9ea1e8e8, prev = 0x7fff9ea1e8e8}}, {head = {next = 0x7fff9ea1e8f8, prev = 0x7fff9ea1e8f8}}, {head = {next = 0x7fff9ea1e908, prev = 0x7fff9ea1e908}}, {head = {next = 0x7fff9ea1e918, prev = 0x7fff9ea1e918}}, {head = {next = 0x7fff9ea1e928,
prev = 0x7fff9ea1e928}}, {head = {next = 0x7fff9ea1e938, prev = 0x7fff9ea1e938}}, {head = {next = 0x7fff9ea1e948, prev = 0x7fff9ea1e948}}, {head = {next = 0x7fff9ea1e958, prev = 0x7fff9ea1e958}}, {head = {next = 0x7fff9ea1e968, prev = 0x7fff9ea1e968}}, {head = {next = 0x7fff9ea1e978,
prev = 0x7fff9ea1e978}}, {head = {next = 0x7fff9ea1e988, prev = 0x7fff9ea1e988}}, {head = {next = 0x7fff9ea1e998, prev = 0x7fff9ea1e998}}, {head = {next = 0x7fff9ea1e9a8, prev = 0x7fff9ea1e9a8}}, {head = {next = 0x7fff9ea1e9b8, prev = 0x7fff9ea1e9b8}}, {head = {next = 0x7fff9ea1e9c8,
prev = 0x7fff9ea1e9c8}}, {head = {next = 0x7fff9ea1e9d8, prev = 0x7fff9ea1e9d8}}, {head = {next = 0x7fff9ea1e9e8, prev = 0x7fff9ea1e9e8}}, {head = {next = 0x7fff9ea1e9f8, prev = 0x7fff9ea1e9f8}}, {head = {next = 0x7fff9ea1ea08, prev = 0x7fff9ea1ea08}}, {head = {next = 0x7fff9ea1ea18,
prev = 0x7fff9ea1ea18}}, {head = {next = 0x7fff9ea1ea28, prev = 0x7fff9ea1ea28}}, {head = {next = 0x7fff9ea1ea38, prev = 0x7fff9ea1ea38}}, {head = {next = 0x7fff9ea1ea48, prev = 0x7fff9ea1ea48}}, {head = {next = 0x7fff9ea1ea58, prev = 0x7fff9ea1ea58}}, {head = {next = 0x7fff9ea1ea68,
prev = 0x7fff9ea1ea68}}, {head = {next = 0x7fff9ea1ea78, prev = 0x7fff9ea1ea78}}, {head = {next = 0x7fff9ea1ea88, prev = 0x7fff9ea1ea88}}, {head = {next = 0x7fff9ea1ea98, prev = 0x7fff9ea1ea98}}, {head = {next = 0x7fff9ea1eaa8, prev = 0x7fff9ea1eaa8}}, {head = {next = 0x7fff9ea1eab8,
prev = 0x7fff9ea1eab8}}, {head = {next = 0x7fff9ea1eac8, prev = 0x7fff9ea1eac8}}, {head = {next = 0x7fff9ea1ead8, prev = 0x7fff9ea1ead8}}, {head = {next = 0x7fff9ea1eae8, prev = 0x7fff9ea1eae8}}, {head = {next = 0x7fff9ea1eaf8, prev = 0x7fff9ea1eaf8}}, {head = {next = 0x7fff9ea1eb08,
prev = 0x7fff9ea1eb08}}, {head = {next = 0x7fff9ea1eb18, prev = 0x7fff9ea1eb18}}, {head = {next = 0x7fff9ea1eb28, prev = 0x7fff9ea1eb28}}, {head = {next = 0x7fff9ea1eb38, prev = 0x7fff9ea1eb38}}, {head = {next = 0x7fff9ea1eb48, prev = 0x7fff9ea1eb48}}, {head = {next = 0x7fff9ea1eb58,
prev = 0x7fff9ea1eb58}}, {head = {next = 0x7fff9ea1eb68, prev = 0x7fff9ea1eb68}}, {head = {next = 0x7fff9ea1eb78, prev = 0x7fff9ea1eb78}}, {head = {next = 0x7fff9ea1eb88, prev = 0x7fff9ea1eb88}}, {head = {next = 0x7fff9ea1eb98, prev = 0x7fff9ea1eb98}}, {head = {next = 0x7fff9ea1eba8,
prev = 0x7fff9ea1eba8}}, {head = {next = 0x7fff9ea1ebb8, prev = 0x7fff9ea1ebb8}}, {head = {next = 0x7fff9ea1ebc8, prev = 0x7fff9ea1ebc8}}, {head = {next = 0x7fff9ea1ebd8, prev = 0x7fff9ea1ebd8}}, {head = {next = 0x7fff9ea1ebe8, prev = 0x7fff9ea1ebe8}}, {head = {next = 0x7fff9ea1ebf8,
prev = 0x7fff9ea1ebf8}}, {head = {next = 0x7fff9ea1ec08, prev = 0x7fff9ea1ec08}}, {head = {next = 0x7fff9ea1ec18, prev = 0x7fff9ea1ec18}}, {head = {next = 0x7fff9ea1ec28, prev = 0x7fff9ea1ec28}}, {head = {next = 0x7fff9ea1ec38, prev = 0x7fff9ea1ec38}}, {head = {next = 0x7fff9ea1ec48,
prev = 0x7fff9ea1ec48}}, {head = {next = 0x7fff9ea1ec58, prev = 0x7fff9ea1ec58}}, {head = {next = 0x7fff9ea1ec68, prev = 0x7fff9ea1ec68}}, {head = {next = 0x7fff9ea1ec78, prev = 0x7fff9ea1ec78}}, {head = {next = 0x7fff9ea1ec88, prev = 0x7fff9ea1ec88}}, {head = {next = 0x7fff9ea1ec98,
prev = 0x7fff9ea1ec98}}, {head = {next = 0x7fff9ea1eca8, prev = 0x7fff9ea1eca8}}, {head = {next = 0x7fff9ea1ecb8, prev = 0x7fff9ea1ecb8}}, {head = {next = 0x7fff9ea1ecc8, prev = 0x7fff9ea1ecc8}}, {head = {next = 0x7fff9ea1ecd8, prev = 0x7fff9ea1ecd8}}, {head = {next = 0x7fff9ea1ece8,
prev = 0x7fff9ea1ece8}}, {head = {next = 0x7fff9ea1ecf8, prev = 0x7fff9ea1ecf8}}, {head = {next = 0x7fff9ea1ed08, prev = 0x7fff9ea1ed08}}, {head = {next = 0x7fff9ea1ed18, prev = 0x7fff9ea1ed18}}, {head = {next = 0x7fff9ea1ed28, prev = 0x7fff9ea1ed28}}, {head = {next = 0x7fff9ea1ed38,
prev = 0x7fff9ea1ed38}}, {head = {next = 0x7fff9ea1ed48, prev = 0x7fff9ea1ed48}}, {head = {next = 0x7fff9ea1ed58, prev = 0x7fff9ea1ed58}}, {head = {next = 0x7fff9ea1ed68, prev = 0x7fff9ea1ed68}}, {head = {next = 0x7fff9ea1ed78, prev = 0x7fff9ea1ed78}}, {head = {next = 0x7fff9ea1ed88,
prev = 0x7fff9ea1ed88}}, {head = {next = 0x7fff9ea1ed98, prev = 0x7fff9ea1ed98}}, {head = {next = 0x7fff9ea1eda8, prev = 0x7fff9ea1eda8}}, {head = {next = 0x7fff9ea1edb8, prev = 0x7fff9ea1edb8}}, {head = {next = 0x7fff9ea1edc8, prev = 0x7fff9ea1edc8}}, {head = {next = 0x7fff9ea1edd8,
prev = 0x7fff9ea1edd8}}, {head = {next = 0x7fff9ea1ede8, prev = 0x7fff9ea1ede8}}, {head = {next = 0x7fff9ea1edf8, prev = 0x7fff9ea1edf8}}, {head = {next = 0x7fff9ea1ee08, prev = 0x7fff9ea1ee08}}, {head = {next = 0x7fff9ea1ee18, prev = 0x7fff9ea1ee18}}, {head = {next = 0x7fff9ea1ee28,
prev = 0x7fff9ea1ee28}}, {head = {next = 0x7fff9ea1ee38, prev = 0x7fff9ea1ee38}}, {head = {next = 0x7fff9ea1ee48, prev = 0x7fff9ea1ee48}}, {head = {next = 0x7fff9ea1ee58, prev = 0x7fff9ea1ee58}}, {head = {next = 0x7fff9ea1ee68, prev = 0x7fff9ea1ee68}}, {head = {next = 0x7fff9ea1ee78,
prev = 0x7fff9ea1ee78}}, {head = {next = 0x7fff9ea1ee88, prev = 0x7fff9ea1ee88}}, {head = {next = 0x7fff9ea1ee98, prev = 0x7fff9ea1ee98}}, {head = {next = 0x7fff9ea1eea8, prev = 0x7fff9ea1eea8}}, {head = {next = 0x7fff9ea1eeb8, prev = 0x7fff9ea1eeb8}}, {head = {next = 0x7fff9ea1eec8,
prev = 0x7fff9ea1eec8}}, {head = {next = 0x7fff9ea1eed8, prev = 0x7fff9ea1eed8}}, {head = {next = 0x7fff9ea1eee8, prev = 0x7fff9ea1eee8}}, {head = {next = 0x7fff9ea1eef8, prev = 0x7fff9ea1eef8}}, {head = {next = 0x7fff9ea1ef08, prev = 0x7fff9ea1ef08}}, {head = {next = 0x7fff9ea1ef18,
prev = 0x7fff9ea1ef18}}, {head = {next = 0x7fff9ea1ef28, prev = 0x7fff9ea1ef28}}, {head = {next = 0x7fff9ea1ef38, prev = 0x7fff9ea1ef38}}, {head = {next = 0x7fff9ea1ef48, prev = 0x7fff9ea1ef48}}, {head = {next = 0x7fff9ea1ef58, prev = 0x7fff9ea1ef58}}, {head = {next = 0x7fff9ea1ef68,
prev = 0x7fff9ea1ef68}}, {head = {next = 0x7fff9ea1ef78, prev = 0x7fff9ea1ef78}}, {head = {next = 0x7fff9ea1ef88, prev = 0x7fff9ea1ef88}}, {head = {next = 0x7fff9ea1ef98, prev = 0x7fff9ea1ef98}}}}, ready = {head = {next = 0x7fff9ea1efa8, prev = 0x7fff9ea1efa8}}, last_time = {__d = {
__r = 149611000000000}}, empty = true}, timers = {
timers = {<boost::intrusive::multiset_impl<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, unsigned long, false, void>> = {<boost::intrusive::bstree_impl<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, unsigned long, false, (boost::intrusive::algo_types)5, void>> = {<boost::intrusive::bstbase<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, false, unsigned long, (boost::intrusive::algo_types)5, void>> = {<boost::intrusive::bstbase_hack<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, false, unsigned long, (boost::intrusive::algo_types)5, void>> = {<boost::intrusive::bstbase2<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, (boost::intrusive::algo_types)5, void>> = {<boost::intrusive::detail::ebo_functor_holder<boost::intrusive::tree_value_compare<FineTimerEvent*, TimerList::Compare, boost::move_detail::identity<FineTimerEvent>, bool, true>, void, false>> = {<boost::intrusive::tree_value_compare<FineTimerEvent*, TimerList::Compare, boost::move_detail::identity<FineTimerEvent>, bool, true>> = {<boost::intrusive::detail::ebo_functor_holder<TimerList::Compare, void, false>> = {<TimerList::Compare> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <boost::intrusive::bstbase3<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, (boost::intrusive::algo_types)5, void>> = {
holder = {<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>> = {<boost::intrusive::bhtraits_base<FineTimerEvent, boost::intrusive::rbtree_node<void*>*, boost::intrusive::dft_tag, 3>> = {<No data fields>}, static link_mode = boost::intrusive::auto_unlink}, root = {<boost::intrusive::rbtree_node<void*>> = {parent_ = 0x0, left_ = 0x7fff9ea1efc8, right_ = 0x7fff9ea1efc8,
color_ = boost::intrusive::rbtree_node<void*>::red_t}, <No data fields>}}}, <No data fields>}, <No data fields>}, <No data fields>}, static constant_time_size = false}, <No data fields>}, <No data fields>}}, defer = {head = {next = 0x7fff9ea1efe8, prev = 0x7fff9ea1efe8}}, idle = {
head = {next = 0x7fff9ea1eff8, prev = 0x7fff9ea1eff8}}, mutex = {<std::__mutex_base> = {_M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>,
__align = 0}}, <No data fields>}, inject = {<boost::intrusive::list_impl<boost::intrusive::bhtraits<InjectEvent, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 1>, unsigned long, false, void>> = {static constant_time_size = false,
data_ = {<boost::intrusive::bhtraits<InjectEvent, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 1>> = {<boost::intrusive::bhtraits_base<InjectEvent, boost::intrusive::list_node<void*>*, boost::intrusive::dft_tag, 1>> = {<No data fields>},
static link_mode = boost::intrusive::safe_link}, root_plus_size_ = {<boost::intrusive::detail::size_holder<false, unsigned long, void>> = {<No data fields>}, m_header = {<boost::intrusive::list_node<void*>> = {next_ = 0x7fff9ea1f030,
prev_ = 0x7fff9ea1f030}, <No data fields>}}}}, <No data fields>}, sockets = {head = {next = 0x1e1edd0, prev = 0x7f0444003b80}}, ready_sockets = {head = {next = 0x7fff9ea1f050, prev = 0x7fff9ea1f050}}, uring = std::unique_ptr<Uring::Manager> = {get() = 0x1e1ece0}, thread = {
id = 139656404244032}, alive = true, quit = {_M_base = {static _S_alignment = 1, _M_i = false}, static is_always_lock_free = true}, again = false, busy = false, uring_initialized = true, poll_backend = {epoll = {fd = {<FileDescriptor> = {fd = 6}, <No data fields>}}}, steady_clock_cache = {value = {
__d = {__r = 149611408570933}}}}, thread = {f = {instance_ = 0x7fff9ea1e7e8, function = 0x43bdf4 <BindMethodDetail::WrapperGenerator<void (EventThread::*)() noexcept, &EventThread::Run>::Invoke(void*)>}, handle = 139656404244032, inside_handle = 139656404244032}, realtime = false}, rtio_thread = {
event_loop = {wake_fd = {fd = {fd = {<FileDescriptor> = {fd = 7}, <No data fields>}}}, wake_event = {<IntrusiveListHook> = {siblings = {next = 0x7fff9ea1f908, prev = 0x7fff9ea1f908}}, <EpollEvents> = {static READ = 1, static WRITE = 4, static ERROR = 8, static HANGUP = 16}, loop = @0x7fff9ea1f0b0,
callback = {instance_ = 0x7fff9ea1f0b0, function = 0x470952 <BindMethodDetail::WrapperGenerator<void (EventLoop::*)(unsigned int) noexcept, &EventLoop::OnSocketReady>::Invoke(void*, unsigned int)>}, fd = {<FileDescriptor> = {fd = 7}, <No data fields>}, scheduled_flags = 25, ready_flags = 0,
static IMPLICIT_FLAGS = 24}, coarse_timers = {static RESOLUTION = {__r = 1000000000}, static SPAN = <same as static member of an already seen type>, static N_BUCKETS = 120, buckets = {_M_elems = {{head = {next = 0x7fff9ea1f0f0, prev = 0x7fff9ea1f0f0}}, {head = {next = 0x7fff9ea1f100,
prev = 0x7fff9ea1f100}}, {head = {next = 0x7fff9ea1f110, prev = 0x7fff9ea1f110}}, {head = {next = 0x7fff9ea1f120, prev = 0x7fff9ea1f120}}, {head = {next = 0x7fff9ea1f130, prev = 0x7fff9ea1f130}}, {head = {next = 0x7fff9ea1f140, prev = 0x7fff9ea1f140}}, {head = {next = 0x7fff9ea1f150,
prev = 0x7fff9ea1f150}}, {head = {next = 0x7fff9ea1f160, prev = 0x7fff9ea1f160}}, {head = {next = 0x7fff9ea1f170, prev = 0x7fff9ea1f170}}, {head = {next = 0x7fff9ea1f180, prev = 0x7fff9ea1f180}}, {head = {next = 0x7fff9ea1f190, prev = 0x7fff9ea1f190}}, {head = {next = 0x7fff9ea1f1a0,
prev = 0x7fff9ea1f1a0}}, {head = {next = 0x7fff9ea1f1b0, prev = 0x7fff9ea1f1b0}}, {head = {next = 0x7fff9ea1f1c0, prev = 0x7fff9ea1f1c0}}, {head = {next = 0x7fff9ea1f1d0, prev = 0x7fff9ea1f1d0}}, {head = {next = 0x7fff9ea1f1e0, prev = 0x7fff9ea1f1e0}}, {head = {next = 0x7fff9ea1f1f0,
prev = 0x7fff9ea1f1f0}}, {head = {next = 0x7fff9ea1f200, prev = 0x7fff9ea1f200}}, {head = {next = 0x7fff9ea1f210, prev = 0x7fff9ea1f210}}, {head = {next = 0x7fff9ea1f220, prev = 0x7fff9ea1f220}}, {head = {next = 0x7fff9ea1f230, prev = 0x7fff9ea1f230}}, {head = {next = 0x7fff9ea1f240,
prev = 0x7fff9ea1f240}}, {head = {next = 0x7fff9ea1f250, prev = 0x7fff9ea1f250}}, {head = {next = 0x7fff9ea1f260, prev = 0x7fff9ea1f260}}, {head = {next = 0x7fff9ea1f270, prev = 0x7fff9ea1f270}}, {head = {next = 0x7fff9ea1f280, prev = 0x7fff9ea1f280}}, {head = {next = 0x7fff9ea1f290,
prev = 0x7fff9ea1f290}}, {head = {next = 0x7fff9ea1f2a0, prev = 0x7fff9ea1f2a0}}, {head = {next = 0x7fff9ea1f2b0, prev = 0x7fff9ea1f2b0}}, {head = {next = 0x7fff9ea1f2c0, prev = 0x7fff9ea1f2c0}}, {head = {next = 0x7fff9ea1f2d0, prev = 0x7fff9ea1f2d0}}, {head = {next = 0x7fff9ea1f2e0,
prev = 0x7fff9ea1f2e0}}, {head = {next = 0x7fff9ea1f2f0, prev = 0x7fff9ea1f2f0}}, {head = {next = 0x7fff9ea1f300, prev = 0x7fff9ea1f300}}, {head = {next = 0x7fff9ea1f310, prev = 0x7fff9ea1f310}}, {head = {next = 0x7fff9ea1f320, prev = 0x7fff9ea1f320}}, {head = {next = 0x7fff9ea1f330,
prev = 0x7fff9ea1f330}}, {head = {next = 0x7fff9ea1f340, prev = 0x7fff9ea1f340}}, {head = {next = 0x7fff9ea1f350, prev = 0x7fff9ea1f350}}, {head = {next = 0x7fff9ea1f360, prev = 0x7fff9ea1f360}}, {head = {next = 0x7fff9ea1f370, prev = 0x7fff9ea1f370}}, {head = {next = 0x7fff9ea1f380,
prev = 0x7fff9ea1f380}}, {head = {next = 0x7fff9ea1f390, prev = 0x7fff9ea1f390}}, {head = {next = 0x7fff9ea1f3a0, prev = 0x7fff9ea1f3a0}}, {head = {next = 0x7fff9ea1f3b0, prev = 0x7fff9ea1f3b0}}, {head = {next = 0x7fff9ea1f3c0, prev = 0x7fff9ea1f3c0}}, {head = {next = 0x7fff9ea1f3d0,
prev = 0x7fff9ea1f3d0}}, {head = {next = 0x7fff9ea1f3e0, prev = 0x7fff9ea1f3e0}}, {head = {next = 0x7fff9ea1f3f0, prev = 0x7fff9ea1f3f0}}, {head = {next = 0x7fff9ea1f400, prev = 0x7fff9ea1f400}}, {head = {next = 0x7fff9ea1f410, prev = 0x7fff9ea1f410}}, {head = {next = 0x7fff9ea1f420,
prev = 0x7fff9ea1f420}}, {head = {next = 0x7fff9ea1f430, prev = 0x7fff9ea1f430}}, {head = {next = 0x7fff9ea1f440, prev = 0x7fff9ea1f440}}, {head = {next = 0x7fff9ea1f450, prev = 0x7fff9ea1f450}}, {head = {next = 0x7fff9ea1f460, prev = 0x7fff9ea1f460}}, {head = {next = 0x7fff9ea1f470,
prev = 0x7fff9ea1f470}}, {head = {next = 0x7fff9ea1f480, prev = 0x7fff9ea1f480}}, {head = {next = 0x7fff9ea1f490, prev = 0x7fff9ea1f490}}, {head = {next = 0x7fff9ea1f4a0, prev = 0x7fff9ea1f4a0}}, {head = {next = 0x7fff9ea1f4b0, prev = 0x7fff9ea1f4b0}}, {head = {next = 0x7fff9ea1f4c0,
prev = 0x7fff9ea1f4c0}}, {head = {next = 0x7fff9ea1f4d0, prev = 0x7fff9ea1f4d0}}, {head = {next = 0x7fff9ea1f4e0, prev = 0x7fff9ea1f4e0}}, {head = {next = 0x7fff9ea1f4f0, prev = 0x7fff9ea1f4f0}}, {head = {next = 0x7fff9ea1f500, prev = 0x7fff9ea1f500}}, {head = {next = 0x7fff9ea1f510,
prev = 0x7fff9ea1f510}}, {head = {next = 0x7fff9ea1f520, prev = 0x7fff9ea1f520}}, {head = {next = 0x7fff9ea1f530, prev = 0x7fff9ea1f530}}, {head = {next = 0x7fff9ea1f540, prev = 0x7fff9ea1f540}}, {head = {next = 0x7fff9ea1f550, prev = 0x7fff9ea1f550}}, {head = {next = 0x7fff9ea1f560,
prev = 0x7fff9ea1f560}}, {head = {next = 0x7fff9ea1f570, prev = 0x7fff9ea1f570}}, {head = {next = 0x7fff9ea1f580, prev = 0x7fff9ea1f580}}, {head = {next = 0x7fff9ea1f590, prev = 0x7fff9ea1f590}}, {head = {next = 0x7fff9ea1f5a0, prev = 0x7fff9ea1f5a0}}, {head = {next = 0x7fff9ea1f5b0,
prev = 0x7fff9ea1f5b0}}, {head = {next = 0x7fff9ea1f5c0, prev = 0x7fff9ea1f5c0}}, {head = {next = 0x7fff9ea1f5d0, prev = 0x7fff9ea1f5d0}}, {head = {next = 0x7fff9ea1f5e0, prev = 0x7fff9ea1f5e0}}, {head = {next = 0x7fff9ea1f5f0, prev = 0x7fff9ea1f5f0}}, {head = {next = 0x7fff9ea1f600,
prev = 0x7fff9ea1f600}}, {head = {next = 0x7fff9ea1f610, prev = 0x7fff9ea1f610}}, {head = {next = 0x7fff9ea1f620, prev = 0x7fff9ea1f620}}, {head = {next = 0x7fff9ea1f630, prev = 0x7fff9ea1f630}}, {head = {next = 0x7fff9ea1f640, prev = 0x7fff9ea1f640}}, {head = {next = 0x7fff9ea1f650,
prev = 0x7fff9ea1f650}}, {head = {next = 0x7fff9ea1f660, prev = 0x7fff9ea1f660}}, {head = {next = 0x7fff9ea1f670, prev = 0x7fff9ea1f670}}, {head = {next = 0x7fff9ea1f680, prev = 0x7fff9ea1f680}}, {head = {next = 0x7fff9ea1f690, prev = 0x7fff9ea1f690}}, {head = {next = 0x7fff9ea1f6a0,
prev = 0x7fff9ea1f6a0}}, {head = {next = 0x7fff9ea1f6b0, prev = 0x7fff9ea1f6b0}}, {head = {next = 0x7fff9ea1f6c0, prev = 0x7fff9ea1f6c0}}, {head = {next = 0x7fff9ea1f6d0, prev = 0x7fff9ea1f6d0}}, {head = {next = 0x7fff9ea1f6e0, prev = 0x7fff9ea1f6e0}}, {head = {next = 0x7fff9ea1f6f0,
prev = 0x7fff9ea1f6f0}}, {head = {next = 0x7fff9ea1f700, prev = 0x7fff9ea1f700}}, {head = {next = 0x7fff9ea1f710, prev = 0x7fff9ea1f710}}, {head = {next = 0x7fff9ea1f720, prev = 0x7fff9ea1f720}}, {head = {next = 0x7fff9ea1f730, prev = 0x7fff9ea1f730}}, {head = {next = 0x7fff9ea1f740,
prev = 0x7fff9ea1f740}}, {head = {next = 0x7fff9ea1f750, prev = 0x7fff9ea1f750}}, {head = {next = 0x7fff9ea1f760, prev = 0x7fff9ea1f760}}, {head = {next = 0x7fff9ea1f770, prev = 0x7fff9ea1f770}}, {head = {next = 0x7fff9ea1f780, prev = 0x7fff9ea1f780}}, {head = {next = 0x7fff9ea1f790,
prev = 0x7fff9ea1f790}}, {head = {next = 0x7fff9ea1f7a0, prev = 0x7fff9ea1f7a0}}, {head = {next = 0x7fff9ea1f7b0, prev = 0x7fff9ea1f7b0}}, {head = {next = 0x7fff9ea1f7c0, prev = 0x7fff9ea1f7c0}}, {head = {next = 0x7fff9ea1f7d0, prev = 0x7fff9ea1f7d0}}, {head = {next = 0x7fff9ea1f7e0,
prev = 0x7fff9ea1f7e0}}, {head = {next = 0x7fff9ea1f7f0, prev = 0x7fff9ea1f7f0}}, {head = {next = 0x7fff9ea1f800, prev = 0x7fff9ea1f800}}, {head = {next = 0x7fff9ea1f810, prev = 0x7fff9ea1f810}}, {head = {next = 0x7fff9ea1f820, prev = 0x7fff9ea1f820}}, {head = {next = 0x7fff9ea1f830,
prev = 0x7fff9ea1f830}}, {head = {next = 0x7fff9ea1f840, prev = 0x7fff9ea1f840}}, {head = {next = 0x7fff9ea1f850, prev = 0x7fff9ea1f850}}, {head = {next = 0x7fff9ea1f860, prev = 0x7fff9ea1f860}}}}, ready = {head = {next = 0x7fff9ea1f870, prev = 0x7fff9ea1f870}}, last_time = {__d = {
__r = 149594000000000}}, empty = true}, timers = {
timers = {<boost::intrusive::multiset_impl<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, unsigned long, false, void>> = {<boost::intrusive::bstree_impl<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, unsigned long, false, (boost::intrusive::algo_types)5, void>> = {<boost::intrusive::bstbase<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, false, unsigned long, (boost::intrusive::algo_types)5, void>> = {<boost::intrusive::bstbase_hack<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, false, unsigned long, (boost::intrusive::algo_types)5, void>> = {<boost::intrusive::bstbase2<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, void, TimerList::Compare, (boost::intrusive::algo_types)5, void>> = {<boost::intrusive::detail::ebo_functor_holder<boost::intrusive::tree_value_compare<FineTimerEvent*, TimerList::Compare, boost::move_detail::identity<FineTimerEvent>, bool, true>, void, false>> = {<boost::intrusive::tree_value_compare<FineTimerEvent*, TimerList::Compare, boost::move_detail::identity<FineTimerEvent>, bool, true>> = {<boost::intrusive::detail::ebo_functor_holder<TimerList::Compare, void, false>> = {<TimerList::Compare> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <boost::intrusive::bstbase3<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>, (boost::intrusive::algo_types)5, void>> = {
holder = {<boost::intrusive::bhtraits<FineTimerEvent, boost::intrusive::rbtree_node_traits<void*, false>, (boost::intrusive::link_mode_type)2, boost::intrusive::dft_tag, 3>> = {<boost::intrusive::bhtraits_base<FineTimerEvent, boost::intrusive::rbtree_node<void*>*, boost::intrusive::dft_tag, 3>> = {<No data fields>}, static link_mode = boost::intrusive::auto_unlink}, root = {<boost::intrusive::rbtree_node<void*>> = {parent_ = 0x0, left_ = 0x7fff9ea1f890, right_ = 0x7fff9ea1f890,
color_ = boost::intrusive::rbtree_node<void*>::red_t}, <No data fields>}}}, <No data fields>}, <No data fields>}, <No data fields>}, static constant_time_size = false}, <No data fields>}, <No data fields>}}, defer = {head = {next = 0x7fff9ea1f8b0, prev = 0x7fff9ea1f8b0}}, idle = {
head = {next = 0x7fff9ea1f8c0, prev = 0x7fff9ea1f8c0}}, mutex = {<std::__mutex_base> = {_M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>,
--Type <RET> for more, q to quit, c to continue without paging--
__align = 0}}, <No data fields>}, inject = {<boost::intrusive::list_impl<boost::intrusive::bhtraits<InjectEvent, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 1>, unsigned long, false, void>> = {static constant_time_size = false,
data_ = {<boost::intrusive::bhtraits<InjectEvent, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 1>> = {<boost::intrusive::bhtraits_base<InjectEvent, boost::intrusive::list_node<void*>*, boost::intrusive::dft_tag, 1>> = {<No data fields>},
static link_mode = boost::intrusive::safe_link}, root_plus_size_ = {<boost::intrusive::detail::size_holder<false, unsigned long, void>> = {<No data fields>}, m_header = {<boost::intrusive::list_node<void*>> = {next_ = 0x7fff9ea1f8f8,
prev_ = 0x7fff9ea1f8f8}, <No data fields>}}}}, <No data fields>}, sockets = {head = {next = 0x7fff9ea1f0b8, prev = 0x7fff9ea1f0b8}}, ready_sockets = {head = {next = 0x7fff9ea1f918, prev = 0x7fff9ea1f918}}, uring = std::unique_ptr<Uring::Manager> = {get() = 0x0}, thread = {
id = 139656395851328}, alive = true, quit = {_M_base = {static _S_alignment = 1, _M_i = false}, static is_always_lock_free = true}, again = false, busy = false, uring_initialized = false, poll_backend = {epoll = {fd = {<FileDescriptor> = {fd = 8}, <No data fields>}}}, steady_clock_cache = {value = {
__d = {__r = 149594029736968}}}}, thread = {f = {instance_ = 0x7fff9ea1f0b0, function = 0x43bdf4 <BindMethodDetail::WrapperGenerator<void (EventThread::*)() noexcept, &EventThread::Run>::Invoke(void*)>}, handle = 139656395851328, inside_handle = 139656395851328}, realtime = true},
systemd_watchdog = {
timer = {<boost::intrusive::set_base_hook<boost::intrusive::link_mode<(boost::intrusive::link_mode_type)2> >> = {<boost::intrusive::generic_hook<(boost::intrusive::algo_types)5, boost::intrusive::rbtree_node_traits<void*, false>, boost::intrusive::dft_tag, (boost::intrusive::link_mode_type)2, (boost::intrusive::base_hook_type)3>> = {<boost::intrusive::node_holder<boost::intrusive::rbtree_node<void*>, boost::intrusive::dft_tag, 3>> = {<boost::intrusive::rbtree_node<void*>> = {parent_ = 0x0, left_ = 0x0, right_ = 0x0,
color_ = boost::intrusive::rbtree_node<void*>::red_t}, <No data fields>}, <boost::intrusive::hook_tags_definer<boost::intrusive::generic_hook<(boost::intrusive::algo_types)5, boost::intrusive::rbtree_node_traits<void*, false>, boost::intrusive::dft_tag, (boost::intrusive::link_mode_type)2, (boost::intrusive::base_hook_type)3>, 3>> = {<No data fields>}, <No data fields>}, <No data fields>}, loop = @0x7fff9ea1df38, callback = {instance_ = 0x7fff9ea1f978, function = 0x514095 <BindMethodDetail::WrapperGenerator<void (Systemd::Watchdog::*)() noexcept, &Systemd::Watchdog::OnTimer>::Invoke(void*)>}, due = {__d = {
__r = 0}}}, interval = {__r = 140735854803627}}, input_cache = std::unique_ptr<InputCacheManager> = {get() = 0x0}, idle_monitor = {
event = {<boost::intrusive::list_base_hook<>> = {<boost::intrusive::generic_hook<(boost::intrusive::algo_types)0, boost::intrusive::list_node_traits<void*>, boost::intrusive::dft_tag, (boost::intrusive::link_mode_type)1, (boost::intrusive::base_hook_type)1>> = {<boost::intrusive::node_holder<boost::intrusive::list_node<void*>, boost::intrusive::dft_tag, 1>> = {<boost::intrusive::list_node<void*>> = {next_ = 0x7fff9ea1e780,
prev_ = 0x7fff9ea1e780}, <No data fields>}, <boost::intrusive::hook_tags_definer<boost::intrusive::generic_hook<(boost::intrusive::algo_types)0, boost::intrusive::list_node_traits<void*>, boost::intrusive::dft_tag, (boost::intrusive::link_mode_type)1, (boost::intrusive::base_hook_type)1>, 1>> = {<No data fields>}, <No data fields>}, <No data fields>}, loop = @0x7fff9ea1df38, callback = {instance_ = 0x7fff9ea1f9c8, function = 0x43be02 <BindMethodDetail::WrapperGenerator<void (MaskMonitor::*)() noexcept, &MaskMonitor::RunDeferred>::Invoke(void*)>}}, callback = {instance_ = 0x7fff9ea1df30,
function = 0x43c120 <BindMethodDetail::WrapperGenerator<void (Instance::*)(unsigned int) noexcept, &Instance::OnIdle>::Invoke(void*, unsigned int)>}, pending_mask = {<std::__atomic_base<unsigned int>> = {static _S_alignment = 4, _M_i = 16}, static is_always_lock_free = true}},
neighbors = std::unique_ptr<NeighborGlue> = {get() = 0x0}, database = std::unique_ptr<Database> = {get() = 0x1dd34b0}, storage = 0x1deec20, update = 0x0, inotify_update = std::unique_ptr<InotifyUpdate> = {get() = 0x0}, remote_tag_cache = std::unique_ptr<RemoteTagCache> = {get() = 0x0},
client_list = std::unique_ptr<ClientList> = {get() = 0x1dd3330}, partitions = std::__cxx11::list = {[0] = {<QueueListener> = {_vptr.QueueListener = 0x59e2b8 <vtable for Partition+16>}, <PlayerListener> = {_vptr.PlayerListener = 0x59e300 <vtable for Partition+88>}, <MixerListener> = {
_vptr.MixerListener = 0x59e328 <vtable for Partition+128>}, static TAG_MODIFIED = 1, static SYNC_WITH_PLAYER = 2, static BORDER_PAUSE = 4, instance = @0x7fff9ea1df30, name = "default", listener = std::unique_ptr<ClientListener> = {get() = 0x1dd32f0},
clients = {<boost::intrusive::list_impl<boost::intrusive::bhtraits<Client, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)0, Partition, 1>, unsigned long, false, void>> = {static constant_time_size = false,
data_ = {<boost::intrusive::bhtraits<Client, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)0, Partition, 1>> = {<boost::intrusive::bhtraits_base<Client, boost::intrusive::list_node<void*>*, Partition, 1>> = {<No data fields>},
static link_mode = boost::intrusive::normal_link}, root_plus_size_ = {<boost::intrusive::detail::size_holder<false, unsigned long, void>> = {<No data fields>}, m_header = {<boost::intrusive::list_node<void*>> = {next_ = 0x1e411b8, prev_ = 0x1e473f8}, <No data fields>}}}}, <No data fields>},
idle_monitor = {
event = {<boost::intrusive::list_base_hook<>> = {<boost::intrusive::generic_hook<(boost::intrusive::algo_types)0, boost::intrusive::list_node_traits<void*>, boost::intrusive::dft_tag, (boost::intrusive::link_mode_type)1, (boost::intrusive::base_hook_type)1>> = {<boost::intrusive::node_holder<boost::intrusive::list_node<void*>, boost::intrusive::dft_tag, 1>> = {<boost::intrusive::list_node<void*>> = {next_ = 0x0,
prev_ = 0x0}, <No data fields>}, <boost::intrusive::hook_tags_definer<boost::intrusive::generic_hook<(boost::intrusive::algo_types)0, boost::intrusive::list_node_traits<void*>, boost::intrusive::dft_tag, (boost::intrusive::link_mode_type)1, (boost::intrusive::base_hook_type)1>, 1>> = {<No data fields>}, <No data fields>}, <No data fields>}, loop = @0x7fff9ea1df38, callback = {instance_ = 0x1dd4968, function = 0x43be02 <BindMethodDetail::WrapperGenerator<void (MaskMonitor::*)() noexcept, &MaskMonitor::RunDeferred>::Invoke(void*)>}}, callback = {instance_ = 0x1dd4910,
function = 0x43df92 <BindMethodDetail::WrapperGenerator<void (Partition::*)(unsigned int) noexcept, &Partition::OnIdleMonitor>::Invoke(void*, unsigned int)>}, pending_mask = {<std::__atomic_base<unsigned int>> = {static _S_alignment = 4, _M_i = 0}, static is_always_lock_free = true}},
global_events = {
event = {<boost::intrusive::list_base_hook<>> = {<boost::intrusive::generic_hook<(boost::intrusive::algo_types)0, boost::intrusive::list_node_traits<void*>, boost::intrusive::dft_tag, (boost::intrusive::link_mode_type)1, (boost::intrusive::base_hook_type)1>> = {<boost::intrusive::node_holder<boost::intrusive::list_node<void*>, boost::intrusive::dft_tag, 1>> = {<boost::intrusive::list_node<void*>> = {next_ = 0x0,
prev_ = 0x0}, <No data fields>}, <boost::intrusive::hook_tags_definer<boost::intrusive::generic_hook<(boost::intrusive::algo_types)0, boost::intrusive::list_node_traits<void*>, boost::intrusive::dft_tag, (boost::intrusive::link_mode_type)1, (boost::intrusive::base_hook_type)1>, 1>> = {<No data fields>}, <No data fields>}, <No data fields>}, loop = @0x7fff9ea1df38, callback = {instance_ = 0x1dd49a8, function = 0x43be02 <BindMethodDetail::WrapperGenerator<void (MaskMonitor::*)() noexcept, &MaskMonitor::RunDeferred>::Invoke(void*)>}}, callback = {instance_ = 0x1dd4910,
function = 0x43e489 <BindMethodDetail::WrapperGenerator<void (Partition::*)(unsigned int) noexcept, &Partition::OnGlobalEvent>::Invoke(void*, unsigned int)>}, pending_mask = {<std::__atomic_base<unsigned int>> = {static _S_alignment = 4, _M_i = 0}, static is_always_lock_free = true}}, playlist = {
queue = {static HASH_MULT = 4, max_length = 16384, length = 19, version = 3, items = 0x7f044a68f010, order = 0x1dd5f70, id_table = {size = 65536, initialized = 20, next = 20, data = 0x7f044a64e010}, repeat = false, single = SingleMode::OFF, consume = true, random = false, rand = {
engine = std::optional<std::mt19937> [no contained value]}}, listener = @0x1dd4910, playing = false, stop_on_error = false, bulk_edit = false, bulk_modified = true, error_count = 0, current = -1, queued = -1}, outputs = {<PlayerOutputs> = {
_vptr.PlayerOutputs = 0x59f538 <vtable for MultipleOutputs+16>}, client = @0x1dd5e18, mixer_listener = @0x1dd4920, outputs = std::vector of length 2, capacity 2 = {std::unique_ptr<AudioOutputControl> = {get() = 0x1e1e8b0}, std::unique_ptr<AudioOutputControl> = {get() = 0x1e1eb40}},
input_audio_format = {sample_rate = 0, format = SampleFormat::UNDEFINED, channels = 0 '\000'}, pipe = std::unique_ptr<MusicPipe> = {get() = 0x0}, elapsed_time = {<std::chrono::duration<int, std::ratio<1, 1000> >> = {__r = -1}, <No data fields>}}, pc = {<AudioOutputClient> = {
_vptr.AudioOutputClient = 0x59e3f8 <vtable for PlayerControl+16>}, listener = @0x1dd4918, outputs = @0x1dd5dd0, input_cache = 0x0, buffer_chunks = 1024, configured_audio_format = {sample_rate = 0, format = SampleFormat::UNDEFINED, channels = 0 '\000'}, thread = {f = {instance_ = 0x1dd5e18,
function = 0x443bd4 <BindMethodDetail::WrapperGenerator<void (PlayerControl::*)() noexcept, &PlayerControl::RunThread>::Invoke(void*)>}, handle = 0, inside_handle = 0}, mutex = {<std::__mutex_base> = {_M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0,
__spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}, <No data fields>}, cond = {_M_cond = {_M_cond = {__data = {{__wseq = 0, __wseq32 = {__low = 0, __high = 0}}, {__g1_start = 0, __g1_start32 = {__low = 0, __high = 0}},
__g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 0, __wrefs = 0, __g_signals = {0, 0}}, __size = '\000' <repeats 47 times>, __align = 0}}}, client_cond = {_M_cond = {_M_cond = {__data = {{__wseq = 0, __wseq32 = {__low = 0, __high = 0}}, {__g1_start = 0, __g1_start32 = {__low = 0,
__high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 0, __wrefs = 0, __g_signals = {0, 0}}, __size = '\000' <repeats 47 times>, __align = 0}}}, error = {_M_exception_object = 0x0}, next_song = std::unique_ptr<DetachedSong> = {get() = 0x0},
tagged_song = std::unique_ptr<DetachedSong> = {get() = 0x0}, command = PlayerCommand::NONE, state = PlayerState::STOP, error_type = PlayerError::NONE, replay_gain_mode = ReplayGainMode::OFF, seeking = false, border_pause = false, occupied = false, audio_format = {sample_rate = 0,
format = SampleFormat::UNDEFINED, channels = 0 '\000'}, bit_rate = 0, total_time = {<std::chrono::duration<int, std::ratio<1, 1000> >> = {__r = 0}, <No data fields>}, elapsed_time = {<std::chrono::duration<unsigned int, std::ratio<1, 1000> >> = {__r = 0}, <No data fields>},
seek_time = {<std::chrono::duration<unsigned int, std::ratio<1, 1000> >> = {__r = 0}, <No data fields>}, cross_fade = {static MIN_TOTAL_TIME = {<std::chrono::duration<int, std::ratio<1, 1000> >> = {__r = 20000}, <No data fields>}, duration = {__r = 0}, mixramp_db = 0, mixramp_delay = {__r = -1}},
replay_gain_config = {static DEFAULT_LIMIT = true, preamp = 1, missing_preamp = 1, limit = true}, total_play_time = {__r = 0}}, replay_gain_mode = ReplayGainMode::OFF}}, state_file = std::unique_ptr<StateFile> = {get() = 0x1e3bd80}, sticker_database = std::unique_ptr<StickerDatabase> = {
get() = 0x1dd3360}}
max_clients = <optimized out>
input_cache_config = <optimized out>
at_scope_exit_436 = {<> = {<No data fields>}, enabled = true}
at_scope_exit_440 = {<> = {<No data fields>}, enabled = true}
archive_plugins_init = <optimized out>
decoder_plugins_init = <optimized out>
create_db = false
input_plugins_init = <optimized out>
playlist_plugins_init = <optimized out>
signal_handlers_init = <optimized out>
at_scope_exit_495 = {<> = {__instance = @0x7fff9ea1df30}, enabled = true}
zeroconf = std::unique_ptr<ZeroconfHelper> = {get() = 0x7f0444000b60}
at_scope_exit_513 = {<> = {__zeroconf = std::unique_ptr<ZeroconfHelper> = {get() = 0x7f0444000b60}, __instance = @0x7fff9ea1df30}, enabled = true}
#23 0x000000000042002c in MainOrThrow (argc=<optimized out>, argv=<optimized out>) at ../src/Main.cxx:661
options = {kill = false, daemon = false, systemd = true, log_stderr = false, verbose = false}
raw_config = {params = {_M_elems = {std::forward_list = {[0] = {value = "/media/music", line = 5}}, std::forward_list = {[0] = {value = "/var/lib/mpd/playlists", line = 6}}, empty std::forward_list, empty std::forward_list, empty std::forward_list, std::forward_list = {[0] = {
value = "/var/lib/mpd/sticker.sql", line = 9}}, empty std::forward_list, empty std::forward_list, std::forward_list = {[0] = {value = "/var/lib/mpd/state", line = 8}}, empty std::forward_list, empty std::forward_list, empty std::forward_list, empty std::forward_list, std::forward_list = {[0] = {
value = "::", line = 11}}, empty std::forward_list, empty std::forward_list, std::forward_list = {[0] = {value = "lounge", line = 31}}, std::forward_list = {[0] = {value = "yes", line = 30}}, empty std::forward_list <repeats 33 times>}}, blocks = {_M_elems = {std::forward_list = {[0] = {line = 17,
block_params = std::vector of length 2, capacity 2 = {{name = "type", value = "pipewire", line = 18, used = true}, {name = "name", value = "Pipewire", line = 19, used = true}}, used = true}, [1] = {line = 22, block_params = std::vector of length 5, capacity 8 = {{name = "type", value = "fifo",
line = 23, used = true}, {name = "name", value = "Snapcast", line = 24, used = true}, {name = "path", value = "/run/snapserver/mpd", line = 25, used = true}, {name = "format", value = "48000:16:2", line = 26, used = true}, {name = "mixer_type", value = "software", line = 27, used = true}},
used = true}}, empty std::forward_list, empty std::forward_list, empty std::forward_list, empty std::forward_list, empty std::forward_list, empty std::forward_list, std::forward_list = {[0] = {line = 33, block_params = std::vector of length 2, capacity 2 = {{name = "plugin", value = "proxy",
line = 34, used = true}, {name = "host", value = "burbon.w17.io", line = 35, used = true}}, used = true}}, empty std::forward_list}}}
#24 0x00000000004200ea in mpd_main (argc=<optimized out>, argv=<optimized out>) at ../src/Main.cxx:667
No locals.
#25 0x0000000000420112 in main (argc=<optimized out>, argv=<optimized out>) at ../src/Main.cxx:679
at_scope_exit_674 = {<> = {<No data fields>}, enabled = true}
I have the same issue on my system (EndeavourOS) altough this happens very inconsistently.
Same on manjaro, once I start playing a song it seg faults with something pipewire related EDIT: This issue seems to be fixed in master
This bug affects only MPD 0.23.6, it does not occur with 0.23.7 which had already been released a week before this bug was reported. That's why I was unable to reproduce it.
Bug report
Describe the bug
Every once in a while we seem to see a segmentation fault that seems related to volume output change in the pipewire output.
I have a stack trace (see below), but no debug symbols. Can recompile with debug symbols if necessary.
Expected Behavior
Setting the volume should not crash mpd.
Actual Behavior
That does not seem to always hold true.
Version
Log