[BUG] RP2040 issues running OSTest
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- c
- Ambito
- embedded-iot, operating-systems, testing-qa
Direzione di ricerca
Inizia riproducendo OSTest con le configurazioni usbnsh su raspberrypi-pico, raspberrypi-pico-w e seeed-xiao-rp2040, concentrandoti sui blocchi segnalati attorno a waitpid e sul test task_restart che lo precede. Il payload non indica file sorgente né un file di test dedicato; il lavoro è considerato completato quando OSTest termina senza bloccarsi sulle schede interessate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description / Steps to reproduce the issue
Discovered while running tests against v13.0.0 RC0:
raspberrypi-pico, raspberrypi-pico-w and seeed-xiao-rp2040 all fail OSTest:
Here raspberrypi-pico:usbnsh failing by hanging:
NuttShell (NSH) NuttX-13.0.0
nsh> help
help usage: help [-v] [<cmd>]
. cp exit mkrd rmdir set truncate
? dirname false mv kill uname
alias date fdinfo pidof pkill umount
basename dmesg help ps usleep uptime
break echo hexdump pwd source watch
cat env ls reboot test xd
cd exec mkdir rm time wait
Builtin Apps:
dd getprime hello nsh ostest sh
nsh> ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
rite fdstdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=4
user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="ostest"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 3f960 3f960
ordblks 1 1
mxordblk 3a988 3a988
uordblks 4fd8 4fd8
fordblks 3a988 3a988
Here is raspberrypi-pico-w:usbnsh failing (gets stuck at waitpid):
NuttShell (NSH) NuttX-13.0.0
nsh>
nsh> ls
/:
dev/
proc/
nsh> help
help usage: help [-v] [<cmd>]
. cp exit mkrd rmdir truncate
kill uname
alias date fdinfo pidof pkill umount
unalias df free printf sleep unset
basename dmesg help ps usleep uptime
break echo hexdump pwd source watch
cat env ls reboot test xd
cd exec mkdir rm time wait
Builtin Apps:
dd getprime hello nsh ostest sh
nsh> ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
fd=2
stdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=4
user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="ostest"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"
age:
VARIABLE BEFORE AFTER
======== ======== ========
arena 3f960 3f960
ordblks 1 1
mxordblk 3a988 3a988
uordblks 4fd8 4fd8
fordblks 3a988 3a988
user_main: getopt() test
getopt(): Simple test
getopt(): Invalid argument
getopt(): Missing optional argument
getopt_long(): Simple test
getopt_long(): No short options
getopt_long(): Argument for --option=argument
getopt_long(): Invalid long option
getopt_long(): Mixed long and short options
getopt_long(): Invalid short option
getopt_long(): Missing optional arguments
getopt_long_only(): Mixed long and short options
getopt_long_only(): Single hyphen long options
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 3f960 3f960
ordblks 1 1
mxordblk 3a988 3a988
uordblks 4fd8 4fd8
fordblks 3a988 3a988
user_main: libc tests
test memory usage:
LE BEFORE======== ======== ========
arena 3f960 3f960
ordblks 1 1
mxordblk 3a988 3a988
uordblks 4fd8 4fd8
fordblks 3a988 3a988
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 3f960 3f960
ordblks 1 2
mxordblk 3a988 3a988
uordblks 4fd8 4fb8
fordblks 3a988 3a9a8
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has no value
show_variable: Variable=Variable3 has no value
End of test memory usage:
VARIABLE BEFORE AFTER
arena 3f960 3f960
ordblks 2 2
mxordblk 3a988 3a988
uordblks 4fb8 4f40
fordblks 3a9a8 3aa20
user_main: setvbuf test
setvbuf_test: Test NO buffering
setvbuf_test: Using NO buffering
setvbuf_test: Test default FULL buffering
setvbuf_test: Using default FULL buffering
setvbuf_test: Test FULL buffering, buffer size 64
setvbuf_test: Using FULL buffering, buffer size 64
setvbuf_test: Test FULL buffering, pre-allocated buffer
setvbuf_test: Using FULL buffering, pre-allocated buffer
setvbuf_test: Test LINE buffering, buffer size 64
setvbuf_test: Using LINE buffering, buffer size 64
setvbuf_test: Test FULL buffering, pre-allocated buffer
setvbuf_test: Using FULL buffering, pre-allocated buffer
End of test memory usage:
VARIABLE BEFORE AFTER
====
arena 3f960 3f960
ordblks 2 2
mxordblk 3a988 3a988
uordblks 4f40 4f40
fordblks 3aa20 3aa20
user_main: /dev/null test
dev_null: Read 0 bytes from /dev/null
dev_null: Wrote 1024 bytes to /dev/null
End of test memory usage:
VARIABLE BEFORE AFTER
== ======== ========
arena 3f960 3f960
ordblks 2 2
mxordblk 3a988 3a988
uordblks 4f40 4f40
fordblks 3aa20 3aa20
user_main: task_restart test
Test task_restart()
restart_main: setenv(VarName, VarValue, TRUE)
restart_main: Started restart_main at PID=5
restart_main: Started with argc=4
restart_main: argv[0]="ostest"
restart_main: argv[1]="This is argument 1"
restart_main: argv[2]="Argument 2 here"
restart_main: argv[3]="Lastly, the 3rd argument"
restart_main: Variable=VarName has value=VarValue
restart_main: I am still here
restart_main: I am still here
restart_main: Started restart_main at PID=5
restart_main: Started with argc=4
restart_main: argv[0]="ostest"
restart_main: argv[1]="This is argument 1"
restart_main: argv[2]="Argument 2 here"
restart_main: argv[3]="Lastly, the 3rd argument"
restart_main: Variable=VarName has value=VarValue
restart_main: Started with argc=4
restart_main: argv[0]="ostest"
restart_main: argv[1]="This is argument 1"
restart_main: argv[2]="Argument 2 here"
restart_main: argv[3]="Lastly, the 3rd argument"
restart_main: Variable=VarName has value=VarValue
restart_main: Exiting
End of test memory usage:
VARIABLE BEFORE AFTER
=
arena 3f960 3f960
ordblks 2 2
mxordblk 3a988 3a988
uordblks 4f40 4f78
fordblks 3aa20 3a9e8
ser_main: waitpid test
seeed-xiao-rp2040:usbnsh also failing due to hang:
NuttShell (NSH) NuttX-13.0.0
nsh> help
help usage: help [-v] [<cmd>]
. cp exit mkrd rmdir set truncate
? dirname false mv kill uname
unalias df free printf sleep ps usleep uptime
break echo hexdump pwd source watch
cat env ls reboot test xd
cd exec mkdir wait
Builtin Apps:
dd getprime hello nsh ostest
nsh> ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
stdio_test: write fd=2
stdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=4
user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="ostest"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"
End of test memory usage:
BEFORE AFTER
======== ======== ========
arena 3f960 3f960
ordblks 1 1
mxordblk 3a988 3a988
uordblks 4fd8 4fd8
fordblks 3a988 3a988
user_main: getopt() test
getopt(): Simple test
getopt(): Invalid argument
getopt(): Missing optional argument
getopt_long(): Simple test
getopt_long(): No short options
getopt_long(): Argument for --option=argument
getopt_long(): Invalid long option
getopt_long(): Mixed long and short options
getopt_long(): Invalid short option
getopt_long(): Missing optional arguments
getopt_long_only(): Mixed long and short options
getopt_long_only(): Single hyphen long options
End of test memory usage:
VARIABLE BEFORE AFTER
=======
arena 3f960 3f960
ordblks 1 1
mxordblk 3a988 3a988
uordblks 4fd8 4fd8
fordblks 3a988 3a988
user_main: libc tests
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 3f960 3f960
ordblks 1 1
mxordblk 3a988 3a988
uordblks 4fd8 4fd8
fordblks 3a988 3a988
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 3f960 3f960
ordblks 1 2
mxordblk 3a988 3a988
uordblks 4fd8 4fb8
fordblks 3a988 3a9a8
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has no value
show_variable: Variable=Variable3 has no value
End of test memory usage:
EFORE AFTER
======== ======== ========
arena 3f960 3f960
or 2
mxordblk 3a988 3a988
uordblks 4fb8 4f40
fordblks 3a9a8 3aa20
user_main: setvbuf test
setvbuf_test: Test NO buffering
setvbuf_test: Using NO buffering
setvbuf_test: Test default FULL buffering
setvbuf_test: Using default FULL buffering
setvbuf_test: Test FULL buffering, buffer size 64
setvbuf_test: Using FULL buffering, buffer size 64
setvbuf_test: Test FULL buffering, pre-allocated buffer
setvbuf_test: Using FULL buffering, pre-allocated buffer
setvbuf_test: Test LINE buffering, buffer size 64
setvbuf_test: Using LINE buffering, buffer size 64
setvbuf_test: Test FULL buffering, pre-allocated buffer
setvbuf_test: Using FULL buffering, pre-allocated buffer
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 3f960 3f960
ordblks 2 2
mxordblk 3a988 3a988
uordblks 4f40 4f40
fordblks 3aa20 3aa20
user_main: /dev/null test
dev_null: Read 0 bytes from /dev/null
dev_null: Wrote 1024 bytes to /dev/null
End of test memory usage:
VARIABLE ER
======== ======== ========
arena 3f960 3f960
ordblks 2 2
mxordblk 3a988 3a988
uordblks 4f40 4f40
fordblks 3aa20 3aa20
On which OS does this issue occur?
[OS: Linux]
What is the version of your OS?
Linux 7.0.13-arch1-1 #1 SMP PREEMPT_DYNAMIC Tue, 23 Jun 2026 11:14:21 +0000 x86_64 GNU/Linux
NuttX Version
nuttx-13.0.0-RC0
Issue Architecture
[Arch: arm]
Issue Area
[Area: OS Components], [Area: Applications]
Host information
No response
Verification
- I have verified before submitting the report.
- Lingua principale
- C
- Stelle
- 4.1k
- Fork
- 1.8k
- Merge medio
- 1g 3h
- PR unite (30g)
- 833
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/nuttx
-
Arch: all Arch: arm Area: Build system OS: Linux Type: Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/nuttx#19435 · 9 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Arch: all OS: Linux Type: Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apache/nuttx#16249 · 7 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Arch: all Area: Networking OS: Linux
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
I maintainer di solito rispondono entro 1 giorno
-
Type: Enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 22/100
apache/nuttx#21581 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di apache/nuttx
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
luainkernel/lunatik#2530 ·
I maintainer di solito rispondono entro 1 giorno
-
polygonToCells CLI silently drops vertices when whitespace precedes a coordinate's closing bracketAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
issue: bug report
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 2 giorni