Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Strange Behavior




Try setting the streamingserver.xml preference value "total_bytes_update" to 2.  

This should cause the internal statistics to update every 2 seconds instead of 1 second, or in your case, less than 1 second.  A timer based on the "total_bytes_update" preference value is set to execute the RTPStatsUpdaterTask  after 1 second.  For some reason the timer is executing the code at under a second and the integer calculation is forcing it to 0 and causing the error.


John

On Feb 7, 2007, at 2:44 PM, Daniel Wells wrote:

I have installed the DSS on several platforms for comparison and am seeing something strange happening on the version that is running on linux.  I noticed that the stream dies periodically.  In VLC the stream simply hangs.  In quicktime, the stream dies briefly, then you see quicktime establish a new rtsp connection and the stream picks up where it left off.

 

We attached a debugger to the process and this is what we saw:

 

Program received signal SIGFPE, Arithmetic exception.

[Switching to Thread -1208128592 (LWP 4249)] 0x08058dc0 in RTPStatsUpdaterTask::Run (this=0x81b42a8)

    at Server.tproj/QTSServerInterface.cpp:423

423     Server.tproj/QTSServerInterface.cpp: No such file or directory.

        in Server.tproj/QTSServerInterface.cpp

(gdb) backtrace full

#0  0x08058dc0 in RTPStatsUpdaterTask::Run (this=0x81b42a8)

    at Server.tproj/QTSServerInterface.cpp:423

        delta = 999

        theTime = 0

        bits = 0

        numProcessors = Variable "numProcessors" is not available.

 

Now I looked at the code and I am not sure what is happening (I am not a C++ programmer) but if delta is less than zero then the following line will cause theTime to be equal to 0:

 

        UInt32 theTime = delta / 1000;

 

If theTime equals 0 then line 423 will fail everytime:

 

        packetsPerSecond /= theTime;

 

The following code inplies you are aware of the problem but other than the warning no excpetion handling occurs:

 

        if (delta < 1000)

            WarnV(delta >= 1000, "Timer is off");

 

Am I reading this right or is their another reason why the code might be failing at this line?

 

Thanks for your help.

 

Sincerely,

 

 

Daniel Wells

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Streaming-server-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

John Murata



 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Streaming-server-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/streaming-server-dev/email@hidden

This email sent to email@hidden

References: 
 >Strange Behavior (From: "Daniel Wells" <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.