Skip to content

[BUG] NXInit init.rc file fails to parse empty lines #3513

@linguini1

Description

@linguini1

Description / Steps to reproduce the issue

Despite what is reported in the docs, this init.rc file won't work:

on boot
    start console
    sleep 1

service console sh
    class core
    restart_period 1000

With debug output, it specifically fails on line 4 (empty line). When this line is removed, it succeeds.

On which OS does this issue occur?

[OS: Linux]

What is the version of your OS?

Linux 7.0.9-arch1-1 #1 SMP PREEMPT_DYNAMIC Sun, 17 May 2026 17:23:07 +0000 x86_64 GNU/Linux

NuttX Version

master

Issue Architecture

[Arch: all]

Issue Area

[Area: System]

Host information

NuttX configuration options:
  CONFIG_EXPERIMENTAL=y
  CONFIG_HOST_LINUX=y
  CONFIG_APPS_DIR="../apps"
  CONFIG_BASE_DEFCONFIG="sim:nsh-dirty"
  CONFIG_BUILD_FLAT=y
  CONFIG_OUTPUT_STRIP_PATHS=y
  CONFIG_ARCH_HAVE_MATH_H=y
  CONFIG_ARCH_HAVE_SETJMP=y
  CONFIG_ARCH_SETJMP_H=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_ASSERTIONS=y
  CONFIG_DEBUG_ASSERTIONS_EXPRESSION=y
  CONFIG_DEBUG_ASSERTIONS_FILENAME=y
  CONFIG_ARCH_HAVE_STACKCHECK=y
  CONFIG_STACKCHECK_MARGIN=-1
  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_SIM=y
  CONFIG_ARCH="sim"
  CONFIG_ARCH_CHIP="sim"
  CONFIG_HOST_X86_64=y
  CONFIG_SIM_TOOLCHAIN_GCC=y
  CONFIG_SIM_X8664_SYSTEMV=y
  CONFIG_SIM_WALLTIME_SIGNAL=y
  CONFIG_SIM_WALLTIME_RATIO=100
  CONFIG_SIM_LOOP_INTERVAL=10
  CONFIG_SIM_STACKSIZE_ADJUSTMENT=65536
  CONFIG_SIM_HOSTFS=y
  CONFIG_SIM_OFFLOAD_NUM_BUFFERS=2
  CONFIG_SIM_OFFLOAD_BUFFER_NUMBYTES=32767
  CONFIG_SIM_UART_DMA=y
  CONFIG_SIM_UART_NUMBER=0
  CONFIG_SIM_CUSTOM_DATA_SECTION=""
  CONFIG_ARCH_TOOLCHAIN_GNU=y
  CONFIG_ARCH_TOOLCHAIN_GCC=y
  CONFIG_ARCH_64BIT=y
  CONFIG_ARCH_HAVE_TEXT_HEAP=y
  CONFIG_ARCH_HAVE_MULTICPU=y
  CONFIG_ARCH_HAVE_FORK=y
  CONFIG_ARCH_HAVE_POWEROFF=y
  CONFIG_ARCH_HAVE_TESTSET=y
  CONFIG_ARCH_HAVE_RTC_SUBSECONDS=y
  CONFIG_ARCH_HAVE_SYSCALL_HOOKS=y
  CONFIG_ARCH_HAVE_BACKTRACE=y
  CONFIG_ARCH_HAVE_CPUINFO=y
  CONFIG_ARCH_CPUINFO_FREQ_KHZ=0
  CONFIG_ARCH_HAVE_TCBINFO=y
  CONFIG_NCPUS=1
  CONFIG_BOARD_LOOPSPERMSEC=0
  CONFIG_BOOT_RUNFROMEXTSRAM=y
  CONFIG_RAM_START=0x0
  CONFIG_RAM_SIZE=0
  CONFIG_ARCH_BOARD_SIM=y
  CONFIG_ARCH_BOARD="sim"
  CONFIG_ARCH_HAVE_BUTTONS=y
  CONFIG_ARCH_HAVE_IRQBUTTONS=y
  CONFIG_BOARD_CRASHDUMP_NONE=y
  CONFIG_BOARDCTL=y
  CONFIG_BOARDCTL_POWEROFF=y
  CONFIG_BOARDCTL_MKRD=y
  CONFIG_BOARDCTL_APP_SYMTAB=y
  CONFIG_BOARD_MEMORY_RANGE=""
  CONFIG_DISABLE_OS_API=y
  CONFIG_ARCH_HAVE_TICKLESS=y
  CONFIG_USEC_PER_TICK=10000
  CONFIG_TIMER_ADJUST_USEC=0
  CONFIG_ARCH_HAVE_TIMEKEEPING=y
  CONFIG_START_YEAR=2008
  CONFIG_START_MONTH=6
  CONFIG_START_DAY=1
  CONFIG_PREALLOC_TIMERS=8
  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_ETC_ROMFS=y
  CONFIG_ETC_ROMFSMOUNTPT="/etc"
  CONFIG_ETC_ROMFSDEVNO=1
  CONFIG_ETC_ROMFSSECTSIZE=64
  CONFIG_ETC_FATDEVNO=2
  CONFIG_ETC_FATSECTSIZE=512
  CONFIG_ETC_FATNSECTORS=1024
  CONFIG_ETC_FATMOUNTPT="/tmp"
  CONFIG_RR_INTERVAL=0
  CONFIG_TASK_NAME_SIZE=31
  CONFIG_SCHED_HAVE_PARENT=y
  CONFIG_SCHED_CHILD_STATUS=y
  CONFIG_PREALLOC_CHILDSTATUS=0
  CONFIG_SCHED_WAITPID=y
  CONFIG_PTHREAD_MUTEX_BOTH=y
  CONFIG_PTHREAD_MUTEX_DEFAULT_UNSAFE=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_BOARD_LATE_INITIALIZE=y
  CONFIG_BOARD_INITTHREAD_STACKSIZE=2048
  CONFIG_BOARD_INITTHREAD_PRIORITY=240
  CONFIG_ENABLE_ALL_SIGNALS=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_SCHED_HPWORK=y
  CONFIG_SCHED_HPNTHREADS=1
  CONFIG_SCHED_HPWORKPRIORITY=224
  CONFIG_SCHED_HPWORKSTACKSIZE=2048
  CONFIG_SCHED_HPWORKSTACKSECTION=""
  CONFIG_DEFAULT_TASK_STACKSIZE=2048
  CONFIG_IDLETHREAD_STACKSIZE=4096
  CONFIG_PTHREAD_STACK_MIN=256
  CONFIG_PTHREAD_STACK_DEFAULT=2048
  CONFIG_PTHREAD_GUARDSIZE_DEFAULT=0
  CONFIG_SCHED_BACKTRACE=y
  CONFIG_PID_INITIAL_COUNT=16
  CONFIG_SCHED_EVENTS=y
  CONFIG_DEV_LOOP=y
  CONFIG_ONESHOT=y
  CONFIG_ONESHOT_COUNT=y
  CONFIG_ALARM_ARCH=y
  CONFIG_BCH=y
  CONFIG_BCH_BUFFER_ALIGNMENT=0
  CONFIG_IOEXPANDER=y
  CONFIG_IOEXPANDER_DUMMY=y
  CONFIG_IOEXPANDER_DUMMY_INT_NCALLBACKS=4
  CONFIG_IOEXPANDER_DUMMY_INT_POLLDELAY=500000
  CONFIG_IOEXPANDER_INT_ENABLE=y
  CONFIG_IOEXPANDER_NPINS=16
  CONFIG_DEV_GPIO=y
  CONFIG_DEV_GPIO_NPOLLWAITERS=1
  CONFIG_DEV_GPIO_NSIGNALS=1
  CONFIG_GPIO_LOWER_HALF=y
  CONFIG_GPIO_LOWER_HALF_INTTYPE=14
  CONFIG_DEV_NULL=y
  CONFIG_DEV_ZERO=y
  CONFIG_DEV_OPTEE_NONE=y
  CONFIG_DRVR_MKRD=y
  CONFIG_PIPES=y
  CONFIG_DEV_PIPE_MAXSIZE=65535
  CONFIG_DEV_PIPE_SIZE=1024
  CONFIG_DEV_FIFO_SIZE=1024
  CONFIG_DEV_PIPE_VFS_PATH="/var/pipe"
  CONFIG_DEV_PIPE_NPOLLWAITERS=4
  CONFIG_ARCH_HAVE_SERIAL_TERMIOS=y
  CONFIG_SERIAL=y
  CONFIG_SERIAL_CONSOLE=y
  CONFIG_SERIAL_NPOLLWAITERS=4
  CONFIG_SERIAL_IFLOWCONTROL=y
  CONFIG_SERIAL_TXDMA=y
  CONFIG_SERIAL_RXDMA=y
  CONFIG_SYSLOG=y
  CONFIG_SYSLOG_DEFAULT_MASK=0xff
  CONFIG_SYSLOG_CRLF=y
  CONFIG_SYSLOG_MAX_CHANNELS=1
  CONFIG_SYSLOG_DEVPATH="/dev/ttyS1"
  CONFIG_SYSLOG_DEFAULT=y
  CONFIG_FS_NEPOLL_DESCRIPTORS=8
  CONFIG_FS_LOCK_BUCKET_SIZE=0
  CONFIG_PSEUDOFS_ATTRIBUTES=y
  CONFIG_PSEUDOFS_SOFTLINKS=y
  CONFIG_PSEUDOFS_FILE=y
  CONFIG_SENDFILE_BUFSIZE=512
  CONFIG_FS_HEAPSIZE=0
  CONFIG_FS_BACKTRACE=0
  CONFIG_FS_MQUEUE_VFS_PATH="/var/mqueue"
  CONFIG_FS_MQUEUE_NPOLLWAITERS=4
  CONFIG_FS_RAMMAP=y
  CONFIG_FS_ANONMAP=y
  CONFIG_FS_FAT=y
  CONFIG_FAT_LCNAMES=y
  CONFIG_FAT_LFN=y
  CONFIG_FAT_MAXFNAME=32
  CONFIG_FAT_LFN_ALIAS_TRAILCHARS=0
  CONFIG_FS_ROMFS=y
  CONFIG_FS_ROMFS_CACHE_NODE=y
  CONFIG_FS_ROMFS_CACHE_FILE_NSECTORS=1
  CONFIG_FS_BINFS=y
  CONFIG_FS_PROCFS=y
  CONFIG_FS_HOSTFS=y
  CONFIG_NXFONTS_PACKEDMSFIRST=y
  CONFIG_MM_DEFAULT_MANAGER=y
  CONFIG_MM_DEFAULT_ALIGNMENT=8
  CONFIG_MM_NODE_GUARDSIZE=0
  CONFIG_MM_REGIONS=1
  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_PATH_INITIAL="/bin"
  CONFIG_BINFMT_ELF_RELOCATABLE=y
  CONFIG_STDIO_BUFFER_SIZE=64
  CONFIG_STDIO_LINEBUFFER=y
  CONFIG_NUNGET_CHARS=2
  CONFIG_LIBC_NUMBERED_ARGS=y
  CONFIG_LIBC_NL_ARGMAX=9
  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=1
  CONFIG_LIBC_EXECFUNCS=y
  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=80
  CONFIG_LIBC_STRERROR_ERRNUM=y
  CONFIG_LIBC_STRSIGNAL=y
  CONFIG_LIBC_LOCALE=y
  CONFIG_LIBC_LOCALE_CATALOG=y
  CONFIG_LIBC_LOCALE_GETTEXT=y
  CONFIG_LIBC_LOCALE_PATH="/etc/locale"
  CONFIG_TLS_NELEM=0
  CONFIG_TLS_TASK_NELEM=0
  CONFIG_TLS_NCLEANUP=0
  CONFIG_LIBC_GAISTRERROR_ERRNUM=y
  CONFIG_LIBC_ENVPATH=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_BACKTRACE_BUFFSIZE=0
  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_TOOLCHAIN=y
  CONFIG_HAVE_CXXINITIALIZE=y
  CONFIG_BUILTIN_TOOLCHAIN=y
  CONFIG_COVERAGE_TOOLCHAIN=y
  CONFIG_COVERAGE_DEFAULT_PREFIX_STRIP="0"
  CONFIG_COVERAGE_DEFAULT_PREFIX="/data"
  CONFIG_PROFILE_NONE=y
  CONFIG_COVERAGE_ALL=y
  CONFIG_EXAMPLES_GPIO=y
  CONFIG_EXAMPLES_GPIO_PROGNAME="gpio"
  CONFIG_EXAMPLES_GPIO_PRIORITY=100
  CONFIG_EXAMPLES_GPIO_STACKSIZE=2048
  CONFIG_EXAMPLES_HELLO=y
  CONFIG_EXAMPLES_HELLO_PROGNAME="hello"
  CONFIG_EXAMPLES_HELLO_PRIORITY=100
  CONFIG_EXAMPLES_HELLO_STACKSIZE=2048
  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_PIPELINE=y
  CONFIG_NSH_BUILTIN_APPS=y
  CONFIG_NSH_FILE_APPS=y
  CONFIG_NSH_DISABLE_DATE=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_SHUTDOWN=y
  CONFIG_NSH_DISABLE_TIMEDATECTL=y
  CONFIG_NSH_CODECS_BUFSIZE=128
  CONFIG_NSH_PROC_MOUNTPOINT="/proc"
  CONFIG_NSH_FILEIOSIZE=1024
  CONFIG_NSH_SYSINITSCRIPT="init.d/rc.sysinit"
  CONFIG_NSH_INITSCRIPT="init.d/rcS"
  CONFIG_NSH_SCRIPT_REDIRECT_PATH=""
  CONFIG_NSH_CONSOLE=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_DUMPSTACK=y
  CONFIG_SYSTEM_DUMPSTACK_STACKSIZE=2048
  CONFIG_SYSTEM_DUMPSTACK_PRIORITY=100
  CONFIG_SYSTEM_GCOV=y
  CONFIG_SYSTEM_GCOV_PROGNAME="gcov"
  CONFIG_SYSTEM_GCOV_PRIORITY=100
  CONFIG_SYSTEM_GCOV_STACKSIZE=2048
  CONFIG_SYSTEM_NSH=y
  CONFIG_SYSTEM_NSH_PRIORITY=100
  CONFIG_SYSTEM_NSH_STACKSIZE=2048
  CONFIG_SYSTEM_NSH_PROGNAME="nsh"
  CONFIG_SYSTEM_NXINIT=y
  CONFIG_SYSTEM_NXINIT_PRIORITY=100
  CONFIG_SYSTEM_NXINIT_STACKSIZE=2048
  CONFIG_SYSTEM_NXINIT_PROGNAME="init"
  CONFIG_SYSTEM_NXINIT_RC_FILE_PATH="/data/init.rc"
  CONFIG_SYSTEM_NXINIT_RC_LINE_MAX=128
  CONFIG_SYSTEM_NXINIT_ACTION_CMD_ARGS_MAX=8
  CONFIG_SYSTEM_NXINIT_ACTION_WARN_SLOW=50
  CONFIG_SYSTEM_NXINIT_ACTION_MANAGER_EVENT_MAX=32
  CONFIG_SYSTEM_NXINIT_SERVICE_ARGS_MAX=8
  CONFIG_SYSTEM_NXINIT_SERVICE_RESTART_PERIOD=5000
  CONFIG_SYSTEM_NXINIT_ERR=y
  CONFIG_SYSTEM_NXINIT_WARN=y
  CONFIG_SYSTEM_NXINIT_INFO=y
  CONFIG_SYSTEM_NXINIT_DEBUG=y
  CONFIG_SYSTEM_READLINE=y
  CONFIG_READLINE_HAVE_EXTMATCH=y
  CONFIG_READLINE_ECHO=y
  CONFIG_READLINE_TABCOMPLETION=y
  CONFIG_READLINE_MAX_BUILTINS=64
  CONFIG_READLINE_MAX_EXTCMDS=64
  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=30000
  CONFIG_TESTING_OSTEST_RR_RUNS=10
  CONFIG_TESTING_OSTEST_WAITRESULT=y
  CONFIG_TESTING_OSTEST_SPINLOCK_THREADS=2
  CONFIG_TEST_LOOP_SCALE=100

Host system OS:
  Arch Linux Linux pastabox 7.0.9-arch1-1 #1 SMP PREEMPT_DYNAMIC Sun, 17 May 2026 17:23:07 +0000 x86_64 

Host system PATH:
  /home/linguini/coding/nuttx-space/xtensa-esp-elf/bin
  /home/linguini/coding/bin
  /home/linguini/.config/custom-scripts
  /home/linguini/.cargo/bin
  /sbin
  /bin
  /usr/local/sbin
  /usr/local/bin
  /usr/sbin
  /usr/bin
  /opt/cuda/bin
  /usr/lib/jvm/default/bin
  /usr/bin/site_perl
  /usr/bin/vendor_perl
  /usr/bin/core_perl
  /opt/rocm/bin
  /usr/lib/rustup/bin

Verification

  • I have verified before submitting the report.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: BugSomething isn't working

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions