Skip to content

[BUG] Unable to run unittests: catch_assert(configASSERT(0)) = SIGABRT #1339

@anordal

Description

@anordal

I used to be able to run the unittests, but now, a lot of them are dying of SIGABRT:

The following tests FAILED:
	  1 - FreeRTOS_ARP_utest (Subprocess aborted)
	  4 - FreeRTOS_DHCP_utest (Subprocess aborted)
	  5 - FreeRTOS_DHCPv6_utest (Subprocess aborted)
	  6 - FreeRTOS_TCP_WIN_utest (Subprocess aborted)
	  8 - FreeRTOS_DNS_utest (Subprocess aborted)
	 13 - FreeRTOS_DNS_Parser_utest (Subprocess aborted)
	 14 - FreeRTOS_IP_utest (Subprocess aborted)
	 21 - FreeRTOS_IP_Utils_utest (Subprocess aborted)
	 24 - FreeRTOS_IPv6_Utils_utest (Subprocess aborted)
	 30 - FreeRTOS_ND_utest (Subprocess aborted)
	 31 - FreeRTOS_Sockets_GenericAPI_utest (Subprocess aborted)
	 33 - FreeRTOS_Sockets_UDP_API_utest (Subprocess aborted)
	 34 - FreeRTOS_Sockets_privates_utest (Subprocess aborted)
	 39 - FreeRTOS_Sockets_DiffConfig1_privates_utest (Subprocess aborted)
	 41 - FreeRTOS_RA_utest (Subprocess aborted)
	 42 - FreeRTOS_UDP_IP_utest (Subprocess aborted)
	 43 - FreeRTOS_UDP_IPv4_utest (Subprocess aborted)
	 44 - FreeRTOS_UDP_IPv6_utest (Subprocess aborted)
	 46 - FreeRTOS_TCP_IP_utest (Subprocess aborted)
	 51 - FreeRTOS_TCP_Transmission_utest (Subprocess aborted)
	 52 - FreeRTOS_TCP_Transmission_IPv6_utest (Subprocess aborted)
	 57 - FreeRTOS_Sockets_IPv6_utest (Subprocess aborted)
	 58 - FreeRTOS_Routing_utest (Subprocess aborted)
	 60 - FreeRTOS_Routing_ConfigCompatibleWithSingle_utest (Subprocess aborted)

The first failure is test_xCheckRequiresARPResolution_AssertInvalidFrameType() in FreeRTOS_ARP_utest.
After reducing it to the minimal failing testcase, I have this:

void test_catch_assert()
{
    catch_assert(configASSERT(0));
}

Which leaves this backtrace in GDB:

Program received signal SIGABRT, Aborted.
0x00007ffff7c9dc9c in __pthread_kill_implementation () from /lib64/libc.so.6
Missing separate debuginfos, use: zypper install glibc-debuginfo-2.42-3.3.x86_64
(gdb) bt
#0  0x00007ffff7c9dc9c in __pthread_kill_implementation () from /lib64/libc.so.6
#1  0x00007ffff7c42786 in raise () from /lib64/libc.so.6
#2  0x00007ffff7c2934b in abort () from /lib64/libc.so.6
#3  0x00007ffff7c29295 in __assert_fail_base.cold () from /lib64/libc.so.6
#4  0x00000000004082c9 in test_catch_assert ()
#5  0x000000000040c4b5 in run_test ()
#6  0x000000000040c7f4 in main ()

Target

  • Instruction Set Architecture: x86-64 (native compilation)
  • Toolchain and version: gcc 15.2.1 20260202

Host

  • Host OS: openSUSE Tumbleweed
  • Version: 20260408

To Reproduce

  • Run the script embedded in test/unit-test/README.md

Additional context

I don't suspect this to be relevant, but I had to update the submodule tools/CMock/vendor/unity to the latest origin/HEAD in order to get a fix for a Ruby 4 incompatibility before I could build the tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions