CDI input: Incoming tx connection interferes with closing rx connection and results in core
- Dominant language
- C
- Stars
- 63
- Forks
- 19
- PR merge metrics
- No merged PRs in 30d
Description
Sending two `cdi_test` one after another and opening `rx` connection in a loop, rejecting the streams coming from the first cdi_input and waiting for the second, may cause core in CDI library.
- First cdi_test command (no video)
`/app/product/bin/cdi_test --local_ip 172.16.0.2 --new_conn --buffer_type LINEAR --tx AVM --adapter EFA --remote_ip 172.17.0.2 --dest_port 5000 --rate 30/1 --num_transactions 60 --keep_alive --new_stream --file_read /mnt/snapper/big_buck_bunny_aac.mp4.1.raw --payload_size 9600 --id 1 --avm_audio ST "48kHz"`
- Second cdi_test command (contains video and audio)
`/app/product/bin/cdi_test --local_ip 172.16.0.2 --new_conn --buffer_type LINEAR --tx AVM --adapter EFA --remote_ip 172.17.0.2 --dest_port 5000 --rate 30/1 --num_transactions 1200 --keep_alive --new_stream --file_read /mnt/snapper/big_buck_bunny_aac.mp4_40s_240x180.yuv --payload_size 86400 --id 0 --avm_video 240 180 YCbCr422 Unused 8bit 30 1 BT601 false false SDR Narrow 1 1 0 180 0 240 --new_stream --file_read /mnt/snapper/big_buck_bunny_aac.mp4.1.raw --payload_size 9600 --id 1 --avm_audio ST "48kHz"`
Thread 1 (Thread 0x7f231d5fd700 (LWP 313)):
#0 0x00007f247ba23940 in ControlInterfaceGetEndpoint () from /opt/elemental_se/lib/libcdisdk.so.3
#1 0x00007f247ba29da6 in ProbeControlThread () from /opt/elemental_se/lib/libcdisdk.so.3
#2 0x00007f247ba45889 in ThreadFuncHelper () from /opt/elemental_se/lib/libcdisdk.so.3
#3 0x00007f247b01aea5 in start_thread () from /lib64/libpthread.so.0
#4 0x00007f247920ab0d in clone () from /lib64/libc.so.6
Thread 7 (Thread 0x7f24829ad980 (LWP 192)):
#0 0x00007f247b01f1ee in pthread_cond_broadcast@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1 0x00007f247ba45571 in CdiOsSignalSet () from /opt/elemental_se/lib/libcdisdk.so.3
#2 0x00007f247ba248a7 in RxBufferDestroy () from /opt/elemental_se/lib/libcdisdk.so.3
#3 0x00007f247ba2ca27 in RxConnectionDestroyInternal () from /opt/elemental_se/lib/libcdisdk.so.3
#4 0x00007f247ba3944f in ConnectionDestroyInternal () from /opt/elemental_se/lib/libcdisdk.so.3
#5 0x00007f247ba3d121 in CdiCoreConnectionDestroy () from /opt/elemental_se/lib/libcdisdk.so.3
Contributor guide
Research direction
Reproduce the two consecutive cdi_test commands, including the rx loop and rejected streams, then inspect the reported libcdisdk.so.3 stack around ControlInterfaceGetEndpoint, ProbeControlThread, RxBufferDestroy, and RxConnectionDestroyInternal. Done means the same connection sequence no longer causes a core during rx connection or connection destruction.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, c
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100