Software assertion with 3.2 beta 2



  • Hi, I have a filament unload macro to unload PETG filament in a skinny dip-like fashion. This worked before on stable RRF 3.1, but now crashes the firmware. AnM122 yielded the following:

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 Maestro version 3.2-beta2 running on Duet Maestro 1.0
    Board ID: 08D8M-9T8A2-MQNS0-7J1FA-3SS6R-KRTAW
    Used output buffers: 3 of 24 (14 max)
    === RTOS ===
    Static ram: 22684
    Dynamic ram: 97168 of which 24 recycled
    Exception stack ram used: 192
    Never used ram: 11004
    Tasks: NETWORK(ready,168) HEAT(blocked,330) TMC(blocked,71) MAIN(running,482) IDLE(ready,20)
    Owned mutexes:
    === Platform ===
    Last reset 00:10:10 ago, cause: software
    Last software reset at 2020-11-06 10:21, reason: AssertionFailed, GCodes spinning, available RAM 10940, slot 2
    Software reset code 0x4123 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04418000 BFAR 0xe000ed38 SP 0x2000444c Task MAIN
    Stack: 0000059e 0047887c 00457f91 ffffffff ffffffff 006d0065 006e006f 20003470 ffffffff 00000000 00000079 20003080 00458013 20004498 004663a0 20007400 00455947 200044b4 0044e90b 20003464 00000000 00000001 200044bc 00000000 0044e979 00456541 200044bc
    Error status: 0x00
    MCU temperature: min 32.0, current 33.0, max 33.5
    Supply voltage: min 0.0, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: position 0, standstill, read errors 0, write errors 1, ifcnt 26, reads 36231, writes 8, timeouts 0, DMA errors 0
    Driver 1: position 0, standstill, read errors 0, write errors 1, ifcnt 26, reads 36231, writes 8, timeouts 0, DMA errors 0
    Driver 2: position 0, standstill, read errors 0, write errors 1, ifcnt 26, reads 36231, writes 8, timeouts 0, DMA errors 0
    Driver 3: position 0, standstill, read errors 0, write errors 1, ifcnt 30, reads 36231, writes 8, timeouts 0, DMA errors 0
    Driver 4: position 0, standstill, read errors 0, write errors 1, ifcnt 20, reads 36233, writes 6, timeouts 0, DMA errors 0
    Driver 5: position 0, ok, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 36239, DMA errors 0, failedOp 0x80
    Driver 6: position 0, ok, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 36239, DMA errors 0, failedOp 0x80
    Date/time: 2020-11-06 10:31:32
    Slowest loop: 6.06ms; fastest: 0.14ms
    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: 15.0MBytes/sec
    SD card longest read time 1.1ms, write time 0.0ms, max retries 0
    === Move ===
    Hiccups: 0(0), FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms
    Bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === AuxDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === Heat ===
    Bed heaters = 0 -1, chamberHeaters = -1 -1
    Heater 1 is on, I-accum = 0.0
    === GCodes ===
    Segments left: 0
    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
    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
    Code queue is empty.
    === Network ===
    Slowest loop: 147.41ms; fastest: 0.01ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
    HTTP sessions: 1 of 8
    Interface state active, link 100Mbps full duplex
    

    The filament's unload.g macro is set up like this.

    M83           ; Set extruder to relative mode
    M109 S200     ; Wait for hotend to reach target temperature
    M104 S0       ; Disable hotend immediately so the temperature drops while skinny-dipping
    G1 E20 F120   ; Extrude 20mm with a speed of 2mm/s
    
    G1 E-2 F600   ; Retract 2mm with a speed of 10mm/s
    G4 P1000      ; Wait for 1s
    
    G1 E-5 F60    ; Retract 5mm more with a speed of 1mm/s
    
    G1 E4.8 F60   ; Dip tip back in slowly
    G1 E-5 F60    ; Pull it out again
    G1 E4.8 F60   ; Dip tip back in slowly
    G1 E-5 F60    ; Pull it out again
    G1 E4.8 F60   ; Dip tip back in slowly
    G1 E-5 F60    ; Pull it out again
    
    G1 E-50 F3600 ; Retract 50mm with a speed of 60mm/s
    

    The macro doesn't seem to complete to the end. When the firmware resets, the temperature has dropped to 180℃. I'm not using M302 in my config to set a different minimum extrusion temperature, so that should be still the default @ 160℃ according to the documentation. Hopefully this is sufficient information to clarify what's going on.


  • administrators

    This is a known issue in 3.2beta2 with M701 and M702 commands. I suggest you revert to beta1 until we release beta3.



  • @dc42 said in Software assertion with 3.2 beta 2:

    M701

    Apologies, I hadn't linked the issue to the M701/M702 commands. I thought it was something in the macro that triggered it. Thanks for the quick response!


Log in to reply