Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Duet 2 V3.0 RC12 Constant pausing and stack overflow

    Scheduled Pinned Locked Moved
    General Discussion
    3
    8
    249
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Printer42undefined
      Printer42
      last edited by

      Hi,

      I am using a bought printer that uses a Duet wifi on firmware V3.01-RC12.

      Today it is constantly pausing and reporting Push() stack overflow.

      I will be communicating with the supplier about updating the firmware but I'd like to try and narrow the problem down.

      I see the change notes for version 3.1.0 mention a macro stack depth fix and there is a simple filament sensor fitted.

      Could the filament sensor be triggering too often and be overwhelming the stack on this firmware version?

      Bad commands are also reported but with a stack overflow I don't know which could have occured first.

      I don't have access to unplug the sensor so I was thinking of commenting out the contents of pause.g to see if that removes the problem, any suggestions without updating the firmware or accessing the PCB would be appreciated.

      06/10/2020, 10:16:10 M122
      === Diagnostics ===
      RepRapFirmware for Duet 2 WiFi/Ethernet version 3.01-RC12 running on Duet Ethernet 1.02 or later
      Board ID: ---
      Used output buffers: 1 of 24 (23 max)
      === RTOS ===
      Static ram: 28084
      Dynamic ram: 94412 of which 40 recycled
      Exception stack ram used: 528
      Never used ram: 8008
      Tasks: NETWORK(ready,124) HEAT(blocked,1228) MAIN(running,616) IDLE(ready,76)
      Owned mutexes:
      === Platform ===
      Last reset 01:27:49 ago, cause: power up
      Last software reset at 2020-10-01 11:10, reason: User, spinning module GCodes, available RAM 9064 bytes (slot 2)
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN
      Error status: 8
      MCU temperature: min 22.0, current 27.9, max 28.4
      Supply voltage: min 23.4, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
      Driver 0: standstill, SG min/max 0/1023
      Driver 1: standstill, SG min/max not available
      Driver 2: standstill, SG min/max 0/232
      Driver 3: standstill, SG min/max 0/230
      Driver 4: standstill, SG min/max 0/243
      Date/time: 2020-10-06 10:16:06
      Cache data hit count 4294967295
      Slowest loop: 643.67ms; fastest: 0.14ms
      I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
      === Storage ===
      Free file entries: 8
      SD card 0 detected, interface speed: 20.0MBytes/sec
      SD card longest read time 2.2ms, write time 172.5ms, max retries 0
      === Move ===
      Hiccups: 231(0), FreeDm: 169, MinFreeDm: 101, MaxWait: 2052945ms
      Bed compensation in use: none, comp offset 0.000
      === MainDDARing ===
      Scheduled moves: 17036, completed moves: 17036, 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 -1 -1, chamberHeaters = 3 6 -1 -1
      Heater 0 is on, I-accum = 0.0
      Heater 1 is on, I-accum = 0.3
      Heater 3 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
      Daemon is idle in state(s) 0
      Autopause is idle in state(s) 0
      Code queue is empty.
      === Network ===
      Slowest loop: 149.81ms; fastest: 0.02ms
      Responder states: HTTP(1) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
      HTTP sessions: 3 of 8
      Interface state active, link 100Mbps full duplex
      06/10/2020, 10:12:48 Error: Printing is already paused!
      06/10/2020, 10:12:45 Error: Printing is already paused!
      06/10/2020, 10:11:46 Error: Push(): stack overflow
      06/10/2020, 10:11:44 Error: Printing is already paused!
      06/10/2020, 10:11:41 Error: Printing is already paused!
      06/10/2020, 10:11:29 Printing paused at X20.9 Y9.1 Z13.0
      06/10/2020, 10:11:25 Resume state saved
      06/10/2020, 10:11:07 Error: Bad command: Y1.626 E0.1030
      06/10/2020, 10:11:05 Printing paused at X2.6 Y-9.2 Z13.0
      06/10/2020, 10:11:02 Resume state saved
      06/10/2020, 10:10:55 Error: Bad command: 2 Y22.020 E0.2199
      06/10/2020, 10:10:45 Error: Printing is already paused!
      06/10/2020, 10:10:43 Printing paused at X17.5 Y22.0 Z13.0
      06/10/2020, 10:10:41 Resume state saved
      06/10/2020, 10:09:59 Error: Bad command: 096 E0.1030
      06/10/2020, 10:09:56 Printing paused at X11.6 Y-21.9 Z12.6
      06/10/2020, 10:09:52 Resume state saved
      06/10/2020, 10:09:42 Error: Bad command: 0 Y7.057 E0.1030
      06/10/2020, 10:09:30 Error: Printing is already paused!
      06/10/2020, 10:09:28 Error: Printing is already paused!
      06/10/2020, 10:09:22 Error: Printing is already paused!
      06/10/2020, 10:09:20 Printing paused at X2.6 Y-3.8 Z12.6
      06/10/2020, 10:09:16 Resume state saved
      06/10/2020, 10:09:12 Error: Bad command: 2 Y22.020 E0.2199

      1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators
        last edited by

        Please post your pause.g macro file. It sounds as though it may be recursive.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        1 Reply Last reply Reply Quote 0
        • Printer42undefined
          Printer42
          last edited by

          This looks like the command to trigger the pause?
          M581 P1 T1 S1 R1

          pause.g

          M83
          G1 E-4 F2500
          G91
          G1 Z5 F5000
          G90
          G1 X0 Y85 F5000

          M300 S4000 P500
          G4 P1000
          M300 S4000 P500
          G4 P1000
          M300 S4000 P500

          1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators
            last edited by

            Thanks. I think your diagnosis is correct, the filament monitor is providing several triggers (contact bounce?), causing nested pauses. I will change the firmware in the next RRF beta so that the T1 trigger is ignored if the print is already paused.

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            1 Reply Last reply Reply Quote 0
            • Printer42undefined
              Printer42
              last edited by

              Would commenting out M581 P1 T1 S1 R1 be the simplest option for now?

              dc42undefined 1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators @Printer42
                last edited by

                @Printer42 said in Duet 2 V3.0 RC12 Constant pausing and stack overflow:

                Would commenting out M581 P1 T1 S1 R1 be the simplest option for now?

                Yes, but of course that will also stop the filament sensor working.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                1 Reply Last reply Reply Quote 0
                • Printer42undefined
                  Printer42
                  last edited by

                  Thanks for the quick responses, that will get things moving along again for now.

                  1 Reply Last reply Reply Quote 0
                  • Phaedruxundefined
                    Phaedrux Moderator
                    last edited by

                    In the meantime you may want to update your firmware off of the old release candidate.

                    Connect to the web interface and upload these zip file as is (do not extract them first) to the system folder.

                    https://github.com/Duet3D/RepRapFirmware/releases/download/3.0/Duet2and3Firmware-3.0.zip

                    https://github.com/Duet3D/RepRapFirmware/releases/download/3.1.1/Duet2and3Firmware-3.1.1.zip

                    Afterwards you should be running firmware 3.1.1 and your config.g should work a lot better. Send M115 to confirm.

                    Then send M98 P"config.g" and report any error messages.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post
                    Unless otherwise noted, all forum content is licensed under CC-BY-SA