aws / aws/aws-cdi-sdk

CDI input: Incoming tx connection interferes with closing rx connection and results in core

Open
#125 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.