Riot: tests/pkg_ubasic: failing on esp32-wroom-32

Created on 30 Apr 2020  路  2Comments  路  Source: RIOT-OS/RIOT

Description

The test tests/pkg_ubasic is failing in the nightlies for a few weeks now. See e.g. https://ci.riot-os.org/RIOT-OS/RIOT/master/549d7ff24f91f73120096cb7ac2c8496889f80aa/output/run_test/tests/pkg_ubasic/esp32-wroom-32:gnu.txt:

Leaving...
Hard resetting via RTS pin...
make: Nothing to be done for 'termdeps'.
make: Leaving directory '/tmp/dwq.0.8408429956368078/042a2782050bdf92adfc0f62de96b240/tests/pkg_ubasic'
make: Entering directory '/tmp/dwq.0.8408429956368078/042a2782050bdf92adfc0f62de96b240/tests/pkg_ubasic'
ESP32_SDK_DIR should be defined as /path/to/esp-idf directory
ESP32_SDK_DIR is set by default to /opt/esp/esp-idf
r
socat - open:/dev/ttyUSB0,b115200,echo=0,raw
READY
s
START
main(): This is RIOT! (Version: buildtest)
Running test #1... done. Run time: Timeout in expect script at "timeout=TIMEOUT)" (tests/pkg_ubasic/tests/01-run.py:21)

Not exactly sure, what is causing this, the timeout for this test is 180s, so the run time really does not seem to show. Maybe someone with access to the hardware can check.

Versions

Murdock's test environment

boards tests ESP bug

Most helpful comment

Good news, I figured out the problem. The introduction of newlib-nano-formatted-io' additionally required setting one of the CONFIG_NEWLIB_NANO_FORMAT macros to work correctly with float in printf.

14004 fixes the problem.

All 2 comments

Sorry that I'm reacting with such a big delay, but I'm fully busy with the preparation of my online courses for the online summer term at the university :worried:

The reason for the problem seems to be the new toolchain version with the newlib-nano-formatted-io we introduced a few weeks ago. The ESP32 locks completly when

  printf("done. Run time: %.3f s\n", delta_t);

is called in pkg/ubasic/tests.c. Then it is no longer accessible, not even with the debugger.

So it seems that printf with float does not work with the newlib-nano-formatted-io anymore. I can reproduce this problem with a small test program and printf with float. Unfortunatly, I have no time at the moment to investigate in more detail why the printf function crashes with float.

@kaspar030 Should we revert the toolchain change to solve this problem for the moment? This would also solve the problem with the %llu format we already discussed in https://github.com/RIOT-OS/RIOT/pull/13812#issuecomment-613339440. Or should we blacklist the test, should we blacklist the test? But blacklisting the test wouldn't solve the reason for the problem and any user could try to use printf with float.

Good news, I figured out the problem. The introduction of newlib-nano-formatted-io' additionally required setting one of the CONFIG_NEWLIB_NANO_FORMAT macros to work correctly with float in printf.

14004 fixes the problem.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

romainvause picture romainvause  路  3Comments

nmeum picture nmeum  路  5Comments

miri64 picture miri64  路  3Comments

chrysn picture chrysn  路  5Comments

gschorcht picture gschorcht  路  7Comments