Skip to content

Instantly share code, notes, and snippets.

@spscream
Created October 16, 2025 12:47
Show Gist options
  • Select an option

  • Save spscream/538ec4eeb5e11b5c11fa72cb05f88ced to your computer and use it in GitHub Desktop.

Select an option

Save spscream/538ec4eeb5e11b5c11fa72cb05f88ced to your computer and use it in GitHub Desktop.
(gdb) frame 0
#0 0x00007ff37a474e79 in janus_audiobridge_notify_participants (participant=participant@entry=0x7ff37572b7b0, msg=msg@entry=0x7ff378c9fee0, notify_source_participant=<optimized out>)
at plugins/janus_audiobridge.c:3059
3059 in plugins/janus_audiobridge.c
(gdb) info registers
rax 0x0 0
rbx 0x7ff37572b7b0 140683624232880
rcx 0x7ff378c9ff08 140683680284424
rdx 0x7ff37328ccf0 140683585834224
rsi 0x7ff378c9fee0 140683680284384
rdi 0x7ff37857a520 140683672790304
rbp 0x7ff37857a520 0x7ff37857a520
rsp 0x7ff37857a500 0x7ff37857a500
r8 0x7ff37328cd00 140683585834240
r9 0xb7fa5b85 3086637957
r10 0x0 0
r11 0x246 582
r12 0x7ff37857a510 140683672790288
r13 0x7ff378c9fee0 140683680284384
r14 0x7ff37a4b885f 140683705550943
r15 0x7ff37a4b803d 140683705548861
rip 0x7ff37a474e79 0x7ff37a474e79 <janus_audiobridge_notify_participants+57>
eflags 0x10206 [ PF IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
fs_base 0x7ff37857ab38 140683672791864
gs_base 0x0 0
(gdb) p participant
$1 = (janus_audiobridge_participant *) 0x7ff37572b7b0
(gdb) p *participant
$2 = {session = 0x7ff36ac14070, room = 0x0, user_id = 88753451, user_id_str = 0x7ff37777bcb0 "88753451",
display = 0x7ff373817ec0 "1b31388c-c58b-51f6-a233-e4a95d816996:6bc40c5d-8557-57e7-bee2-f0ac3b128188:feed", admin = 0, active = 0, encoding = 0, decoding = 1, muted = 0,
volume_gain = 100, opus_bitrate = 32000, opus_complexity = 4, stereo = 0, spatial_position = 0, denoise = 0, rnnoise = {0x0, 0x0}, resampler_rate = 0, resampler_stereo = 0,
upsampler = 0x0, downsampler = 0x0, upsample_buffer = 0x0, downsample_buffer = 0x0, denoiser_buffer = {0x0, 0x0}, jitter = 0x7ff3724c9fc0, jitter_next_check = 0, inbuf = 0x0,
outbuf = 0x7ff371f2bc90, qmutex = {p = 0x0, i = {0, 0}}, opus_pt = 111, extmap_id = 1, dBov_level = 74, audio_active_packets = 0, audio_dBov_sum = 0, user_audio_active_packets = 0,
user_audio_level_average = 0, talking = 0, context = {last_ssrc = 489289187, last_ts = 7179840, base_ts = 15275520, base_ts_prev = 0, prev_ts = 7178880, target_ts = 0, start_ts = 0,
last_seq = 7480, prev_seq = 7479, base_seq = 15912, base_seq_prev = 0, ts_reset = 0, seq_reset = 0, new_ssrc = 1, seq_offset = 0, prev_delay = 0, active_delay = 0, ts_offset = 0,
last_time = 1647043696271, reference_time = 0, start_time = 0, evaluating_start_time = 0}, codec = JANUS_AUDIOCODEC_OPUS, plainrtp = 0, plainrtp_media = {remote_audio_ip = 0x0,
ready = 0, audio_rtp_fd = -1, local_audio_rtp_port = 0, remote_audio_rtp_port = 0, audio_ssrc = 0, audio_ssrc_peer = 0, audio_pt = -1, audio_send = 0, context = {last_ssrc = 0,
last_ts = 0, base_ts = 0, base_ts_prev = 0, prev_ts = 0, target_ts = 0, start_ts = 0, last_seq = 0, prev_seq = 0, base_seq = 0, base_seq_prev = 0, ts_reset = 0, seq_reset = 0,
new_ssrc = 0, seq_offset = 0, prev_delay = 0, active_delay = 0, ts_offset = 0, last_time = 0, reference_time = 0, start_time = 0, evaluating_start_time = 0}, pipefd = {-1, -1},
thread = 0x0, initialized = 0}, pmutex = {p = 0x0, i = {0, 0}}, sampling_rate = 48000, encoder = 0x7ff3749c0ac0, decoder = 0x7ff3699f1650, fec = 1, expected_loss = 0,
last_timestamp = 7382400, last_seq = 7505, reset = 0, thread = 0x7ff373817f80, mjr_active = 0, mjr_base = 0x0, arc = 0x0, annc = 0x0, group = 1, rec_mutex = {p = 0x0, i = {0, 0}},
suspend_cond_mutex = {p = 0x0, i = {0, 0}}, suspend_cond = {p = 0x0, i = {1, 0}}, suspended = 0, paused_events = 0, destroyed = 0, ref = {count = 3,
free = 0x7ff37a475df0 <janus_audiobridge_participant_free>}}
(gdb) p msg
$3 = (json_t *) 0x7ff378c9fee0
(gdb) p *msg
$4 = {type = JSON_OBJECT, refcount = 1}
(gdb) p participant->room
$5 = (janus_audiobridge_room *) 0x0
(gdb) p *participant->room
Cannot access memory at address 0x0
(gdb) bt
#0 0x00007ff37a474e79 in janus_audiobridge_notify_participants (participant=participant@entry=0x7ff37572b7b0, msg=msg@entry=0x7ff378c9fee0, notify_source_participant=<optimized out>)
at plugins/janus_audiobridge.c:3059
#1 0x00007ff37a47d9a8 in janus_audiobridge_participant_istalking (session=0x7ff36ac14070, participant=0x7ff37572b7b0, packet=<optimized out>, silence=<optimized out>)
at plugins/janus_audiobridge.c:9665
#2 0x00007ff37a47e434 in janus_audiobridge_participant_istalking (silence=0x7ff367b35c78, packet=<optimized out>, participant=0x7ff37572b7b0, session=<optimized out>)
at plugins/janus_audiobridge.c:9225
#3 janus_audiobridge_participant_thread (data=<optimized out>) at plugins/janus_audiobridge.c:9225
#4 0x00007ff37b5db5f0 in ?? () from /usr/lib/libglib-2.0.so.0
#5 0x00007ff37b99734f in start (p=0x7ff37857a8e8) at src/thread/pthread_create.c:207
#6 0x00007ff37b999965 in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC
(gdb)
(gdb) disassemble /m $pc-32, $pc+32
Dump of assembler code from 0x7ff37a474e59 to 0x7ff37a474e99:
3059 in plugins/janus_audiobridge.c
=> 0x00007ff37a474e79 <janus_audiobridge_notify_participants+57>: mov 0xa0(%rax),%rsi
0x00007ff37a474e80 <janus_audiobridge_notify_participants+64>: call 0x7ff37a46ab10 <g_hash_table_iter_init@plt>
3060 in plugins/janus_audiobridge.c
0x00007ff37a474e85 <janus_audiobridge_notify_participants+69>: mov 0x8(%rbx),%rax
0x00007ff37a474e89 <janus_audiobridge_notify_participants+73>: mov 0xc8(%rax),%eax
0x00007ff37a474e8f <janus_audiobridge_notify_participants+79>: test %eax,%eax
0x00007ff37a474e91 <janus_audiobridge_notify_participants+81>: jne 0x7ff37a475102 <janus_audiobridge_notify_participants+706>
0x00007ff37a474e97 <janus_audiobridge_notify_participants+87>: nopw 0x0(%rax,%rax,1)
0x00007ff37a474ea0 <janus_audiobridge_notify_participants+96>: xor %esi,%esi
0x00007ff37a474ea2 <janus_audiobridge_notify_participants+98>: mov %r12,%rdx
0x00007ff37a474ea5 <janus_audiobridge_notify_participants+101>: mov %rbp,%rdi
0x00007ff37a474ea8 <janus_audiobridge_notify_participants+104>: call 0x7ff37a46a1e0 <g_hash_table_iter_next@plt>
0x00007ff37a474ead <janus_audiobridge_notify_participants+109>: test %eax,%eax
0x00007ff37a474eaf <janus_audiobridge_notify_participants+111>: je 0x7ff37a475102 <janus_audiobridge_notify_participants+706>
3061 in plugins/janus_audiobridge.c
3062 in plugins/janus_audiobridge.c
3063 in plugins/janus_audiobridge.c
3064 in plugins/janus_audiobridge.c
3065 in plugins/janus_audiobridge.c
End of assembler dump.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment