DWC freezes



  • Just noticed this. I'm 6 hrs into a longish print and a couple of times I've noticed that the DWC display has stopped updating any of the displayed parameters. If I disconnect, then reconnect, it catches up just as if I had closed the tab and opened it again. There is nothing untoward reported in the G-Code Console. I'm using Firefox and Win7. It's no big deal but would be nice to fix it if I can.


  • administrators

    Can you confirm that you are running firmware 1.15 and DWC 1.12?

    A Wireshark trace would be helpful.



  • The same thing for me, but I think it depends on WiFi network load. I will try to dump logs using Wireshark.

    Firmware Name: RepRapFirmware for Duet WiFi
    Firmware Version: 1.15e (2016-10-02)
    WiFi Server Version: 1.02
    Web Interface Version: 1.12



  • Firmware as above. i.e. 1.15e (2-16-10-02), WiFi 1.02, Web 1.12. No idea what Wireshark is or how to use it so I'll leave that for roboduet.



  • Just caught this (or similar) issue. DWC interface isn't updating temperatures at all, no periodic JSON status requests both in Firefox developer panel and in Wireshark, but DWC is still able to execute user-initiated commands (homing, macroses and so on). No information provided in log panel of DWC after executing commands. For example, after issuing M122 no debug information shown in log, but if I issue G28 - printer homes correctly. Seems like /rr_reply request isn't queued.

    Also no AJAX errors and so on in log panel, DWC just stopped doing any periodic tasks.

    Another (new) tab with DWC in the same browser is working as expected.


  • administrators

    Try opening the debug console, which will usually appear if you press control-shift-J. If DWC isn't sending status requests, it usually means that there has been a JavaScript exception, which will be recorded in the console.



  • No exceptions or other errors are recorded in FF dev console, no errors in DWC log and DWC isn't sending status requests. But I opened console just after I realized that DWC is frozen again. Maybe something is happened before.

    Console is still open, so I can dump internal variables or other info that you may be interested in.



  • Caught this again with both FF dev console logs and Wireshark logs.

    Wireshark:

    Instead of this "standard" packet sequence (> = from PC to Duet, < = from Duet to PC):

    [[language]]
    > SYN
    < SYN, ACK
    > ACK
    > GET /rr_status?type=1
    < HTTP/1.1 200 OK
    > FIN, ACK
    < RST, ACK
    
    

    Wireshark recorded the following sequence

    [[language]]
    < SSDP "NOTIFY * HTTP/1.1" request (NT: upnp:rootdevice, NTS: ssdp:alive)
    
    > SYN
    < SYN, ACK
    > ACK
    > GET /rr_status?type=1
    < ACK
    > FIN, ACK
    < RST, ACK
    
    

    Take attention to SSDP request and to empty /rr_status request body.

    Browser side console log:

    [[language]]
    "GET /rr_status?type=1" - successful request
    "GET /rr_status?type=1" - request with empty response
    "GET /" - I don't know why JS requests / index page after unsuccessful requst
    
    

    After last GET / nothing happens. GET / caused by JS request, I have call stack and other info.



  • One more catch:

    Browser side:

    [[language]]
    "GET /rr_status?type=1" - successful request (req1)
    "GET /rr_status?type=1" - successful request according to Wireshark, but 200 OK empty request for browser (req2)
    "GET /" - again, JS requests index page (/) after failure
    
    

    Wireshark side:
    req1 (successful):

    [[language]]
    GET /rr_status?type=1 HTTP/1.1
    Host: 192.168.0.28
    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
    Accept: application/json, text/javascript, */*; q=0.01
    Accept-Language: en-US,en;q=0.5
    Accept-Encoding: gzip, deflate
    X-Requested-With: XMLHttpRequest
    Referer: http://192.168.0.28/
    DNT: 1
    Connection: keep-alive
    
    HTTP/1.1 200 OK
    Cache-Control: no-cache, no-store, must-revalidate
    Pragma: no-cache
    Expires: 0
    Content-Type: application/json
    Content-Length: 387
    Connection: close
    
    {"status":"I","coords":{"axesHomed":[0,0,0],"extr":[0.0],"xyz":[0.00,0.00,0.00]},"currentTool":0,"params":{"atxPower":0,"fanPercent":[0.00,100.00,0.00],"speedFactor":100.00,"extrFactors":[100.00]},"seq":1204,"sensors":{"probeValue":0,"fanRPM":0},"temps":{"bed":{"current":26.6,"active":0.0,"state":2},"heads":{"current":[25.8],"active":[0.0],"standby":[0.0],"state":[2]}},"time":26601.2}
    
    

    req2 (shown with 200 OK status but with empty response body):

    [[language]]
    GET /rr_status?type=1 HTTP/1.1
    Host: 192.168.0.28
    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
    Accept: application/json, text/javascript, */*; q=0.01
    Accept-Language: en-US,en;q=0.5
    Accept-Encoding: gzip, deflate
    X-Requested-With: XMLHttpRequest
    Referer: http://192.168.0.28/
    DNT: 1
    Connection: keep-alive
    
    HTTP/1.1 200 OK
    Cache-Control: no-cache, no-store, must-revalidate
    Pragma: no-cache
    Expires: 0
    Content-Type: application/json
    Content-Length: 387
    Connection: close
    
    {"status":"I","coords":{"axesHomed":[0,0,0],"extr":[0.0],"xyz":[0.00,0.00,0.00]},"currentTool":0,"params":{"atxPower":0,"fanPercent":[0.00,100.00,0.00],"speedFactor":100.00,"extrFactors":[100.00]},"seq":1204,"sensors":{"probeValue":0,"fanRPM":0},"temps":{"bed":{"current":26.7,"active":0.0,"state":2},"heads":{"current":[25.8],"active":[0.0],"standby":[0.0],"state":[2]}},"time":26601.9}
    
    

    The only thing I can understand at this moment that DWC requests index page (/) if it receives empty AJAX response and after this stops any further requests.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.