[Live-devel] Unhandled exception during TEARDOWN
Erlandsson, Claes P (CERLANDS)
CERLANDS at arinc.com
Wed Jan 23 12:22:00 PST 2013
When trying to get to the bottom of this "TEARDOWN exception" I started by
testing different streams. Some noteworthy observations:
- The frequency of the exceptions varies greatly. Sometimes I can get one
exception every 10min, while other times I can run multiple clients for a
few days before seeing one.
- The exception occurs on all computers I've tested it on, although I've
only been running Windows clients.
- The exception has occurred both for live streams and archive, i.e.
non-live, streams. It also occurs for different cameras and isn't limited to
a specific stream. I've confirmed that the exception happens when streaming
from both Cisco VSM 6 and VSM 7.
- I've however not seen the exception while streaming from an Axis 243q
encoder. Since the crashes are so random, you can't draw any confident
conclusions, but I've had multiple clients streaming from 3 Axis encoders
for multiple days, so everything points towards that the exceptions don't
occur with the Axis encoders. I.e. the exception has (so far) only occurred
using Cisco VSM.
I then started adding debug printouts to the code. After a while I noticed
it always happens in DummySink::afterGettingFrame(), although that makes no
sense. In the testRTSPClient example that function only calls
continuePlaying(). The debug message (602) right before the call to
continuePlaying() is always printed when the exception occurs, but not any
message in continuePlaying().
The crashes are very consistent. Not the frequency, but the location. When
they occur, 602 is always the last message printed. I've attached an output
example. Judging by the callstack it almost looks to me like the printf
would be the cause, but the same thing happens if I remove the debug output,
i.e. 602, and 601 etc.
This however makes no sense at all. What is causing the sudden app crash? I
see no explanation at all in the code. As can be seen, I added a try-catch,
but that didn't do anything.
With strange errors like this I would almost suspect some odd linking
problem or strange Windows-issue, but that would not explain why it works
most of the time, and why it never tends to crash with some streams (i.e.
when not streaming via Cisco VSM). I would also suspect threads going havoc,
but as liveMedia is single-threaded that shouldn't be the case.
It definitely seems like the server matters. How can that be?
Any ideas at all what might be going on?
Included files in the attached zip-archive:
- testRTSPClient.cpp: Modified example that takes 2 arguments; two rtsp
url's to cycle between. The dwell time, i.e the number of seconds to wait
between switching streams is set to 5s. E.g.:
testRTSPClient.exe rtsp://192.168.1.103/archive/TVF-04Ba
rtsp://192.168.1.103/archive/TVF-16a
- Output.txt: Typical example of program output; always crashes after debug
message 602. Note that the output shows some additional "debug numbers" that
I added to the library while hunting this down.
- Callstack.png: Snapshot example of the callstack while running the debug
version within Visual Studio.
/Claes
From: live-devel-bounces at ns.live555.com
[mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson
Sent: Thursday, January 10, 2013 6:43 PM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] Unhandled exception during TEARDOWN
I ran your modified application for several hours (on FreeBSD, under GDB),
and also on Linux using "valgrind", but unfortunately was unable to find any
problem.
I suspect that whatever bug is causing this is something that (for some
reason) is causing an exception only in your environment. I'm still
interested in learning the cause, of course (especially if it is - as it
appears to be - a bug in our code), but it looks like you're probably going
to have to track this down yourself.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20130123/f2b71864/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: RTSPexception.zip
Type: application/x-zip-compressed
Size: 54057 bytes
Desc: not available
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20130123/f2b71864/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5740 bytes
Desc: not available
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20130123/f2b71864/attachment-0003.bin>
More information about the live-devel
mailing list