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.3Here 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.
-
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)
-
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!