Skip to content

Fixed deadlock on pipeline.stop() with playback device in non realtime - #8625

Merged
maloel merged 6 commits into
realsenseai:developmentfrom
aangerma:DSO-15157
Mar 22, 2021
Merged

Fixed deadlock on pipeline.stop() with playback device in non realtime#8625
maloel merged 6 commits into
realsenseai:developmentfrom
aangerma:DSO-15157

Conversation

@aangerma

Copy link
Copy Markdown
Contributor
  1. Added stop to syncer to avoid deadlock in case of blocking enqueue.
  2. Fix bug on dispatcher::stop() that caused to crash - set _is_alive to false on stop before destroying the queue.
    [tracked on DSO-15157]

@@ -0,0 +1,31 @@
# License: Apache 2.0. See LICENSE file in root directory.
# Copyright(c) 2020 Intel Corporation. All Rights Reserved.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2021

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

# and non realtime mode is not stuck due to deadlock of
# pipeline stop thread and syncer blocking enqueue thread (DSO-15157)
#############################################################################################
test.start("Playback with non realtime doesn't stuck at stop")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doesn't get stuck
or
isn't stuck

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

#############################################################################################
test.start("Playback with non realtime doesn't stuck at stop")
current_dir = os.path.dirname( os.path.abspath( __file__ ))
filename = current_dir + os.sep + 'recording.bag'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is the file put??

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't it be called recording_deadlock.bag? I'm confused...

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@@ -0,0 +1,31 @@
# License: Apache 2.0. See LICENSE file in root directory.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Matan put his record & playback test under func/rec-play/
Talk to him and synchronize please

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Comment thread src/sync.cpp
Comment thread src/proc/syncer-processing-block.h
@maloel
maloel merged commit d8204fc into realsenseai:development Mar 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants