-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exception SIGSEGV while reconnect RTSP #53
Comments
Hi, thanks for raising the issue. |
Hi, thank you for your support. Once I got the following error message: Find my adapted testscript and logs attached. |
I have tried your code on a public rtsp stream (I used rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov). I'm not getting a timeout but by taking out the keepalive() call from the packet loop I can simulate what is happening. I don't get a crash on restart but I have confirmed that the new forceClose is not doing anything useful in this case, unfortunately. As a test I have now added a bit of code that tries to make sure the old demuxer has been garbage collected before reconnecting to see if that makes any difference. You will need to run with
|
Hi Scriptorian How can I disable this ffmpeg log? |
Hi, I've had another go to make sure the forceClose method does what you need. You should be able to remove the code to force garbage collection now. |
I've also now added a call |
Hi, thank you again! The logging function works as expected. Find logs and updated test script attached. |
I've had another try at shutting down cleanly, hopefully this will be enough! |
no data timeout triggered |
PID 62040 received SIGSEGV for address: 0x410dd712 |
It would really help if I could reproduce this here! |
I understand. Would it help if you had access to my camera? |
Perhaps simpler for now if I can send you one or two patch cpp files with some extra debug - can you use them and rebuild beamcoder locally? |
I didn't get it run to build on windows. I do have a Dockerfile to build it on a Raspberry. But I don't get detailed error log. What version of ffmpeg do I have to use, currently I use 4.3.1 Example with the current master branch: |
The javascript binding was keeping a stale pointer around after the force close and this was causing trouble during the garbage collection. I have added an indirection to handle this and hopefully the latest version will be better. |
I'm very sorry, still I get exception. But not every time. PID 13752 received SIGSEGV for address: 0x402f1ce5 |
I think this one is a race condition. If it's now always crashing at demux.cc readFrameExecute as here than I'm fairly convinced. |
I don't know how I could implement such a mutex around demuxer.read. I think my code does one by one, and there should be only one connection open. Do you think something in my test script is wrong? Find attached my script: |
I wasn't clear enough - if a mutex is needed I have to add it in beamcoder land. |
Hello
I would like to use this lib to get JPEG images of an RTSP MPEG stream. I can already establish a connection and receive the single images.
When the connection to the camera is lost or if it is restarting, I want to close the demuxer so I can establish a new connection, how can I do that?
If I simply create a new demuxer, I get a SIGSEGV error.
Find attached my test script and the logs. For my test I used beamcoder v0.6.3
Thank you for your support.
test_and_log.zip
The text was updated successfully, but these errors were encountered: