Skip to content

[ARM/Linux] PAL Test Fail (exception / sxs) #5984

Closed

Description

@myungjoo
bash-3.2# ./paltest_pal_sxs_test1
PAL_SXS test1 SIGSEGV handler (nil)
Starting pal_sxs test1 DllTest2
terminate called after throwing an instance of 'PAL_SEHException'
Aborted
bash-3.2# uname -s -r -m
Linux 3.10.65-00001-g3e64e27-dirty armv7l
bash-3.2#

Found the error and the fix is coming soon.

Activity

  1. leemgs commented on Jun 1, 2016

    @leemgs
    Contributor

    FYI, Here is some debug messages.

    • System Call tracing:
    gettid()                                = 19411
    gettid()                                = 19411
    gettid()                                = 19411
    futex(0xb6d9f0ac, FUTEX_WAKE_PRIVATE, 2147483647) = 0
    pipe([3, 4])                            = 0
    rt_sigaction(SIGILL, {0xb6eb05a9, [], SA_RESTART|SA_SIGINFO|0x4000000}, {SIG_DFL, [], 0}, 8) = 0
    rt_sigaction(SIGTRAP, {0xb6eb0619, [], SA_RESTART|SA_SIGINFO|0x4000000}, {SIG_DFL, [], 0}, 8) = 0
    rt_sigaction(SIGFPE, {0xb6eb0675, [], SA_RESTART|SA_SIGINFO|0x4000000}, {SIG_DFL, [], 0}, 8) = 0
    rt_sigaction(SIGBUS, {0xb6eb06e5, [], SA_RESTART|SA_SIGINFO|0x4000000}, {SIG_DFL, [], 0}, 8) = 0
    rt_sigaction(SIGSEGV, {0xb6eb075d, [], SA_RESTART|SA_SIGINFO|0x4000000}, {0x8b81, [], SA_RESTART|SA_SIGINFO|0x4000000}, 8) = 0
    rt_sigaction(SIGINT, {0xb6eb07d5, [], SA_RESTART|SA_SIGINFO|0x4000000}, {SIG_DFL, [], 0}, 8) = 0
    rt_sigaction(SIGQUIT, {0xb6eb080d, [], SA_RESTART|SA_SIGINFO|0x4000000}, {SIG_DFL, [], 0}, 8) = 0
    rt_sigaction(SIGRT_2, {0xb6eb0899, [], SA_RESTART|SA_SIGINFO|0x4000000}, {SIG_DFL, [], 0}, 8) = 0
    rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTART|0x4000000}, {SIG_DFL, [], 0}, 8) = 0
    gettid()                                = 19411
    getsid(19411)                           = 3351
    gettid()                                = 19411
    gettid()                                = 19411
    gettid()                                = 19411
    gettid()                                = 19411
    gettid()                                = 19411
    gettid()                                = 19411
    prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=4*1024, rlim_max=4*1024}) = 0
    prlimit64(0, RLIMIT_NOFILE, {rlim_cur=4*1024, rlim_max=4*1024}, NULL) = 0
    mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6af0000
    gettid()                                = 19411
    gettid()                                = 19411
    gettid()                                = 19411
    gettid()                                = 19411
    pipe([5, 6])                            = 0
    rt_sigaction(SIGILL, {0xb6e665a9, [], SA_RESTART|SA_SIGINFO|0x4000000}, {0xb6eb05a9, [], SA_RESTART|SA_SIGINFO|0x4000000}, 8) = 0
    rt_sigaction(SIGTRAP, {0xb6e66619, [], SA_RESTART|SA_SIGINFO|0x4000000}, {0xb6eb0619, [], SA_RESTART|SA_SIGINFO|0x4000000}, 8) = 0
    rt_sigaction(SIGFPE, {0xb6e66675, [], SA_RESTART|SA_SIGINFO|0x4000000}, {0xb6eb0675, [], SA_RESTART|SA_SIGINFO|0x4000000}, 8) = 0
    rt_sigaction(SIGBUS, {0xb6e666e5, [], SA_RESTART|SA_SIGINFO|0x4000000}, {0xb6eb06e5, [], SA_RESTART|SA_SIGINFO|0x4000000}, 8) = 0
    rt_sigaction(SIGSEGV, {0xb6e6675d, [], SA_RESTART|SA_SIGINFO|0x4000000}, {0xb6eb075d, [], SA_RESTART|SA_SIGINFO|0x4000000}, 8) = 0
    rt_sigaction(SIGINT, {0xb6e667d5, [], SA_RESTART|SA_SIGINFO|0x4000000}, {0xb6eb07d5, [], SA_RESTART|SA_SIGINFO|0x4000000}, 8) = 0
    rt_sigaction(SIGQUIT, {0xb6e6680d, [], SA_RESTART|SA_SIGINFO|0x4000000}, {0xb6eb080d, [], SA_RESTART|SA_SIGINFO|0x4000000}, 8) = 0
    rt_sigaction(SIGRT_2, {0xb6e66899, [], SA_RESTART|SA_SIGINFO|0x4000000}, {0xb6eb0899, [], SA_RESTART|SA_SIGINFO|0x4000000}, 8) = 0
    rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTART|0x4000000}, {SIG_IGN, [PIPE], SA_RESTART|0x4000000}, 8) = 0
    write(1, "Starting pal_sxs test1 DllTest2\n", 32Starting pal_sxs test1 DllTest2
    ) = 32
    --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x22} ---
    rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
    write(2, "terminate called after throwing "..., 48terminate called after throwing an instance of ') = 48
    write(2, "PAL_SEHException", 16PAL_SEHException)        = 16
    write(2, "'\n", 2'
    )                      = 2
    rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
    tgkill(19411, 19411, SIGABRT)           = 0
    --- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=19411, si_uid=0} ---
    +++ killed by SIGABRT +++
    Aborted
    root@target:/unit-test# 
    root@target:/unit-test# 
    root@target:/unit-test# 
    
    • with GDB (in release build mode):
    (gdb) bt
    #0  main (argc=1, argv=0xbefff724)
        at /work/dotnet/coreclr.git/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/exceptionsxs.cpp:71
    (gdb) 
    #0  main (argc=1, argv=0xbefff724)
        at /work/dotnet/coreclr.git/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/exceptionsxs.cpp:71
    (gdb) info threads
      Id   Target Id         Frame 
    * 1    Thread 0xb6c5c000 (LWP 17701) "paltest_pal_sxs" main (argc=1, argv=0xbefff724)
        at /work/dotnet/coreclr.git/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/exceptionsxs.cpp:71
    (gdb) 
           . . . . . Omission . . . . 
    
    root@target:/unit-test# gdb  ./bin.coreclr.20160531.release/obj/Linux.arm.Release/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/paltest_pal_sxs_test1
    GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
    Copyright (C) 2014 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "arm-linux-gnueabihf".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from ./bin.coreclr.20160531.release/obj/Linux.arm.Release/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/paltest_pal_sxs_test1...done.
    (gdb) step
    The program is not being run.
    (gdb) start
    Temporary breakpoint 1 at 0x8c40: file /work/dotnet/coreclr.git/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/exceptionsxs.cpp, line 71.
    Starting program: /unit-test/bin.coreclr.20160531.release/obj/Linux.arm.Release/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/paltest_pal_sxs_test1 
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
    
    Temporary breakpoint 1, main (argc=1, argv=0xbefff724)
        at /work/dotnet/coreclr.git/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/exceptionsxs.cpp:71
    71  /work/dotnet/coreclr.git/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/exceptionsxs.cpp: No such file or directory.
    (gdb) c
    Continuing.
    PAL_SXS test1 SIGSEGV handler (nil)
    Starting pal_sxs test1 DllTest2
    
    Program received signal SIGSEGV, Segmentation fault.
    operator() (this=<optimized out>, unused=<optimized out>)
        at /work/dotnet/coreclr.git/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/dlltest2.cpp:36
    36  /work/dotnet/coreclr.git/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/dlltest2.cpp: No such file or directory.
    (gdb) c
    Continuing.
    terminate called after throwing an instance of 'PAL_SEHException'
    
    Program received signal SIGABRT, Aborted.
    __libc_do_syscall () at ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:44
    44  ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file or directory.
    (gdb) c
    Continuing.
    
    Program terminated with signal SIGABRT, Aborted.
    The program no longer exists.
    (gdb) c
    The program is not being run.
    (gdb) bt
    No stack.
    (gdb) 
    
  2. myungjoo commented on Jun 1, 2016

    @myungjoo
    ContributorAuthor

    @leemgs Your log is before applying the PR'ed patch, right?

  3. transferred this issue fromdotnet/coreclron Jan 30, 2020
  4. ghost locked as resolved and limited conversation to collaborators on Dec 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions