Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save lupyuen/0912fbfedd1b17b592321f828d6c7e5d to your computer and use it in GitHub Desktop.
Save lupyuen/0912fbfedd1b17b592321f828d6c7e5d to your computer and use it in GitHub Desktop.
luppy@thinkstation:~/nuttx-test-bot$ cd ~/nuttx-build-farm
./build-test.sh knsh64 \
/tmp/build-test.log \
HEAD HEAD \
https://github.com/Fix-Point/nuttx timer-improve \
https://github.com/apache/nuttx-apps master
Now running https://github.com/lupyuen/nuttx-build-farm/blob/main/build-test.sh knsh64 /tmp/build-test.log HEAD HEAD https://github.com/Fix-Point/nuttx timer-improve https://github.com/apache/nuttx-apps master
+ script=knsh64
+ [[ knsh64 == '' ]]
+ log=/tmp/build-test.log
+ [[ /tmp/build-test.log == '' ]]
+ script_path=./build-test.sh
+++ dirname -- ./build-test.sh
++ cd -P .
++ pwd
+ script_dir=/home/luppy/nuttx-build-farm
++ uname
+ '[' Linux == Linux ']'
+ script_option=-c
+ build_test knsh64 /tmp/build-test.log HEAD HEAD https://github.com/Fix-Point/nuttx timer-improve https://github.com/apache/nuttx-apps master
+ local script=knsh64
+ local log=/tmp/build-test.log
+ pushd /tmp
/tmp ~/nuttx-build-farm
+ set +e
+ script /tmp/build-test.log --return -c '/home/luppy/nuttx-build-farm/build-test-knsh64.sh HEAD HEAD https://github.com/Fix-Point/nuttx timer-improve https://github.com/apache/nuttx-apps master'
Script started, output log file is '/tmp/build-test.log'.
Now running https://github.com/lupyuen/nuttx-build-farm/blob/main/build-test-knsh64.sh HEAD HEAD https://github.com/Fix-Point/nuttx timer-improve https://github.com/apache/nuttx-apps master
+ nuttx_hash=HEAD
+ apps_hash=HEAD
+ nuttx_url=https://github.com/Fix-Point/nuttx
+ nuttx_ref=timer-improve
+ apps_url=https://github.com/apache/nuttx-apps
+ apps_ref=master
+ neofetch
.-/+oossssoo+/-. luppy@thinkstation
`:+ssssssssssssssssss+:` ------------------
-+ssssssssssssssssssyyssss+- OS: Ubuntu 24.04.2 LTS x86_64
.ossssssssssssssssssdMMMNysssso. Host: 30B4S1MW02 ThinkStation P510
/ssssssssssshdmmNNmmyNMMMMhssssss/ Kernel: 6.11.0-21-generic
+ssssssssshmydMMMMMMMNddddyssssssss+ Uptime: 39 days, 2 hours, 3 mins
/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Packages: 2292 (dpkg), 12 (snap)
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Shell: bash 5.2.21
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Resolution: 640x480
ossyNMMMNyMMhsssssssssssssshmmmhssssssso Terminal: script
ossyNMMMNyMMhsssssssssssssshmmmhssssssso CPU: Intel Xeon E5-2650 v4 (24) @ 2.900GHz
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ GPU: NVIDIA Quadro M2000
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Memory: 40428MiB / 64189MiB
/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/
+sssssssssdmydMMMMMMMMddddyssssssss+
/ssssssssssshdmNNNNmyNMMMMhssssss/
.ossssssssssssssssssdMMMNysssso.
-+sssssssssssssssssyyyssss+-
`:+ssssssssssssssssss+:`
.-/+oossssoo+/-.
+ [[ HEAD == '' ]]
+ [[ HEAD == '' ]]
+ [[ https://github.com/Fix-Point/nuttx == '' ]]
+ [[ timer-improve == '' ]]
+ [[ https://github.com/apache/nuttx-apps == '' ]]
+ [[ master == '' ]]
++ echo timer-improve
++ tr / _
+ nuttx_ref2=timer-improve
++ echo master
++ tr / _
+ apps_ref2=master
+ tmp_path=/tmp/build-test-knsh64-timer-improve-master
+ rm -rf /tmp/build-test-knsh64-timer-improve-master
+ mkdir /tmp/build-test-knsh64-timer-improve-master
+ cd /tmp/build-test-knsh64-timer-improve-master
+ git clone https://github.com/Fix-Point/nuttx nuttx --branch timer-improve
Cloning into 'nuttx'...
remote: Enumerating objects: 847018, done.
remote: Counting objects: 100% (153/153), done.
remote: Compressing objects: 100% (104/104), done.
remote: Total 847018 (delta 80), reused 54 (delta 49), pack-reused 846865 (from 3)
Receiving objects: 100% (847018/847018), 306.26 MiB | 15.41 MiB/s, done.
Resolving deltas: 100% (660333/660333), done.
Updating files: 100% (24451/24451), done.
+ git clone https://github.com/apache/nuttx-apps apps --branch master
Cloning into 'apps'...
remote: Enumerating objects: 95225, done.
remote: Counting objects: 100% (242/242), done.
remote: Compressing objects: 100% (157/157), done.
remote: Total 95225 (delta 141), reused 85 (delta 85), pack-reused 94983 (from 3)
Receiving objects: 100% (95225/95225), 25.30 MiB | 14.32 MiB/s, done.
Resolving deltas: 100% (76889/76889), done.
+ [[ HEAD != '' ]]
+ pushd nuttx
/tmp/build-test-knsh64-timer-improve-master/nuttx /tmp/build-test-knsh64-timer-improve-master
+ git reset --hard HEAD
HEAD is now at e97ec75fbc clock: Fix timing error.
+ popd
/tmp/build-test-knsh64-timer-improve-master
+ [[ HEAD != '' ]]
+ pushd apps
/tmp/build-test-knsh64-timer-improve-master/apps /tmp/build-test-knsh64-timer-improve-master
+ git reset --hard HEAD
HEAD is now at 376cc5a73 testing/ostest: Add checking of signal delivery TID to signest test
+ popd
/tmp/build-test-knsh64-timer-improve-master
+ set +x
/tmp/build-test-knsh64-timer-improve-master/nuttx /tmp/build-test-knsh64-timer-improve-master
NuttX Source: https://github.com/apache/nuttx/tree/e97ec75fbc7a26a7fd4390d8f886b22667b5aaf5
/tmp/build-test-knsh64-timer-improve-master
/tmp/build-test-knsh64-timer-improve-master/apps /tmp/build-test-knsh64-timer-improve-master
NuttX Apps: https://github.com/apache/nuttx-apps/tree/376cc5a731d9b43a34dd619fece8c49015238fd1
/tmp/build-test-knsh64-timer-improve-master
+ riscv-none-elf-gcc -v
Using built-in specs.
COLLECT_GCC=riscv-none-elf-gcc
COLLECT_LTO_WRAPPER=/home/luppy/xpack-riscv-none-elf-gcc-13.2.0-2/bin/../libexec/gcc/riscv-none-elf/13.2.0/lto-wrapper
Target: riscv-none-elf
Configured with: /__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/sources/gcc-13.2.0/configure --prefix=/__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/application --with-sysroot=/__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/application/riscv-none-elf --with-native-system-header-dir=/include --infodir=/__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/x86_64-pc-linux-gnu/install/share/info --mandir=/__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/x86_64-pc-linux-gnu/install/share/man --htmldir=/__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/x86_64-pc-linux-gnu/install/share/html --pdfdir=/__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/x86_64-pc-linux-gnu/install/share/pdf --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=riscv-none-elf --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libsanitizer --disable-libssp --disable-nls --disable-shared --disable-threads --disable-tls --enable-checking=release --enable-languages=c,c++,fortran --with-gmp=/__w/riscv-none-elf-gcc-xpack/riscv-none-elf-gcc-xpack/build/linux-x64/x86_64-pc-linux-gnu/install --with-newlib --with-pkgversion='xPack GNU RISC-V Embedded GCC x86_64' --with-gnu-as --with-gnu-ld --with-system-zlib --with-abi=ilp32 --with-arch=rv32imac --enable-multilib
Thread model: single
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.0 (xPack GNU RISC-V Embedded GCC x86_64)
+ rustup --version
rustup 1.28.1 (f9edccde0 2025-03-05)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.85.0 (4d91de4e4 2025-02-17)`
+ rustc --version
rustc 1.85.0 (4d91de4e4 2025-02-17)
+ cd nuttx
+ tools/configure.sh rv-virt:knsh64
Copy files
Select CONFIG_HOST_LINUX=y
Refreshing...
CP: arch/dummy/Kconfig to /tmp/build-test-knsh64-timer-improve-master/nuttx/arch/dummy/dummy_kconfig
CP: boards/dummy/Kconfig to /tmp/build-test-knsh64-timer-improve-master/nuttx/boards/dummy/dummy_kconfig
LN: platform/board to /tmp/build-test-knsh64-timer-improve-master/apps/platform/dummy
LN: include/arch to arch/risc-v/include
LN: include/arch/board to /tmp/build-test-knsh64-timer-improve-master/nuttx/boards/risc-v/qemu-rv/rv-virt/include
LN: drivers/platform to /tmp/build-test-knsh64-timer-improve-master/nuttx/drivers/dummy
LN: include/arch/chip to /tmp/build-test-knsh64-timer-improve-master/nuttx/arch/risc-v/include/qemu-rv
LN: arch/risc-v/src/chip to /tmp/build-test-knsh64-timer-improve-master/nuttx/arch/risc-v/src/qemu-rv
LN: arch/risc-v/src/board to /tmp/build-test-knsh64-timer-improve-master/nuttx/boards/risc-v/qemu-rv/rv-virt/src
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/audioutils
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/benchmarks
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/boot
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/canutils
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/crypto
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/database
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/examples/mcuboot
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/examples/module
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/examples/rust
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/examples/sotest
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/examples
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/fsutils
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/games
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/graphics
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/industry
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/inertial
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/interpreters/luamodules
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/interpreters
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/logging
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/lte
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/math
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/mlearning
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/netutils
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/sdr
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/system
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/testing/arch
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/testing/cxx
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/testing/drivers
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/testing/fs
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/testing/libc
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/testing/mm
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/testing/sched
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/testing
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/videoutils
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/wireless/bluetooth
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/wireless/ieee802154
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps/wireless
mkkconfig in /tmp/build-test-knsh64-timer-improve-master/apps
#
# configuration written to .config
#
+ make -j
CPP: gnu-elf.ld.in-> gnu-elf.ld Create version.h
LN: platform/board to /tmp/build-test-knsh64-timer-improve-master/apps/platform/dummy
Register: hello
Register: dd
Register: getprime
Register: init
Register: sh
Register: ostest
CPP: /tmp/build-test-knsh64-timer-improve-master/nuttx/boards/risc-v/qemu-rv/rv-virt/scripts/ld-kernel.script-> /tmp/build-test-knsh64-timer-improve-master/nuttx/boards/risc-v/qemu-rv/rv-virt/scripts/ld-kernel.sLD: nuttx
Memory region Used Size Region Size %age Used
kflash: 122444 B 2 MB 5.84%
ksram: 29504 B 2 MB 1.41%
pgram: 0 GB 4 MB 0.00%
+ riscv-none-elf-size nuttx
text data bss dec hex filename
122417 1633 25408 149458 247d2 nuttx
+ make -j export
+ pushd ../apps
/tmp/build-test-knsh64-timer-improve-master/apps /tmp/build-test-knsh64-timer-improve-master/nuttx
+ ./tools/mkimport.sh -z -x ../nuttx/nuttx-export-0.0.0.tar.gz
+ make -j import
cc -O2 -Wall -Wstrict-prototypes -Wshadow -DHAVE_STRTOK_C=1 /tmp/build-test-knsh64-timer-improve-master/apps/import/tools/mkdeps.c -o /tmp/build-test-knsh64-timer-improve-master/apps/import/tools/mkdeps
cc -O2 -Wall -Wstrict-prototypes -Wshadow -DHAVE_STRTOK_C=1 /tmp/build-test-knsh64-timer-improve-master/apps/import/tools/incdir.c -o "/tmp/build-test-knsh64-timer-improve-master/apps/import/tools/incdir"
make[1]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/examples/hello'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/nshlib'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/platform'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/nsh'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/dd'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/ostest'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/readline'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/sched/getprime'
LN: platform/board to /tmp/build-test-knsh64-timer-improve-master/apps/platform/dummy
make[3]: Nothing to be done for 'context'.
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/examples/hello'
make[3]: Nothing to be done for 'context'.
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/nsh'
make[3]: Nothing to be done for 'context'.
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/nshlib'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/platform'
make[3]: Nothing to be done for 'context'.
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/readline'
make[3]: Nothing to be done for 'context'.
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/ostest'
make[3]: Nothing to be done for 'context'.
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/dd'
make[3]: Nothing to be done for 'context'.
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/sched/getprime'
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/nshlib'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/platform'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/examples/hello'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/dd'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/nsh'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/readline'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/sched/getprime'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/ostest'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/readline'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/nsh'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/dd'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/platform'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/nshlib'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/sched/getprime'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/ostest'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/examples/hello'
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[2]: Nothing to be done for 'context_wasm'.
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[1]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[1]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[1]: Nothing to be done for 'register'.
make[1]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[1]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/examples/hello'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/nshlib'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/platform'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/dd'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/nsh'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/readline'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/sched/getprime'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/ostest'
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/platform'
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/examples/hello'
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/dd'
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/sched/getprime'
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/nsh'
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/readline'
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/nshlib'
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/ostest'
make[1]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[1]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/examples/hello'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/nshlib'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/platform'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/dd'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/nsh'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/readline'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/ostest'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/sched/getprime'
CC: nsh_dbgcmds.c make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/dd'
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/sched/getprime'
CC: cond.c make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/examples/hello'
CC: nsh_fileapps.c make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/nsh'
CC: semtimed.c make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/platform'
CC: nsh_system.c fpu.c:57:8: warning: #warning "FPU test not built; Only available in the flat build (CONFIG_BUILD_FLAT)" [-Wcpp]
57 | # warning "FPU test not built; Only available in the flat build (CONFIG_BUILD_FLAT)"
| ^~~~~~~
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/readline'
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/ostest'
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/nshlib'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/examples/hello'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/nshlib'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/platform'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/dd'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/nsh'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/readline'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/ostest'
make[3]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/sched/getprime'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/platform'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/nshlib'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/readline'
riscv-none-elf-strip: /tmp/build-test-knsh64-timer-improve-master/apps/bin/st7YvdKo: section .fini_array lma 0xc0101279 adjusted to 0xc0101280
riscv-none-elf-strip: /tmp/build-test-knsh64-timer-improve-master/apps/bin/stNuCtS9: section .fini_array lma 0xc0101279 adjusted to 0xc0101280
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/examples/hello'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/sched/getprime'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/nsh'
riscv-none-elf-strip: /tmp/build-test-knsh64-timer-improve-master/apps/bin/stOODpsG: section .fini_array lma 0xc0101009 adjusted to 0xc0101010
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/system/dd'
make[3]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps/testing/ostest'
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[2]: Entering directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[2]: Nothing to be done for 'postinstall'.
make[2]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps'
make[1]: Leaving directory '/tmp/build-test-knsh64-timer-improve-master/apps'
+ popd
/tmp/build-test-knsh64-timer-improve-master/nuttx
+ qemu-system-riscv64 --version
QEMU emulator version 8.2.2 (Debian 1:8.2.2+ds-0ubuntu1.6)
Copyright (c) 2003-2023 Fabrice Bellard and the QEMU Project developers
+ script=qemu-riscv-knsh64
+ wget https://raw.githubusercontent.com/lupyuen/nuttx-riscv64/main/qemu-riscv-knsh64.exp
--2025-05-09 16:38:58-- https://raw.githubusercontent.com/lupyuen/nuttx-riscv64/main/qemu-riscv-knsh64.exp
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.109.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1689 (1.6K) [text/plain]
Saving to: ‘qemu-riscv-knsh64.exp’
qemu-riscv-knsh64.exp 100%[======================================>] 1.65K --.-KB/s in 0s
2025-05-09 16:38:59 (24.5 MB/s) - ‘qemu-riscv-knsh64.exp’ saved [1689/1689]
+ expect ./qemu-riscv-knsh64.exp
spawn qemu-system-riscv64 -semihosting -M virt,aclint=on -cpu rv64 -kernel nuttx -nographic
OpenSBI v1.3
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|___/_____|
| |
|_|
Platform Name : riscv-virtio,qemu
Platform Features : medeleg
Platform HART Count : 1
Platform IPI Device : aclint-mswi
Platform Timer Device : aclint-mtimer @ 10000000Hz
Platform Console Device : semihosting
Platform HSM Device : ---
Platform PMU Device : ---
Platform Reboot Device : sifive_test
Platform Shutdown Device : sifive_test
Platform Suspend Device : ---
Platform CPPC Device : ---
Firmware Base : 0x80000000
Firmware Size : 322 KB
Firmware RW Offset : 0x40000
Firmware RW Size : 66 KB
Firmware Heap Offset : 0x48000
Firmware Heap Size : 34 KB (total), 2 KB (reserved), 9 KB (used), 22 KB (free)
Firmware Scratch Size : 4096 B (total), 760 B (used), 3336 B (free)
Runtime SBI Version : 1.0
Domain0 Name : root
Domain0 Boot HART : 0
Domain0 HARTs : 0*
Domain0 Region00 : 0x0000000002000000-0x000000000200ffff M: (I,R,W) S/U: ()
Domain0 Region01 : 0x0000000080040000-0x000000008005ffff M: (R,W) S/U: ()
Domain0 Region02 : 0x0000000080000000-0x000000008003ffff M: (R,X) S/U: ()
Domain0 Region03 : 0x0000000000000000-0xffffffffffffffff M: (R,W,X) S/U: (R,W,X)
Domain0 Next Address : 0x0000000080200000
Domain0 Next Arg1 : 0x0000000087e00000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Domain0 SysSuspend : yes
Boot HART ID : 0
Boot HART Domain : root
Boot HART Priv Version : v1.12
Boot HART Base ISA : rv64imafdch
Boot HART ISA Extensions : time,sstc
Boot HART PMP Count : 16
Boot HART PMP Granularity : 4
Boot HART PMP Address Bits: 54
Boot HART MHPM Count : 16
Boot HART MIDELEG : 0x0000000000001666
Boot HART MEDELEG : 0x0000000000f0b509
ABC
NuttShell (NSH)
nsh> uname -a
NuttX 0.0.0 e97ec75fbc May 9 2025 16:38:41 risc-v rv-virt
nsh> free
total used free maxused maxfree nused nfree name
2064576 10096 2054480 21880 2050992 25 4 Kmem
4194304 606208 3588096 3588096 Page
nsh> ps
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND
0 0 0 FIFO Kthread - Ready 0000000000000000 0003040 0001888 62.1% Idle_Task
1 0 100 RR Kthread - Waiting Semaphore 0000000000000000 0001952 0000784 40.1% lpwork 0x80400100 0x80400180
2 2 100 RR Task - Running 0000000000000000 0002992 0001872 62.5% /system/bin/init
nsh> ls -l /dev
/dev:
crw-rw-rw- 0 console
crw-rw-rw- 0 null
crw-rw-rw- 0 ttyS0
crw-rw-rw- 0 zero
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 874 msec
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 734 msec
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=10
user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="user_main"
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 81000 81000
ordblks 2 2
mxordblk 7cff8 7cff8
uordblks 2660 2660
fordblks 7e9a0 7e9a0
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 81000 81000
ordblks 2 2
mxordblk 7cff8 7cff8
uordblks 2660 2660
fordblks 7e9a0 7e9a0
user_main: libc tests
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 2 2
mxordblk 7cff8 7cff8
uordblks 2660 2660
fordblks 7e9a0 7e9a0
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 81000 81000
ordblks 2 3
mxordblk 7cff8 7cff8
uordblks 2660 2640
fordblks 7e9a0 7e9c0
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 81000 81000
ordblks 3 2
mxordblk 7cff8 7cff8
uordblks 2640 2568
fordblks 7e9c0 7ea98
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 81000 81000
ordblks 2 2
mxordblk 7cff8 7cff8
uordblks 2568 2568
fordblks 7ea98 7ea98
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 81000 81000
ordblks 2 2
mxordblk 7cff8 7cff8
uordblks 2568 2568
fordblks 7ea98 7ea98
user_main: mutex test
Initializing mutex
Starting thread 1
Starting thread 2
Thread1 Thread2
Loops 32 32
Errors 0 0
Testing moved mutex
Starting moved mutex thread 1
Starting moved mutex thread 2
Thread1 Thread2
Moved Loops 32 32
Moved Errors 0 0
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 2 4
mxordblk 7cff8 787f8
uordblks 2568 3578
fordblks 7ea98 7da88
user_main: timed mutex test
mutex_test: Initializing mutex
mutex_test: Starting thread
pthread: Started
pthread: Waiting for lock or timeout
mutex_test: Unlocking
pthread: Got the lock
pthread: Waiting for lock or timeout
pthread: Got the timeout. Terminating
mutex_test: PASSED
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 4 3
mxordblk 787f8 7a7f8
uordblks 3578 2d70
fordblks 7da88 7e290
user_main: cancel test
cancel_test: Test 1a: Normal Cancellation
cancel_test: Starting thread
start_thread: Initializing mutex
start_thread: Initializing cond
start_thread: Starting thread
start_thread: Yielding
sem_waiter: Taking mutex
sem_waiter: Starting wait for condition
cancel_test: Canceling thread
cancel_test: Joining
cancel_test: waiter exited with result=0xffffffffffffffff
cancel_test: PASS thread terminated with PTHREAD_CANCELED
cancel_test: Test 2: Asynchronous Cancellation
... Skipped
cancel_test: Test 3: Cancellation of detached thread
cancel_test: Re-starting thread
restart_thread: Destroying cond
restart_thread: Destroying mutex
restart_thread: Re-starting thread
start_thread: Initializing mutex
start_thread: Initializing cond
start_thread: Starting thread
start_thread: Yielding
sem_waiter: Taking mutex
sem_waiter: Starting wait for condition
cancel_test: Canceling thread
cancel_test: Joining
cancel_test: PASS pthread_join failed with status=ESRCH
cancel_test: Test 5: Non-cancelable threads
cancel_test: Re-starting thread (non-cancelable)
restart_thread: Destroying cond
restart_thread: Destroying mutex
restart_thread: Re-starting thread
start_thread: Initializing mutex
start_thread: Initializing cond
start_thread: Starting thread
start_thread: Yielding
sem_waiter: Taking mutex
sem_waiter: Starting wait for condition
sem_waiter: Setting non-cancelable
cancel_test: Canceling thread
cancel_test: Joining
sem_waiter: Releasing mutex
sem_waiter: Setting cancelable
cancel_test: waiter exited with result=0xffffffffffffffff
cancel_test: PASS thread terminated with PTHREAD_CANCELED
cancel_test: Test 6: Cancel message queue wait
cancel_test: Starting thread (cancelable)
Skipped
cancel_test: Test 7: Cancel signal wait
cancel_test: Starting thread (cancelable)
Skipped
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 3 3
mxordblk 7a7f8 78ff8
uordblks 2d70 4570
fordblks 7e290 7ca90
user_main: robust test
robust_test: Initializing mutex
robust_test: Starting thread
robust_waiter: Taking mutex
robust_waiter: Exiting with mutex
robust_test: Take the lock again
robust_test: Make the mutex consistent again.
robust_test: Take the lock again
robust_test: Joining
robust_test: waiter exited with result=0
robust_test: Test complete with nerrors=0
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 3 3
mxordblk 78ff8 78ff8
uordblks 4570 4570
fordblks 7ca90 7ca90
user_main: semaphore test
sem_test: Initializing semaphore to 0
sem_test: Starting waiter thread 1
sem_test: Set thread 1 priority to 191
waiter_func: Thread 1 Started
waiter_func: Thread 1 initial semaphore value = 0
waiter_func: Thread 1 waiting on semaphore
sem_test: Starting waiter thread 2
sem_test: Set thread 2 priority to 128
waiter_func: Thread 2 Started
waiter_func: Thread 2 initial semaphore value = -1
waiter_func: Thread 2 waiting on semaphore
sem_test: Starting poster thread 3
sem_test: Set thread 3 priority to 64
poster_func: Thread 3 started
poster_func: Thread 3 semaphore value = -2
poster_func: Thread 3 posting semaphore
waiter_func: Thread 1 awakened
waiter_func: Thread 1 new semaphore value = -1
waiter_func: Thread 1 done
poster_func: Thread 3 new semaphore value = -1
poster_func: Thread 3 semaphore value = -1
poster_func: Thread 3 posting semaphore
waiter_func: Thread 2 awakened
waiter_func: Thread 2 new semaphore value = 0
waiter_func: Thread 2 done
poster_func: Thread 3 new semaphore value = 0
poster_func: Thread 3 done
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 3 5
mxordblk 78ff8 767f8
uordblks 4570 3d80
fordblks 7ca90 7d280
user_main: timed semaphore test
semtimed_test: Initializing semaphore to 0
semtimed_test: Waiting for two second timeout
semtimed_test: PASS: first test returned timeout
BEFORE: (17 sec, 550785200 nsec)
AFTER: (19 sec, 551187800 nsec)
semtimed_test: Starting poster thread
semtimed_test: Set thread 1 priority to 191
semtimed_test: Starting poster thread 3
semtimed_test: Set thread 3 priority to 64
semtimed_test: Waiting for two second timeout
poster_func: Waiting for 1 second
poster_func: Posting
semtimed_test: PASS: sem_timedwait succeeded
BEFORE: (19 sec, 553819400 nsec)
AFTER: (20 sec, 555652300 nsec)
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 5 3
mxordblk 767f8 7a7f8
uordblks 3d80 2d70
fordblks 7d280 7e290
user_main: condition variable test
cond_test: Initializing mutex
cond_test: Initializing cond
cond_test: Starting waiter
cond_test: Set thread 1 priority to 128
waiter_thread: Started
cond_test: Starting signaler
cond_test: Set thread 2 priority to 64
thread_signaler: Started
thread_signaler: Terminating
cond_test: signaler terminated, now cancel the waiter
cond_test: Waiter Signaler
cond_test: Loops 32 32
cond_test: Errors 0 0
cond_test:
cond_test: 0 times, waiter did not have to wait for data
cond_test: 0 times, data was already available when the signaler run
cond_test: 0 times, the waiter was in an unexpected state when the signaler ran
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 3 3
mxordblk 7a7f8 787f8
uordblks 2d70 2d70
fordblks 7e290 7e290
user_main: pthread_exit() test
pthread_exit_test: Started pthread_exit_main at PID=31
pthread_exit_main 31: Starting pthread_exit_thread
pthread_exit_main 31: Sleeping for 5 seconds
pthread_exit_thread 35: Sleeping for 10 second
pthread_exit_main 31: Calling pthread_exit()
pthread_exit_thread 35: Still running...
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 3 4
mxordblk 787f8 767f8
uordblks 2d70 4d78
fordblks 7e290 7c288
user_main: pthread_rwlock test
pthread_rwlock: Initializing rwlock
pthread_exit_thread 35: Exiting
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 4 5
mxordblk 767f8 747f8
uordblks 4d78 3d80
fordblks 7c288 7d280
user_main: pthread_rwlock_cancel test
pthread_rwlock_cancel: Starting test
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 5 2
mxordblk 747f8 7cff8
uordblks 3d80 2568
fordblks 7d280 7ea98
user_main: timed wait test
thread_waiter: Initializing mutex
timedwait_test: Initializing cond
timedwait_test: Starting waiter
timedwait_test: Set thread 2 priority to 177
thread_waiter: Taking mutex
thread_waiter: Starting 5 second wait for condition
timedwait_test: Joining
thread_waiter: pthread_cond_timedwait timed out
thread_waiter: Releasing mutex
thread_waiter: Exit with status 0x12345678
timedwait_test: waiter exited with result=0x12345678
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 2 3
mxordblk 7cff8 7a7f8
uordblks 2568 2d70
fordblks 7ea98 7e290
user_main: message queue test
mqueue_test: Starting receiver
mqueue_test: Set receiver priority to 128
receiver_thread: Starting
mqueue_test: Starting sender
mqueue_test: Set sender thread priority to 64
mqueue_test: Waiting for sender to complete
sender_thread: Starting
receiver_thread: mq_receive succeeded on msg 0
sender_thread: mq_send succeeded on msg 0
receiver_thread: mq_receive succeeded on msg 1
sender_thread: mq_send succeeded on msg 1
receiver_thread: mq_receive succeeded on msg 2
sender_thread: mq_send succeeded on msg 2
receiver_thread: mq_receive succeeded on msg 3
sender_thread: mq_send succeeded on msg 3
receiver_thread: mq_receive succeeded on msg 4
sender_thread: mq_send succeeded on msg 4
receiver_thread: mq_receive succeeded on msg 5
sender_thread: mq_send succeeded on msg 5
receiver_thread: mq_receive succeeded on msg 6
sender_thread: mq_send succeeded on msg 6
receiver_thread: mq_receive succeeded on msg 7
sender_thread: mq_send succeeded on msg 7
receiver_thread: mq_receive succeeded on msg 8
sender_thread: mq_send succeeded on msg 8
receiver_thread: mq_receive succeeded on msg 9
sender_thread: mq_send succeeded on msg 9
sender_thread: returning nerrors=0
mqueue_test: Killing receiver
receiver_thread: mq_receive interrupted!
receiver_thread: returning nerrors=0
mqueue_test: Canceling receiver
mqueue_test: receiver has already terminated
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 3 4
mxordblk 7a7f8 74ff8
uordblks 2d70 6578
fordblks 7e290 7aa88
user_main: timed message queue test
timedmqueue_test: Starting sender
timedmqueue_test: Waiting for sender to complete
sender_thread: Starting
sender_thread: mq_timedsend succeeded on msg 0
sender_thread: mq_timedsend succeeded on msg 1
sender_thread: mq_timedsend succeeded on msg 2
sender_thread: mq_timedsend succeeded on msg 3
sender_thread: mq_timedsend succeeded on msg 4
sender_thread: mq_timedsend succeeded on msg 5
sender_thread: mq_timedsend succeeded on msg 6
sender_thread: mq_timedsend succeeded on msg 7
sender_thread: mq_timedsend succeeded on msg 8
sender_thread: mq_timedsend 9 timed out as expected
sender_thread: returning nerrors=0
timedmqueue_test: Starting receiver
timedmqueue_test: Waiting for receiver to complete
receiver_thread: Starting
receiver_thread: mq_timedreceive succeed on msg 0
receiver_thread: mq_timedreceive succeed on msg 1
receiver_thread: mq_timedreceive succeed on msg 2
receiver_thread: mq_timedreceive succeed on msg 3
receiver_thread: mq_timedreceive succeed on msg 4
receiver_thread: mq_timedreceive succeed on msg 5
receiver_thread: mq_timedreceive succeed on msg 6
receiver_thread: mq_timedreceive succeed on msg 7
receiver_thread: mq_timedreceive succeed on msg 8
receiver_thread: Receive 9 timed out as expected
receiver_thread: returning nerrors=0
timedmqueue_test: Test complete
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 4 3
mxordblk 74ff8 78ff8
uordblks 6578 4570
fordblks 7aa88 7ca90
user_main: sigprocmask test
sigprocmask_test: SUCCESS
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 3 3
mxordblk 78ff8 78ff8
uordblks 4570 4570
fordblks 7ca90 7ca90
user_main: signal handler test
sighand_test: Initializing semaphore to 0
sighand_test: Unmasking SIGCHLD
sighand_test: Registering SIGCHLD handler
sighand_test: Starting waiter task
sighand_test: Started waiter_main pid=52
waiter_main: Waiter started
waiter_main: Unmasking signal 32
waiter_main: Registering signal handler
waiter_main: oact.sigaction=0 oact.sa_flags=0 oact.sa_mask=0000000000000000
waiter_main: Waiting on semaphore
sighand_test: Signaling pid=52 with signo=32 sigvalue=42
waiter_main: sem_wait() successfully interrupted by signal
waiter_main: done
sighand_test: done
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 81000 81000
ordblks 3 3
mxordblk 78ff8 78ff8
uordblks 4570 4570
fordblks 7ca90 7ca90
user_main: nested signal handler test
signest_test: Starting signal waiter task at priority 101
waiter_main: Waiter started
waiter_main: Setting signal mask
waiter_main: Registering signal handler
waiter_main: Waiting on semaphore
signest_test: Started waiter_main pid=53
signest_test: Starting interfering task at priority 102
interfere_main: Waiting on semaphore
signest_test: Started interfere_main pid=54
signest_test: Simple case:
Total signalled 1240 Odd=620 Even=620
Total handled 1240 Odd=620 Even=620
Total nested 0 Odd=0 Even=0
waiter_action: Delivered to wrong TID 10, expected 53
[ 57.406911] dump_assert_info: Current Version: NuttX 0.0.0 e97ec75fbc May 9 2025 16:38:42 risc-v
[ 57.409460] dump_assert_info: Assertion failed : at file: signest.c:115 task: ostest process: ostest 0xc000001a
[ 57.411061] up_dump_register: EPC: 0000000080213698
[ 57.411878] up_dump_register: A0: 0000000080407050 A1: 0000000000000073 A2: 0000000000000000 A3: 000000000000007e
[ 57.413599] up_dump_register: A4: 0000000000000002 A5: 0000000000000000 A6: 0000000000000073 A7: 0000000080206296
[ 57.415444] up_dump_register: T0: 00000000c0006f86 T1: 0000000000000008 T2: 0000000000000000 T3: 00000000c000854e
[ 57.417003] up_dump_register: T4: 00000000c000bd60 T5: 00000000c000bf61 T6: 000000000000003d
[ 57.418332] up_dump_register: S0: 0000000000000000 S1: 0000000080409c30 S2: 0000000000000008 S3: 0000000200042000
[ 57.420084] up_dump_register: S4: 0000000000000000 S5: 00000000c000fba0 S6: 00000000804072a8 S7: 0000000000000006
[ 57.421796] up_dump_register: S8: 0000000080407298 S9: 0000000000000073 S10: 0000000000000000 S11: 0000000000000000
[ 57.423434] up_dump_register: SP: 000000008040c5c0 FP: 0000000000000000 TP: 0000000000000000 RA: 0000000080213698
[ 57.424982] dump_stackinfo: Kernel Stack:
[ 57.425521] dump_stackinfo: base: 0x8040c0c0
[ 57.426093] dump_stackinfo: size: 00003072
[ 57.426666] dump_stackinfo: sp: 0x8040c5c0
[ 57.427469] stack_dump: 0x8040c580: 0000000000000009 0000000080409d90 000000008021dd00 0000000200042000 0000000000000000 0000000080409c30 0000000000000000 0000000080213872
[ 57.429798] stack_dump: 0x8040c5c0: 00000000c000001a 0000000000000000 0000000000000000 0a00000000000000 0000000080409c30 0000000080407050 0000000000000000 00000000c000fba0
[ 57.432206] stack_dump: 0x8040c600: 0000000000000073 000000587474754e 0000000000000002 0000000000000000 00000000c0203e28 00000000804086c0 0000000080409e78 302e30008040c700
[ 57.434646] stack_dump: 0x8040c640: 000000000000302e 000000008020e7e0 376365373965c710 79614d2063626635 3532303220392020 343a38333a363120 0000000000000032 0000000000000000
[ 57.437066] stack_dump: 0x8040c680: 73697200c0203e28 0000000000762d63 0000000000000008 000000008040c700 0000000000000000 0000000000000000 0000000000000000 000000000000026c
[ 57.439216] stack_dump: 0x8040c6c0: 000000000000003f 0000000000000002 000000000000006e 0000000000000000 0000000000000002 0000000000000000 0000000000000008 ffffffffffffffda
[ 57.441296] stack_dump: 0x8040c700: 0000000080409cb0 00000000802062a8 0000000080409cb0 0000000080200970 0000000000000000 00000000c0002744 0000000200042000 00000000802001a2
[ 57.443752] stack_dump: 0x8040c740: 00000000c0002744 00000000c0000a8a 00000000c0203e40 000000008040c8fc 0000000000000000 00000000c0006f86 0000000000000110 0000000000000000
[ 57.446230] stack_dump: 0x8040c780: 0000000000000001 0000000080406310 0000000000000007 00000000c000fba0 0000000000000073 0000000000000000 0000000000000000 0000000000000000
[ 57.448708] stack_dump: 0x8040c7c0: 0000000000000073 00000000c000fba0 0000000200042020 0000000080409d08 0000000000000002 0000000000000000 000000000000006e 0000000000000002
[ 57.451195] stack_dump: 0x8040c800: 000000000000003f 000000000000026c 0000000000000000 0000000000000000 00000000c000854e 00000000c000bd60 00000000c000bf61 000000000000003d
[ 57.453147] stack_dump: 0x8040c840: 0000000200042000 0000000080409c30 0000000000000002 0000000000000000 0000000000000009 0000000080206c3e 0000000000000008 0000000000000000
[ 57.455031] stack_dump: 0x8040c880: 0000000000000005 0000000000000000 0000000200042022 0000000080409c30 0000000000000000 000000008040c9c0 00000000804001c0 0000000200042020
[ 57.457342] stack_dump: 0x8040c8c0: 00000000000000d0 0000000080205a1c 0000000000000004 0000000000000004 0000000000000001 0000000200042022 00000000804001c0 0000000080409c30
[ 57.459783] stack_dump: 0x8040c900: 0000000080409c30 0000000080208580 0000000000000001 0000000000001f80 00000000c0202000 00000000c0202080 0000000000000000 0000000080206dbc
[ 57.462259] stack_dump: 0x8040c940: 0000000000000000 0000000080215e32 0000000000000000 2aaaaaaaaaaaaaaa 0000000000000088 0000000000000003 0000000080040001 0000000000000000
[ 57.464729] stack_dump: 0x8040c980: 000000000000000a deadbeefdeadbeef 00000000c0203e80 0000000080409c30 0000000200042022 0000000000000000 0000000080406dc0 fffffffffffffff4
[ 57.467142] stack_dump: 0x8040c9c0: 0000000080406310 0000000080409c30 0000000080409c30 000000008020aa48 0000000080409778 0000000080406638 0000000080409c30 0000000080201a32
[ 57.469587] stack_dump: 0x8040ca00: 000000000000000a 00000000c01017b0 000000000000000a 0000000000000001 00000000c01017a0 0000000000000020 ffffffffffffffff 0000000080409c30
[ 57.472086] stack_dump: 0x8040ca40: 0000000080406630 000000008020167c 000000000000000a 0000000000000001 0000000080409cb0 0000000000000000 0000000000000008 0000000000000000
[ 57.474578] stack_dump: 0x8040ca80: 0000000080409cb0 000000008020097e 0000000000000000 00000000c0009564 0000000200042020 00000000802001a2 00000000c0009564 00000000c0008592
[ 57.477240] stack_dump: 0x8040cac0: 00000000c0203e90 0000000000000000 0000000000000000 0000000000000000 00000000c01017b0 0000000000000000 00000000c01017b4 00000000c010179c
[ 57.479518] stack_dump: 0x8040cb00: 0000000000000028 ffffffffffffffff 0000000000000035 0000000000000001 ffffffffffffffff 0000000000000035 0000000000000009 00000000c0203eb8
[ 57.481677] stack_dump: 0x8040cb40: 00000000c01017a8 00000000c01017a4 00000000c01017a0 0000000000000001 000000000000000a 00000000c01017b0 000000000000003f 000000000000026c
[ 57.484135] stack_dump: 0x8040cb80: 0000000000000000 0000000000000000 00000000c000854e 00000000c000bd60 00000000c000bf61 000000000000003d 0000000200042020 0000000000000000
[ 57.486612] stack_dump: 0x8040cbc0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 57.489076] stack_dump: 0x8040cc00: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 57.491549] stack_dump: 0x8040cc40: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 57.494080] stack_dump: 0x8040cc80: 0000000000000000 0000000000000000 0000000000000000 00000000802032e4 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 57.496218] stack_dump: 0x8040ccc0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000
ostest_main: Exiting with status 256
nsh>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment