[SOLVED] uServer goes endless loop

Author: hansen@ahp-gmbh.de (-GHAN-)

Hi everybody,

does anybody use the urouter intense? "Intense" here means like with 20+ clients requesting data. Sometimes the uServer is stuck and runs endless ... the task takes more and more ram and moves to a 100% cpu. The only way to stop it is to kill the task.

Can anybody confirm this?

 

And there is another one i want to ask for:
My request to uRouter gets stuck when two requests (in my case AJAX) are started at the same time! If uRouter has a lucky moment, the one of the requests returns after 30+ seconds.

Has anybody seen this behavior lately?

 

Cheers,

-GHAN-

5 Comments

  1. Ah ... just found more details on the second one, so now i can be more precise:

     

    try to do the following in an INTERNET EXPLORER (IE):

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
        <title>-GHAN- | Troubleshoot the userver!</title>
    </head>
    <body>
    <form action="LINK_TO_USP">
     <input type="hidden" name="PARAMETER" value="whatever">
     <button type="submit" onclick="submit();">GO kill the USERVER!</button>
    </form>
    </body>
    </html>
    

    When you click the button, the Browser will send the request to the uRouter. Depending upon the browser it will do this TWICE (IE does so! There are TWO triggers to fire). As a matter of fact IE is a bad piece of compiled code. It doesnt figure, that the request gets send twice :) The GOOD browsers take care of this an fire only once (the same event).

    But let me come back to the uRouter:

    It's in trouble and seems to pass the first request thru to Uniface. I don't know what happens after that. But uRouter has so much trouble with this that "nothing seems to happen" in the IE. After about 20 seconds (on my machine) the screen is blanked and you get a

    -25 Middleware failure

    as a result on the request duo! ...

    Of course you may blame me for being stupid because of starting such a double-request. But hey ... think twice! Do you know how many triggers are fired in HTML/Javascript while u do the RIA and DSP in U9.4 (Beta) ? :) ... this can happen very fast.

     

    Now, please ... can somebody confirm this as a proof?

     

    cheers and happy hacking,

    -GHAN-


    Author: -GHAN- (hansen@ahp-gmbh.de)
  2. Hello GHAN,

    I believe that the reason your browser is submitting the page twice, is becuase the button type is "submit" which means that when it is pressed, it will submit the page.  It will also submit the page when the event 'onclick' occurs because your have suggested the call the 'submit()' function, which I am assuming will submit the page (I believe that this will happen first). Try either removing the onclick="submit();" or, do not make this a type="submit" button.  I will always be one to pick apart behaviours of IE, but in this case, it does appear to be doing the correct behaviour.

    Regarding the uRouter.... I don't know ;)

    Thanks

     


    Author: discooctopus (disco@discooctopus.com)
  3. You are definitly right- (basicly) it behaves RIGHT :)

    • it has to submit the form because of the SUBMIT button which is clicked
    • further there is an event called onCLICK which fires and again submits ;)

    But on the other hand the submit is called twice on the same event. The other Browsers filter that kindly and submit only once.

    The html code is just a proof to stress the uRouter- not a normal code. It should point out, what could happen it many event handlers fire their triggers and start simultanios requests to uRouter.

    Thx for your words, disco ;) Kind regards to you down under

    cheers,

    -GHAN-


    Author: -GHAN- (hansen@ahp-gmbh.de)
  4. Bad news!

    uRouter is really stuck on the above! I perfom initially FIELD CHECKS when i do open the  HTML form. This causes the onLEAVEFIELD Event to check all defined fields. I assume this to be fast ... and so it messes up the uRouter!

    calling

    http://localhost/unifaceview/wrd2/run/MYUSP.validate_field?MODE=E&SRC=WERKS.WERK&VAL=4r

    works fine, while not swarmed out to the uRouter and nicely returns JSON data in 28-67ms ...

    Multiple field checks return after a period of 1min+ and says -25 Middleware Error! (allthough they have different params!)

    I Looked at a pool of uSERVERs (10 at this moment) consuming 14MB each but have nothing to do! ... there is no reaction on the requests ... only the first one survives and returns after som 50ms ...

    ARGH! ...

    I just checked it against the Version 9.4 Beta ... has the same request dispatcher as in 9.2 (wrd2241), so this BUG takes us all down! Time to place a CALL!

     

    EDIT:

     Call has been placed, stay tuned folks!


    Author: -GHAN- (hansen@ahp-gmbh.de)
  5. The end of this Topic

    After having raised this to a call we updated the system from 9.2.03 to a 9.2.03.01 (O303 0303_1) and it vanished!

    This enabled us to launch the "web based onLEAVEFIELD"-Trigger in Serverpages.

    Thx for the good support from Andreas Herzig :)

     

    Cheers,

     

    -GHAN-


    Author: -GHAN- (hansen@ahp-gmbh.de)