Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Latest bugfix (6/2/2022) causes boot loop #24273

Closed
1 of 4 tasks
rq3 opened this issue Jun 2, 2022 · 11 comments
Closed
1 of 4 tasks

[BUG] Latest bugfix (6/2/2022) causes boot loop #24273

rq3 opened this issue Jun 2, 2022 · 11 comments

Comments

@rq3
Copy link

rq3 commented Jun 2, 2022

Did you test the latest bugfix-2.0.x code?

Yes, and the problem still exists.

Bug Description

Todays bug fix (June 2, 2022) compiles fine with the provided configurations. When booting the printer, the display is completely black, and from the sound of the power supply fan, appears to be re-booting about every three seconds.

Changing the display from Classic_ui to Color_ui shows a dim grey display, flashing to bright white as the printer again repetively re-boots about every three seconds.
Configurations.zip

Bug Timeline

Started today, June 2, 2022

Expected behavior

I expected the printer to boot and function

Actual behavior

The printer enters a repetitive loop while booting up.

Steps to Reproduce

  1. Compile and load firmware.bin compiled from June 2, 2022 bugfix and example configurations.
  2. Turn machine on.
  3. Observe repetitive booting attempts.

Sorry, I'm unable to obtain any error logs, as the printer won't boot.

Version of Marlin Firmware

bugfix June 2, 2022

Printer model

AnyCubic Predator

Electronics

trigorilla_pro

Add-ons

none

Bed Leveling

No response

Your Slicer

No response

Host Software

No response

Other things to include

  • A ZIP file containing your Configuration.h and Configuration_adv.h.
  • Log output from the host. (M111 S247 for maximum logging.)
  • Images or videos demonstrating the problem, if it helps to make it clear.
  • A G-Code file that exposes the problem, if not affecting all G-code.

Additional information & file uploads

Sorry, unable to connect to obtain any log files.

@thisiskeithb
Copy link
Member

Would you be able to test some bugfix-2.0.x commits to narrow this down?

The strategy is to find a commit from some point in the "distant" past where the feature works. Then, test a commit from halfway between that date and today…. And then you keep going to the commit half-way in between your "known to work" commit and your "known to be broken" commit until you find the exact day where it broke.

If you started from a point 256 commits in the past, it would take no more than 8 tests to find the exact commit that broke it.

@thisiskeithb thisiskeithb added the Needs: More Data We need more data in order to proceed label Jun 2, 2022
@ellensp
Copy link
Contributor

ellensp commented Jun 2, 2022

This board uses a UART so you should be able to connect up a simple program to watch the serial port messages even over reboots.
Eg Pronterface, or even PlatformIO's in built Serial monitor (set monitor_speed = 115200 in platformio.ini to match your Configured baudrate)

@thisiskeithb
Copy link
Member

eda61a2 / #24271 is likely the culprit.

@thisiskeithb
Copy link
Member

thisiskeithb commented Jun 2, 2022

Can you try the changes in #24275 ?

diff --git a/Marlin/src/HAL/STM32/sdio.cpp b/Marlin/src/HAL/STM32/sdio.cpp
index a58589c43ee4..e958d8c3bc48 100644
--- a/Marlin/src/HAL/STM32/sdio.cpp
+++ b/Marlin/src/HAL/STM32/sdio.cpp
@@ -200,7 +200,8 @@ static uint32_t clock_to_divider(uint32_t clk) {
 
 bool SDIO_Init() {
   HAL_StatusTypeDef sd_state = HAL_OK;
-  HAL_SD_DeInit(&hsd);
+  if (hsd.Instance == SDIO)
+    HAL_SD_DeInit(&hsd);
 
   /* HAL SD initialization */
   hsd.Instance = SDIO;

@thisiskeithb thisiskeithb added Bug: Confirmed ! and removed Needs: More Data We need more data in order to proceed labels Jun 2, 2022
@jomp16
Copy link

jomp16 commented Jun 2, 2022

I can confirm with the above mentioned fix makes Marlin stop boot looping in my Ender 3 Pro.

@rq3
Copy link
Author

rq3 commented Jun 3, 2022

Would you be able to test some bugfix-2.0.x commits to narrow this down?

The strategy is to find a commit from some point in the "distant" past where the feature works. Then, test a commit from halfway between that date and today…. And then you keep going to the commit half-way in between your "known to work" commit and your "known to be broken" commit until you find the exact day where it broke.

If you started from a point 256 commits in the past, it would take no more than 8 tests to find the exact commit that broke it.

This is new behavior as of today. Yesterday, bug fix did not have the boot loop problem. I won’t be at the machine again till Monday.

@thisiskeithb
Copy link
Member

#24275 has been merged.

@rq3
Copy link
Author

rq3 commented Jun 6, 2022

#24275 has been merged.

Can confirm this fixed the boot loop, but Issue #24252 remains. Latest bugfix 2.1, Release 2.0.9.4, and Release 2.1 all repeat after booting:
15:42:03.179 : echo:No SD card

@dvborzov
Copy link

fix doesn't work. after the firmware goes into the bootloop, if you pull out the USB flash drive and reboot with power, it starts up.
board Robin nano v1.3 stm32f103

@thisiskeithb
Copy link
Member

fix doesn't work. after the firmware goes into the bootloop, if you pull out the USB flash drive and reboot with power, it starts up.

@dvborzov: More work is being done in #24319

@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Aug 11, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants