Skip to content

[BUG] ostest fails without returning the expected exit code #14749

Description

@tmedicci

Description / Steps to reproduce the issue

In addition to the errors reported at #14722 (comment), there is an even critical issue regarding ostest for ESP32-S3 (and, eventually, for other archs): it fails without returning any error code after applying this PR.

How to Reproduce

Build/flash NuttX f2aeb5e56ff6ec7ba15958403289e462a8c84ab8 with Apps 0c467dc02d1f03f3f9f3defb16f36cb4f53b4c9d, with:

make -j distclean && ./tools/configure.sh esp32s3-devkit:smp && make flash EXTRAFLAGS="-Wno-cpp -Werror" ESPTOOL_BINDIR=./ ESPTOOL_PORT=/dev/ttyUSB0 -s -j$(nproc)

And run ostest :

signest_test: Simple case:
  Total signalled 1240  Odd=620 Even=620
  Total handled   1240  Odd=620 Even=620
  Total nested    3    Odd=3   Even=0  
signest_test: With task locking
  Total signalled 2480  Odd=1240 Even=1240
  Total handled   2480  Odd=1240 Even=1240
  Total nested    3    Odd=3   Even=0  
signest_test: With intefering thread
[CPU0] dump_assert_info: Current Version: NuttX  10.4.0 f2aeb5e56f-dirty Nov 12 2024 16:46:29 xtensa
[CPU0] dump_assert_info: Assertion failed (_Bool)0: at file: signest.c:555 task(CPU0): ostest process: ostest 0x420470
[CPU0] up_dump_register:    PC: 4204767e    PS: 00060322
[CPU0] up_dump_register:    A0: 80377b9d    A1: 3fc942e0    A2: 00000000    A3: 3fc8c7a0
[CPU0] up_dump_register:    A4: 20000000    A5: 3fc8b284    A6: 00000004    A7: 00000000
[CPU0] up_dump_register:    A8: 3fc8c778    A9: 3fc942d0   A10: 3fc8c778   A11: 00000000
[CPU0] up_dump_register:   A12: 3c0104bb   A13: 3fc943d0   A14: 00000004   A15: 00000000
[CPU0] up_dump_register:   SAR: 00000020 CAUSE: 3fc941d0 VADDR: 3fc941d0
[CPU0] up_dump_register:  LBEG: 40056f08  LEND: 40056f12  LCNT: 00000000
[CPU0] dump_stackinfo: User Stack:
[CPU0] dump_stackinfo:   base: 0x3fc92530
[CPU0] dump_stackinfo:   size: 00008112
[CPU0] dump_stackinfo:     sp: 0x3fc942e0
[CPU0] stack_dump: 0x3fc942c0: 82035d11 3fc94300 3c01a9cf 3fc92070 00001fb0 3fc944e0 3c01a9cf 3fc92070
[CPU0] stack_dump: 0x3fc942e0: 3fc8b3dc 3fc942e0 00000000 00000000 8204a960 3fc943f0 3c01a9cf 0000022b
[CPU0] stack_dump: 0x3fc94300: 00000000 3fc9211c 3fc9211c 42047f20 7474754e 3fc90058 00060a22 3fc92070
[CPU0] stack_dump: 0x3fc94320: 3fc943f0 3fc900d0 00000004 00000000 82050da2 3fc94370 3fc92240 3c01ad51
[CPU0] stack_dump: 0x3fc94340: 3fc94390 2e303100 00302e34 3fc8b288 3fc943f0 3fc943d0 32660004 35626561
[CPU0] stack_dump: 0x3fc94360: 66363565 7269642d 4e207974 3120766f 30322032 31203432 36343a36 0039323a
[CPU0] stack_dump: 0x3fc94380: 3fc92240 3fc943c0 00000025 65747840 0061736e 3fc943d0 00000004 00000004
[CPU0] stack_dump: 0x3fc943a0: 3fc943f0 3fc92070 3fc8c7a0 3c010a10 3c01a9cf 0000022b 00000003 00000744
[CPU0] stack_dump: 0x3fc943c0: 00000006 00060320 0000022b 00000000 3c010a10 3fc8c7a0 3c015f54 42047f20
[CPU0] stack_dump: 0x3fc943e0: 820481fe 3fc94410 00000003 00000744 3c010a10 00000000 00000003 0000026c
[CPU0] stack_dump: 0x3fc94400: 82036061 3fc94460 00000000 3fc92504 00010066 00000000 00000000 00002000
[CPU0] stack_dump: 0x3fc94420: 00000036 00000035 00000066 3fc92504 00000003 00058828 0000e428 0000002c
[CPU0] stack_dump: 0x3fc94440: 00000744 3fc8cc90 00000000 00000e88 82033920 3fc944a0 42047f20 00000005
[CPU0] stack_dump: 0x3fc94460: 0005fc38 00000001 0000001f 0005a948 000052f0 0005a948 00005458 00000000
[CPU0] stack_dump: 0x3fc94480: 00000004 3fc8cbdc 3c017b1a 3fc9251e 00000000 3fc944c0 00000000 42047f20
[CPU0] stack_dump: 0x3fc944a0: 3fc924f0 3fc92070 3fc8a2cc 00000002 00000000 3fc944e0 00000000 00000000
[CPU0] stack_dump: 0x3fc944c0: 00050020 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[CPU0] stack_dump: 0x3fc944e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  Total signalled 3720  Odd=1860 Even=1860
  Total handled   3720  Odd=1860 Even=1860
  Total nested    3    Odd=3   Even=0  
signest_test: ERROR 3 ODD signals were nested
ostest_main: Exiting with status 256
nsh> echo $?
0

The firmware asserted, but the return code of ostest is still 0! This assertion occurs only with this firmware version. So, there are two open questions to be investigated: why is this test asserting after this PR and why ostest returns 0 even after assertion.

On which OS does this issue occur?

[OS: Linux]

What is the version of your OS?

Manjaro

NuttX Version

f2aeb5e

Issue Architecture

[Arch: xtensa]

Issue Area

[Area: Applications]

Verification

  • I have verified before submitting the report.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Arch: xtensaIssues related to the Xtensa architectureArea: ApplicationsIssues related to ApplicationsOS: LinuxIssues related to Linux (building system, etc)Type: BugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions