Software reset: Stuck in spin loop, spinning module PrintMonitor



  • Yesterday I got my first failed print due to a software reset. The nozzle just stopped in the middle of my print and the Duet reset.

    CoreXY config with lots of print hours already successfully logged in the last months.

    DuetWifi 1.02
    Firmware Version: 1.19.2 (2017-09-01)
    WiFi Server Version: 1.19.2
    Web Interface Version: 1.19.3

    Here the M122:

    M122                                                                                                                                                                      [20/113]
    === Diagnostics ===
    Used output buffers: 1 of 32 (9 max)
    === Platform ===
    RepRapFirmware for Duet WiFi version 1.19.2 running on Duet WiFi 1.0
    Board ID: 08DDM-9FAM2-LWXXX-6J9FL-3S86J-XXXX
    Static ram used: 21176
    Dynamic ram used: 96184
    Recycled dynamic ram: 1424
    Stack ram used: 4048 current, 4880 maximum
    Never used ram: 7408
    Last reset 14:49:46 ago, cause: software
    Last software reset reason: Stuck in spin loop, spinning module PrintMonitor, available RAM 3184 bytes (slot 3)
    Software reset code 0x4049, HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0040080f, BFAR 0xe000ed38, SP 0x2001eb14
    Stack: 00435823 00008196 ffffffe9 00051051 00081111 40080000 00008196 00000000 00430543 00434108 61000200 462bc805 00000000 00000000 00000000 00000000 00000000 00000000
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms
    MCU temperature: min 28.2, current 29.2, max 31.0
    Supply voltage: min 24.0, current 24.2, max 24.5, under voltage events: 0, over voltage events: 0
    Driver 0: standstill
    Driver 1: standstill
    Driver 2: standstill
    Driver 3: stalled standstill
    Driver 4: standstill
    Date/time: 2017-11-22 09:52:06
    Slowest main loop (seconds): 0.006104; fastest: 0.000000
    === Move ===
    MaxReps: 0, StepErrors: 0, FreeDm: 240, MinFreeDm 240, MaxWait: 0ms, Underruns: 0, 0
    Scheduled moves: 0, completed moves: 0
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heater = 0, chamber heater = -1
    Heater 1 is on, I-accum = 0.0
    === GCodes ===
    Segments left: 0
    Stack records: 2 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is ready with "M122" in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    Network state is running
    WiFi module is connected to access point
    WiFi firmware version 1.19.2
    WiFi MAC address 5c:cf:4f:ff:ff:ff
    WiFi Vcc 3.07, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 36400
    WiFi IP address 10.0.0.5
    WiFi signal strength -43dBm
    Reconnections 0
    HTTP sessions: 1 of 8
    Socket states:  0 0 0 0 0 0 0 0
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
    ok
    
    

    My PanelDue stayed active and showed the "Print" tab. The following messages are visible in the "Console" tab:

    3h27 Connected
    3h27 FTP is enabled on port 21  Wifi module started
    3h27 Wifi module is connected to access point XXXXXX, IP address 10.0.0.5
    3h14 Leadscrew adjustments made: 0.079 -0.153, points used 2, deviation before 0.082 after 0.000
    16m Wifi module is connected to access point XXXXX, IP address 10.0.0.5
    
    ```So apparently the software reset happened 16 minutes ago from the last PanelDue message.
    
    Since I'm on 1.19, I am not using any stall-detection, yet the M122 output shows "Driver 3: stalled standstill".
    I'm using [c]M584 X0 Y1 Z2:4[/c], so "Driver 3" should be the extruder?
    I just tried it, heating up + extruding filament still works (without touching the extruder since yesterdays reset)
    
    I think I at around the time of the software reset I tried to load DWC which was awfully slow (reverse-proxy + VPN). I figured my local Wifi must be bad and closed the browser tab. When I wanted to check again a bit later, I noticed that the machine was idle and not printing any more.

  • administrators

    Thanks for your report. I'm sorry you lost a print.

    The diagnostic data indicates that the firmware was waiting for the SD card or its interface to become ready when the reset occurred.

    [For my own future reference: 00430543 is in sd_mmc_init_read_blocks, and 00434108 is in hsmci_send_cmd_execute.]



  • No big issue about the print.

    Should I try a different SD card? It worked flawlessly the last months. I didn't even take it out, I always upload via DWC.
    The file is about 80MB. I printed bigger files in the past.

    It just happened again - now right after the heatup was done (or almost done, both bed & hotend were hot already):
    Now with a different error:

    Here the M122 via DWC:

    M122
    === Diagnostics ===
    Used output buffers: 3 of 32 (23 max)
    === Platform ===
    RepRapFirmware for Duet WiFi version 1.19.2 running on Duet WiFi 1.0
    Board ID: 08DDM-9FAM2-LWXXX-6J9FL-3S86J-XXXX
    Static ram used: 21176
    Dynamic ram used: 96088
    Recycled dynamic ram: 1520
    Stack ram used: 1304 current, 4880 maximum
    Never used ram: 7408
    Last reset 00:02:31 ago, cause: software
    Last software reset reason: Stuck in spin loop, spinning module Network, available RAM 3184 bytes (slot 4)
    Software reset code 0x4041, HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0040080f, BFAR 0xe000ed38, SP 0x2001fdcc
    Stack: 00435823 00008196 ffffffe9 000d1052 00101112 00000000 00008196 20002b9c 00430543 00434102 61000200 4382362e 00000000 00000000 00000000 00000000 00000000 00000000
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms
    MCU temperature: min 27.9, current 28.9, max 30.1
    Supply voltage: min 24.1, current 24.2, max 24.4, under voltage events: 0, over voltage events: 0
    Driver 0: standstill
    Driver 1: standstill
    Driver 2: standstill
    Driver 3: standstill
    Driver 4: standstill
    Date/time: 2017-11-22 10:58:13
    Slowest main loop (seconds): 0.020180; fastest: 0.000034
    === Move ===
    MaxReps: 0, StepErrors: 0, FreeDm: 240, MinFreeDm 240, MaxWait: 0ms, Underruns: 0, 0
    Scheduled moves: 0, completed moves: 0
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heater = 0, chamber heater = -1
    Heater 1 is on, I-accum = 0.0
    === GCodes ===
    Segments left: 0
    Stack records: 2 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    Network state is running
    WiFi module is connected to access point 
    WiFi firmware version 1.19.2
    WiFi MAC address XXX
    WiFi Vcc 3.07, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 36264
    WiFi IP address 10.0.0.5
    WiFi signal strength -42dBm
    Reconnections 0
    HTTP sessions: 1 of 8
    Socket states: 2 0 0 0 0 0 0 0
    Responder states: HTTP(1) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
    
    

  • administrators

    That's almost exactly the same error. I suggest you try a new SD card. Also make sure that the VIN terminal block screws are still tight.



  • I checked the SD card (the factory one I received with my Duet) and did a fsck:

    $ sudo fsck_msdos /dev/disk2s1
    Password:
    ** /dev/rdisk2s1
    ** Phase 1 - Preparing FAT
    ** Phase 2 - Checking Directories
    ** Phase 3 - Checking for Orphan Clusters
    Found orphan cluster(s)
    Fix? [yn] y
    Marked 1275 clusters as free
    Free space in FSInfo block (91775) not correct (93050)
    Fix? [yn] y
    533 files, 2977600 KiB free (93050 clusters)
    
    ***** FILE SYSTEM WAS MODIFIED *****
    
    $ sudo fsck_msdos /dev/disk2s1
    ** /dev/rdisk2s1
    ** Phase 1 - Preparing FAT
    ** Phase 2 - Checking Directories
    ** Phase 3 - Checking for Orphan Clusters
    533 files, 2977600 KiB free (93050 clusters)
    
    

    SD card is not full:

    Filesystem      Size   Used  Avail Capacity
    /dev/disk2s1   3.7Gi  831Mi  2.9Gi    22%
    
    

    Now I'm printing again - I will report back.



  • Print successful. Thanks!
    Fixing the file system on the SD card fixed it!


 

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