Skip to content

make -j flash broken on esp* (will always flash the previous binary) #13492

@benpicco

Description

@benpicco

Description

I'm a habitual user of make -j. It looks like the build system has developed a very reliable race condition where a make -j flash will always flash the previous binary on esp*.

Steps to reproduce the issue

  • In examples/hello-world run make BOARD=esp32-wroom-32 -j flash term.
  • change the text in main.c, better yet print it in a while(1) loop
  • run make BOARD=esp32-wroom-32 -j flash term again

Expected results

  • the new text is printed

Actual results

  • the old text is printed.
  • run make BOARD=esp32-wroom-32 -j flash term again
  • the new text is printed.

Workaround

  • run make BOARD=esp32-wroom-32 -j && make BOARD=esp32-wroom-32 flash term

Versions

xtensa-esp32-elf-gcc (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a5) 5.2.0
GNU Make 4.2.1

Metadata

Metadata

Assignees

Labels

Area: build systemArea: Build systemType: bugThe issue reports a bug / The PR fixes a bug (including spelling errors)

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions