Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#7 too many jobstotal jobs = 100

0.9.1
closed-fixed
Jin
General (19)
7
2007-07-17
2007-06-06
Anonymous
No

Hi,
When try to go fast forward after some tries I get a on th console:total jobs = 100, too many jobstotal jobs = 100, too many jobstotal jobs = 100, ...
It writes serval screens and the server is not reachable anymore.
Any idea?
Thanks for the great software.
Olaf

Discussion

  • Jin
    Jin
    2007-06-06

    • milestone: --> 0.9.1
    • assigned_to: nobody --> jin_eld
    • priority: 5 --> 7
    • labels: --> General
    • status: open --> open-accepted
     
  • Jin
    Jin
    2007-06-06

    Logged In: YES
    user_id=1205152
    Originator: NO

    Sounds like some crap is going on in the libupnp part of the code... what client are you using? I bet you have a Playstation 3, right? I assume that you are experiencing the same problem as some other people (see PS3 thread on the forums)

    We have tested a workaround, it will be in the next release; let me know if you would like to test now.

    Thanks for the report!
    Jin

     
  • robolaf
    robolaf
    2007-06-12

    Logged In: YES
    user_id=1152325
    Originator: NO

    Hi Jin,
    Right, a PS3. Testing? Yes, just let me know.
    Thanks.
    Olaf

     
  • Jin
    Jin
    2007-06-12

    Logged In: YES
    user_id=1205152
    Originator: NO

    ok, I checked in the workaround, just get the latest code from SVN.
    use autoreconf -i to generate the configure file, you will find instructions on how to compile in the docs,
    there is also a detailed walkthrough in the PS3 thread on the forums.

    add the following in the <server> section of your configuration:
    <retries-on-timeout>3</retries-on-timeout>

    you can test different values here, basically you could see how high you can go, without having the problem
    that you described.

    this solved the problem for one of our PS3 users - for riker, who did a great investigation on this issue
    (also see the PS3 thread), let me know if it worked for you too.

    Thanks!
    Jin

     
  • robolaf
    robolaf
    2007-06-14

    Logged In: YES
    user_id=1152325
    Originator: NO

    Hi Jin,
    I tested the new version + the config parameter today. So far I did not get this error any more. Seems to be more than a workaround... a solution!
    Thanks for all the great work.
    Olaf

     
  • Jin
    Jin
    2007-06-17

    Logged In: YES
    user_id=1205152
    Originator: NO

    Thanks for testing! I'm glad to hear that this works around the problem - I still call it a workaround because the problem itself still exists and is beyond our control :>

    I'll close this bug once the release with the fix is out.

     
  • Gibb
    Gibb
    2007-06-20

    Logged In: YES
    user_id=1345254
    Originator: NO

    Some more info: originates from ThreadPool object of pupnp (http://pupnp.sourceforge.net/), by calling the ThreadPoolAdd method (checks total number of jobs when adding a new job to the thread pool, could explain why retry parameter is working), method is called in upnpapi.c, gena_device.c, miniserver.c and ssdp_server.c

    hope this is useful, as I don't have enough time to dig deeper.

     
  • Jin
    Jin
    2007-06-20

    Logged In: YES
    user_id=1205152
    Originator: NO

    The problem is not really a bug in the SDK, it's a problem on TCP level that then leads to the situation that we reach the total number of allowed jobs. The Playstation keeps the socket open, but does not allow writing any data to it, at the same time no error occurs; so we do an endless select loop: we have data to send, we do select, but get the information that the remote socket would block, so our select times out and we try again. As the result the job in the SDK is being blocked by this operation, so when you continue browsing or playing media on the PS3, a new job is queued, which at some point is caught in the same situation. So in the end the maximum number of allowed threads and jobs is exceeded, and you get the error described in this bugreport.

    The workaround that I introduced will simply close the socket after a given number of retries; and it seems that allthough we can not send all the data over to the PS3 it does not have any real implications and seems to work well.

     
  • Jin
    Jin
    2007-07-17

    Logged In: YES
    user_id=1205152
    Originator: NO

    Workaround feature is now in 0.10.0

     
  • Jin
    Jin
    2007-07-17

    • status: open-accepted --> closed-fixed