-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
Description / Steps to reproduce the issue
I am using the STMH743ZI nucleo dev board and nuttx with default usb otg fs configuration.
Reproduce USB crash at startup:
I enabled syslog and debug logging for USB and GPIO. Check all the logging levels.
When the board starts, it hangs after USB is trying to log.
Reproduce 'ps' command crash
When you run the ps command,
the serial output is incomplete or garbage, then hangs.
ostest hangs, hard to reproduce
Sometimes, depending on configuration can sometimes hang.
This is not 100% of the time.
CPU slow down when USB mass storage device is connected
When an USB mass storage device like a flashdrive is connected, the NSH is noticeably slowing down.
This makes every operation extremely slow.
USB crash after connection when syslog is on
When you only enable SYSLOG for USB, USB stack does not crash right away. But when you connect something, it hangs with nsh> stm32_wait: RHport C
I'd like to paste more logs and dumps, but NuttX is not giving me any on these problems. They are hangs.
I tried to debug this issue, but the debugger is stuck in the dumping process.
On which OS does this issue occur?
[OS: Linux]
What is the version of your OS?
Arch
NuttX Version
Master
Issue Architecture
[Arch: arm]
Issue Area
[Area: Kernel]
Host information
file sysinfo.h not exists
NuttX CFLAGS:
-Wstrict-prototypes
-Wno-attributes
-Wno-unknown-pragmas
-Wno-psabi
-fomit-frame-pointer
--param=min-pagesize=0
-fno-common
-Wall
-Wshadow
-Wundef
-ffunction-sections
-fdata-sections -g
-mlittle-endian
-march=armv7e-m
-mtune=cortex-m7
-mfpu=fpv5-d16
-mfloat-abi=hard
-mthumb
-Wa-mthumb
-Wa-mimplicit-it=always
-isystem /home/martini/projects/instant_connect_stm/nuttx/include
-D__NuttX__
-DNDEBUG
NuttX CXXFLAGS:
-Wno-attributes
-Wno-unknown-pragmas
-nostdinc++
-Wno-psabi
-std=\gnu++17
-fno-exceptions
-fcheck-new
-fno-rtti
-fomit-frame-pointer
--param=min-pagesize=0
-fno-common
-Wall
-Wshadow
-Wundef
-ffunction-sections
-fdata-sections -g
-mlittle-endian
-march=armv7e-m
-mtune=cortex-m7
-mfpu=fpv5-d16
-mfloat-abi=hard
-mthumb
-Wa-mthumb
-Wa-mimplicit-it=always
-isystem /home/martini/projects/instant_connect_stm/nuttx/include/cxx
-isystem /home/martini/projects/instant_connect_stm/nuttx/include
-D__NuttX__
-DNDEBUG
NuttX LDFLAGS:
--print-memory-usage
--entry=__start
-nostdlib
--gc-sections
--cref
-Map=/home/martini/projects/instant_connect_stm/nuttx/nuttx.map
NuttX configuration options:
CONFIG_HOST_LINUX=y
CONFIG_APPS_DIR=../nuttx-apps
CONFIG_BASE_DEFCONFIG=/home/martini/projects/instant_connect_stm/boards/nucleo-h743zi/configs/otg_fs_host-dirty
CONFIG_BUILD_FLAT=y
CONFIG_INTELHEX_BINARY=y
CONFIG_RAW_BINARY=y
CONFIG_OUTPUT_STRIP_PATHS=y
CONFIG_ARCH_FLOAT_H=y
CONFIG_ARCH_HAVE_STDARG_H=y
CONFIG_ARCH_HAVE_SETJMP=y
CONFIG_ARCH_NONE_DEBUG_H=y
CONFIG_FORTIFY_SOURCE=0
CONFIG_NDEBUG=y
CONFIG_DEBUG_ALERT=y
CONFIG_DEBUG_FEATURES=y
CONFIG_DEBUG_ERROR=y
CONFIG_DEBUG_WARN=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_USB=y
CONFIG_DEBUG_USB_ERROR=y
CONFIG_DEBUG_USB_WARN=y
CONFIG_DEBUG_USB_INFO=y
CONFIG_ARCH_HAVE_STACKCHECK=y
CONFIG_STACK_USAGE_WARNING=0
CONFIG_DEBUG_SYMBOLS=y
CONFIG_DEBUG_SYMBOLS_LEVEL=-g
CONFIG_ARCH_HAVE_CUSTOMOPT=y
CONFIG_DEBUG_NOOPT=y
CONFIG_LTO_NONE=y
CONFIG_DEBUG_OPT_UNUSED_SECTIONS=y
CONFIG_DEBUG_LINK_MAP=y
CONFIG_ARCH_ARM=y
CONFIG_ARCH=\arm
CONFIG_ARM_TOOLCHAIN_GNU_EABI=y
CONFIG_ARCH_CHIP_STM32H7=y
CONFIG_ARCH_ARMV7M=y
CONFIG_ARCH_CORTEXM7=y
CONFIG_ARCH_FAMILY=\armv7-m
CONFIG_ARCH_CHIP=\stm32h7
CONFIG_ARM_THUMB=y
CONFIG_ARM_HAVE_MPU_UNIFIED=y
CONFIG_ARCH_HAVE_HARDFAULT_DEBUG=y
CONFIG_ARCH_HAVE_MEMFAULT_DEBUG=y
CONFIG_ARCH_HAVE_BUSFAULT_DEBUG=y
CONFIG_ARCH_HAVE_USAGEFAULT_DEBUG=y
CONFIG_ARMV7M_HAVE_ICACHE=y
CONFIG_ARMV7M_HAVE_DCACHE=y
CONFIG_ARMV7M_ICACHE=y
CONFIG_ARMV7M_DCACHE=y
CONFIG_ARMV7M_DCACHE_WRITETHROUGH=y
CONFIG_ARMV7M_HAVE_ITCM=y
CONFIG_ARMV7M_HAVE_DTCM=y
CONFIG_ARMV7M_DTCM=y
CONFIG_ARMV7M_HAVE_STACKCHECK=y
CONFIG_OTG_ID_GPIO_DISABLE=y
CONFIG_ARCH_CHIP_STM32H743ZI=y
CONFIG_STM32H7_IO_CONFIG_Z=y
CONFIG_ARCH_CHIP_STM32H7_CORTEXM7=y
CONFIG_STM32H7_STM32H7X3XX=y
CONFIG_STM32H7_FLASH_CONFIG_I=y
CONFIG_STM32H7_FLASH_OVERRIDE_DEFAULT=y
CONFIG_STM32H7_FLASH_CR_PSIZE=3
CONFIG_STM32H7_AXI_SRAM_CORRUPTION_WAR=y
CONFIG_STM32_APP_FORMAT_LEGACY=y
CONFIG_STM32H7_HAVE_LTDC=y
CONFIG_STM32H7_HAVE_ETHERNET=y
CONFIG_STM32H7_HAVE_FMC=y
CONFIG_STM32H7_HAVE_GPIOF=y
CONFIG_STM32H7_HAVE_GPIOG=y
CONFIG_STM32H7_HAVE_SPI4=y
CONFIG_STM32H7_HAVE_SPI5=y
CONFIG_STM32H7_HAVE_SPI6=y
CONFIG_STM32H7_HSI48=y
CONFIG_STM32H7_USART=y
CONFIG_STM32H7_OTGFS=y
CONFIG_STM32H7_SYSCFG=y
CONFIG_STM32H7_USART3=y
CONFIG_STM32H7_OTGFS_HOST=y
CONFIG_USART3_RXFIFO_THRES=3
CONFIG_STM32H7_HAVE_RTC_SUBSECONDS=y
CONFIG_ARCH_TOOLCHAIN_GNU=y
CONFIG_ARCH_TOOLCHAIN_GCC=y
CONFIG_ARCH_HAVE_IRQTRIGGER=y
CONFIG_ARCH_HAVE_IRQPRIO=y
CONFIG_ARCH_ICACHE=y
CONFIG_ARCH_DCACHE=y
CONFIG_ARCH_HAVE_FORK=y
CONFIG_ARCH_HAVE_FPU=y
CONFIG_ARCH_HAVE_DPFPU=y
CONFIG_ARCH_HAVE_MPU=y
CONFIG_ARCH_HAVE_PROGMEM=y
CONFIG_ARCH_HAVE_RESET=y
CONFIG_ARCH_HAVE_TESTSET=y
CONFIG_ARCH_HAVE_THREAD_LOCAL=y
CONFIG_ARCH_HAVE_RTC_SUBSECONDS=y
CONFIG_ARCH_HAVE_SYSCALL_HOOKS=y
CONFIG_ARCH_HAVE_BACKTRACE=y
CONFIG_ARCH_HAVE_DEBUG=y
CONFIG_ARCH_HAVE_PERF_EVENTS=y
CONFIG_ARCH_HAVE_CPUINFO=y
CONFIG_ARCH_CPUINFO_FREQ_KHZ=0
CONFIG_ARCH_HAVE_TCBINFO=y
CONFIG_ARCH_FPU=y
CONFIG_ARCH_DPFPU=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARCH_STACKDUMP_MAX_LENGTH=0
CONFIG_ARCH_HAVE_RAMVECTORS=y
CONFIG_BOARD_LOOPSPERMSEC=43103
CONFIG_ARCH_HAVE_INTERRUPTSTACK=y
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_HAVE_HIPRI_INTERRUPT=y
CONFIG_BOOT_RUNFROMFLASH=y
CONFIG_RAM_START=0x20010000
CONFIG_RAM_SIZE=245760
CONFIG_FLASH_START=0x0
CONFIG_FLASH_SIZE=0
CONFIG_ARCH_BOARD_CUSTOM=y
CONFIG_ARCH_BOARD_CUSTOM_NAME=\ic_board
CONFIG_ARCH_BOARD_CUSTOM_DIR=../boards/nucleo-h743zi
CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y
CONFIG_BOARD_CRASHDUMP_NONE=y
CONFIG_BOARDCTL=y
CONFIG_BOARDCTL_MKRD=y
CONFIG_BOARD_MEMORY_RANGE=\
CONFIG_DISABLE_OS_API=y
CONFIG_ARCH_HAVE_TICKLESS=y
CONFIG_USEC_PER_TICK=10000
CONFIG_ARCH_HAVE_TIMEKEEPING=y
CONFIG_START_YEAR=2011
CONFIG_START_MONTH=12
CONFIG_START_DAY=6
CONFIG_PREALLOC_TIMERS=4
CONFIG_IRQ_NWORKS=8
CONFIG_IRQ_WORK_SECTION=\
CONFIG_IRQ_WORK_STACKSIZE=2048
CONFIG_INIT_ENTRY=y
CONFIG_INIT_ARGS=\
CONFIG_INIT_STACKSIZE=2048
CONFIG_INIT_PRIORITY=100
CONFIG_INIT_ENTRYPOINT=\nsh_main
CONFIG_INIT_ENTRYNAME=\nsh_main
CONFIG_RR_INTERVAL=200
CONFIG_TASK_NAME_SIZE=0
CONFIG_SCHED_WAITPID=y
CONFIG_PTHREAD_MUTEX_ROBUST=y
CONFIG_PTHREAD_MUTEX_DEFAULT_PRIO_NONE=y
CONFIG_SCHED_CPULOAD_NONE=y
CONFIG_SCHED_CPULOAD_TICKSPERSEC=100
CONFIG_SCHED_PROFILE_TICKSPERSEC=1000
CONFIG_SCHED_STACK_RECORD=0
CONFIG_DEV_CONSOLE=y
CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=8
CONFIG_FILE_STREAM=y
CONFIG_SIG_PREALLOC_ACTIONS=4
CONFIG_SIG_ALLOC_ACTIONS=1
CONFIG_SIG_PREALLOC_IRQ_ACTIONS=8
CONFIG_PREALLOC_MQ_MSGS=8
CONFIG_PREALLOC_MQ_IRQ_MSGS=8
CONFIG_MQ_MAXMSGSIZE=32
CONFIG_SCHED_WORKQUEUE=y
CONFIG_WQUEUE_NOTIFIER=y
CONFIG_SCHED_HPWORK=y
CONFIG_SCHED_HPNTHREADS=1
CONFIG_SCHED_HPWORKPRIORITY=224
CONFIG_SCHED_HPWORKSTACKSIZE=2048
CONFIG_SCHED_LPWORK=y
CONFIG_SCHED_LPNTHREADS=1
CONFIG_SCHED_LPWORKPRIORITY=100
CONFIG_SCHED_LPWORKSTACKSIZE=2048
CONFIG_DEFAULT_TASK_STACKSIZE=2048
CONFIG_IDLETHREAD_STACKSIZE=1024
CONFIG_PTHREAD_STACK_MIN=256
CONFIG_PTHREAD_STACK_DEFAULT=2048
CONFIG_PID_INITIAL_COUNT=16
CONFIG_ARCH_HAVE_I2CRESET=y
CONFIG_ARCH_HAVE_SPI_BITORDER=y
CONFIG_SPI=y
CONFIG_SPI_EXCHANGE=y
CONFIG_BCH=y
CONFIG_BCH_BUFFER_ALIGNMENT=0
CONFIG_DEV_GPIO=y
CONFIG_DEV_GPIO_NPOLLWAITERS=1
CONFIG_DEV_GPIO_NSIGNALS=1
CONFIG_DEV_NULL=y
CONFIG_DEV_ZERO=y
CONFIG_DEV_OPTEE_NONE=y
CONFIG_DRVR_MKRD=y
CONFIG_ARCH_HAVE_RDWR_MEM_CPU_RUN=y
CONFIG_ARCH_HAVE_SERIAL_TERMIOS=y
CONFIG_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
CONFIG_MCU_SERIAL=y
CONFIG_SERIAL_NPOLLWAITERS=4
CONFIG_USART3_SERIAL_CONSOLE=y
CONFIG_USART3_SERIALDRIVER=y
CONFIG_USART3_RXBUFSIZE=256
CONFIG_USART3_TXBUFSIZE=256
CONFIG_USART3_BAUD=115200
CONFIG_USART3_BITS=8
CONFIG_USART3_PARITY=0
CONFIG_USART3_2STOP=0
CONFIG_USBHOST_HAVE_ASYNCH=y
CONFIG_USBHOST=y
CONFIG_USBHOST_NPREALLOC=4
CONFIG_USBHOST_INT_DISABLE=y
CONFIG_USBHOST_MSC=y
CONFIG_USBHOST_MSC_NOTIFIER=y
CONFIG_USBHOST_TRACE=y
CONFIG_USBHOST_TRACE_NRECORDS=128
CONFIG_USBHOST_TRACE_VERBOSE=y
CONFIG_HAVE_USBTRACE=y
CONFIG_SYSLOG=y
CONFIG_SYSLOG_DEFAULT_MASK=0xff
CONFIG_SYSLOG_CRLF=y
CONFIG_SYSLOG_MAX_CHANNELS=1
CONFIG_SYSLOG_DEVPATH=/dev/ttyS0
CONFIG_SYSLOG_CHAR=y
CONFIG_SYSLOG_DEFAULT=y
CONFIG_SYSLOG_REGISTER=y
CONFIG_FS_AUTOMOUNTER=y
CONFIG_FS_AUTOMOUNTER_DEBUG=y
CONFIG_FS_AUTOMOUNTER_DRIVER=y
CONFIG_FS_AUTOMOUNTER_VFS_PATH=/var
CONFIG_FS_NEPOLL_DESCRIPTORS=8
CONFIG_FS_LOCK_BUCKET_SIZE=0
CONFIG_SENDFILE_BUFSIZE=512
CONFIG_FS_REFCOUNT=y
CONFIG_FS_BACKTRACE=0
CONFIG_FS_MQUEUE_VFS_PATH=/var/mqueue
CONFIG_FS_MQUEUE_NPOLLWAITERS=4
CONFIG_FS_ANONMAP=y
CONFIG_FS_FAT=y
CONFIG_FAT_LCNAMES=y
CONFIG_FS_PROCFS=y
CONFIG_FS_PROCFS_REGISTER=y
CONFIG_NXFONTS_PACKEDMSFIRST=y
CONFIG_MM_DEFAULT_MANAGER=y
CONFIG_MM_DEFAULT_ALIGNMENT=8
CONFIG_MM_REGIONS=4
CONFIG_MM_MAP_COUNT_MAX=1024
CONFIG_MM_BACKTRACE=-1
CONFIG_MM_FREE_DELAYCOUNT_MAX=0
CONFIG_MM_HEAP_BIGGEST_COUNT=30
CONFIG_MM_HEAP_MEMPOOL_THRESHOLD=-1
CONFIG_BINFMT_ELF_RELOCATABLE=y
CONFIG_STDIO_BUFFER_SIZE=64
CONFIG_STDIO_LINEBUFFER=y
CONFIG_NUNGET_CHARS=2
CONFIG_LIBC_FLOATINGPOINT=y
CONFIG_LIBC_LONG_LONG=y
CONFIG_ARCH_LOWPUTC=y
CONFIG_LIBC_RAND_ORDER=1
CONFIG_LIBC_HOMEDIR=/
CONFIG_LIBC_TMPDIR=/tmp
CONFIG_LIBC_MAX_TMPFILE=32
CONFIG_LIBC_MAX_EXITFUNS=0
CONFIG_POSIX_SPAWN_DEFAULT_STACKSIZE=2048
CONFIG_LIBC_HOSTNAME=\
CONFIG_LIBC_OPEN_MAX=256
CONFIG_NAME_MAX=32
CONFIG_PATH_MAX=256
CONFIG_LINE_MAX=64
CONFIG_LIBC_STRERROR_ERRNUM=y
CONFIG_LIBC_STRSIGNAL=y
CONFIG_TLS_NELEM=0
CONFIG_TLS_TASK_NELEM=0
CONFIG_TLS_NCLEANUP=0
CONFIG_LIBC_GAISTRERROR_ERRNUM=y
CONFIG_LIBC_FTOK_VFS_PATH=/var/ftok
CONFIG_LIBC_MEMFD_ERROR=y
CONFIG_LIBC_TEMPBUFFER=y
CONFIG_LIBC_MAX_TEMPBUFFER=2
CONFIG_LIBC_TEMPBUFFER_MALLOC=y
CONFIG_LIBC_MUTEX_BACKTRACE=0
CONFIG_BUILTIN=y
CONFIG_STREAM_OUT_BUFFER_SIZE=64
CONFIG_STREAM_HEXDUMP_BUFFER_SIZE=128
CONFIG_STREAM_BASE64_BUFFER_SIZE=128
CONFIG_LIBC_INLINE_QUEUE=y
CONFIG_LIBM=y
CONFIG_HAVE_CXX=y
CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_LIBCXXMINI=y
CONFIG_CXX_STANDARD=\gnu++17
CONFIG_BUILTIN_TOOLCHAIN=y
CONFIG_COVERAGE_NONE=y
CONFIG_COVERAGE_DEFAULT_PREFIX_STRIP=\99
CONFIG_COVERAGE_DEFAULT_PREFIX=/data
CONFIG_PROFILE_NONE=y
CONFIG_EXAMPLES_IC=y
CONFIG_FSUTILS_MKFATFS=y
CONFIG_MKFATFS_BUFFER_ALIGNMENT=0
CONFIG_NSH_LIBRARY=y
CONFIG_NSH_PROMPT_STRING=\nsh>
CONFIG_NSH_PROMPT_MAX=32
CONFIG_NSH_PROMPT_ENV=\PS1
CONFIG_NSH_PROMPT_SUFFIX=>
CONFIG_NSH_READLINE=y
CONFIG_NSH_QUOTE=y
CONFIG_NSH_MAXARGUMENTS=7
CONFIG_NSH_ARGCAT=y
CONFIG_NSH_NESTDEPTH=3
CONFIG_NSH_ALIAS=y
CONFIG_NSH_ALIAS_MAX_AMOUNT=1
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_DISABLE_DATE=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_DISABLE_LOSMART=y
CONFIG_NSH_DISABLE_LOMTD=y
CONFIG_NSH_DISABLE_MB=y
CONFIG_NSH_DISABLE_MH=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_TIMEDATECTL=y
CONFIG_NSH_CODECS_BUFSIZE=128
CONFIG_NSH_CMDOPT_HEXDUMP=y
CONFIG_NSH_PROC_MOUNTPOINT=/proc
CONFIG_NSH_FILEIOSIZE=512
CONFIG_NSH_SYSINITSCRIPT=\init.d/rc.sysinit
CONFIG_NSH_INITSCRIPT=\init.d/rcS
CONFIG_NSH_SCRIPT_REDIRECT_PATH=\
CONFIG_NSH_CONSOLE=y
CONFIG_NSH_ARCHINIT=y
CONFIG_SYSTEM_DD=y
CONFIG_SYSTEM_DD_PROGNAME=\dd
CONFIG_SYSTEM_DD_PRIORITY=100
CONFIG_SYSTEM_DD_STACKSIZE=2048
CONFIG_SYSTEM_DD_STATS=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_NSH_PRIORITY=100
CONFIG_SYSTEM_NSH_STACKSIZE=2048
CONFIG_SYSTEM_NSH_PROGNAME=\nsh
CONFIG_SYSTEM_READLINE=y
CONFIG_READLINE_HAVE_EXTMATCH=y
CONFIG_READLINE_ECHO=y
CONFIG_TESTING_OSTEST=y
CONFIG_TESTING_OSTEST_LOOPS=1
CONFIG_TESTING_OSTEST_STACKSIZE=8192
CONFIG_TESTING_OSTEST_NBARRIER_THREADS=8
CONFIG_TESTING_OSTEST_RR_RANGE=10000
CONFIG_TESTING_OSTEST_RR_RUNS=10
CONFIG_TESTING_OSTEST_FPULOOPS=16
CONFIG_TESTING_OSTEST_FPUMSDELAY=750
CONFIG_TESTING_OSTEST_FPUPRIORITY=100
CONFIG_TESTING_OSTEST_FPUSTACKSIZE=2048
CONFIG_TESTING_OSTEST_WAITRESULT=y
Host system OS:
Arch Linux Linux martini 6.14.2-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu 10 Apr 2025 18:43:59 +0000 x86_64
Host system PATH:
/usr/local/bin
/usr/bin
/usr/local/sbin
/usr/bin/site_perl
/usr/bin/vendor_perl
/usr/bin/core_perl
Verification
- I have verified before submitting the report.