Duet 2 Assertion Failure, RRF 3.5.1
-
Placeholder
-
@DonStauffer Please post the output from M122 after it has happened.
-
5/14/2024, 8:52:03 PM M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.1 (2024-04-19 14:40:46) running on Duet WiFi 1.02 or later + DueX5
Board ID: 08DGM-9T6BU-FG3SN-6JKD0-3S06Q-9AY7D
Used output buffers: 11 of 26 (22 max)
=== RTOS ===
Static ram: 23256
Dynamic ram: 75600 of which 0 recycled
Never used RAM 11432, free system stack 182 words
Tasks: NETWORK(2,nWait 6,12.4%,220) HEAT(3,nWait 5,0.1%,328) Move(4,nWait 5,0.0%,359) DUEX(5,nWait 5,0.0%,19) MAIN(1,running,85.3%,701) IDLE(0,ready,2.3%,29), total 100.0%
Owned mutexes:
=== Platform ===
Last reset 00:00:33 ago, cause: software
Last software reset at 2024-05-14 20:51, reason: AssertionFailed, Gcodes spinning, available RAM 920, slot 0
Software reset code 0x4123 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x2000252c Task MAIN Freestk 1136 ok
Stack: 00000162 00468815 004073c7 2001b224 00406afd 0000000e 2001b220 00000001 2001b220 2001b214 00410f05 2001b220 00410f0f 2001b238 00406b1f 0000000e 2001b234 00000001 2001b234 2001b228 00410f05 2001b234 00410f0f 2001b108 00406b1f 0000000e 2001b104
Error status: 0x00
Aux0 errors 0,0,0
MCU temperature: min 44.5, current 45.0, max 45.6
Supply voltage: min 24.1, current 24.1, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 99/35, heap memory allocated/used/recyclable 2048/1188/56, gc cycles 1
Events: 0 queued, 0 completed
Driver 0: standstill, SG min n/a
Driver 1: standstill, SG min n/a
Driver 2: standstill, SG min n/a
Driver 3: standstill, SG min n/a
Driver 4: standstill, SG min n/a
Driver 5: standstill, SG min n/a
Driver 6: standstill, SG min n/a
Driver 7: standstill, SG min n/a
Driver 8: standstill, SG min n/a
Driver 9: standstill, SG min n/a
Driver 10:
Driver 11:
Date/time: 2024-05-14 20:52:02
Cache data hit count 1221495903
Slowest loop: 8.86ms; fastest: 0.19ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 2.0ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00
no step interrupt scheduled
Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
=== DDARing 0 ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Movement locks held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Q0 segments left 0
Code queue 0 is empty
=== Filament sensors ===
check 0 clear 260571
Extruder 0 sensor: no data received
Extruder 1 sensor: no data received
=== DueX ===
Read count 1, 1.80 reads/min
=== Network ===
Slowest loop: 8.60ms; fastest: 0.00ms
Responder states: HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
HTTP sessions: 1 of 8
=== WiFi ===
Interface state: active
Module is connected to access point
Failed messages: pending 0, notrdy 0, noresp 0
Firmware version 2.1.0
MAC address 84:f3:eb:83:47:be
Module reset reason: Power up, Vcc 3.36, flash size 4194304, free heap 39708
WiFi IP address 192.168.1.130
Signal strength -43dBm, channel 11, mode 802.11n, reconnections 0
Clock register 00002002
Socket states: 0 0 0 0 0 0 0 0 -
-
@DonStauffer thanks for your report. I have established that this crash occurred when deleting an array variable or expression and at least one of the elements of that array was also an array. I have tried various operations involving arrays of arrays but so far I have been unable to reproduce the assertion failure.
Please share whatever macros etc. you use that create variables or expressions that are arrays of arrays.
The information below is for my future reference.
406afd = ArrayHandle::Delete + 25, assertion failure caused by zero reference count
410f05 = ExpressionValue::Release + 23
410f0f = ~ExpressionValue + 9
406b1f = ArrayHandle::Delete + 47 -
@dc42 Unfortunately, this is intermittent and involves probably over 1,000 lines of code spread across a system of about 30 macros. The intermittency means I haven't been able to isolate and minimize the problem.
I'll report more as I discover it.
-
@dc42 I have a question about array assignment. I'll post it as a separate item in Meta Commands, but since you mentioned arrays here and it might be related I thought I'd mention it. See "Question: Array Assignment".