#0 0x000000005805e839 in do_syscall_WRK () #1 0x000000005805e91d in vgPlain_do_syscall (sysno=sysno@entry=62, a1=, a2=a2@entry=5, a3=a3@entry=0, a4=a4@entry=0, a5=a5@entry=0, a6=0, a7=0, a8=0) at m_syscall.c:931 926: # if defined(VGP_x86_linux) 927: UWord val = do_syscall_WRK(sysno,a1,a2,a3,a4,a5,a6); 928: return VG_(mk_SysRes_x86_linux)( val ); 929: 930: # elif defined(VGP_amd64_linux) 931: UWord val = do_syscall_WRK(sysno,a1,a2,a3,a4,a5,a6); 932: return VG_(mk_SysRes_amd64_linux)( val ); 933: 934: # elif defined(VGP_ppc32_linux) 935: ULong ret = do_syscall_WRK(sysno,a1,a2,a3,a4,a5,a6); 936: UInt val = (UInt)(ret>>32); #2 0x0000000058049532 in vgPlain_kill (pid=, signo=signo@entry=5) at m_libcsignal.c:350 345: 346: 347: Int VG_(kill)( Int pid, Int signo ) 348: { 349: # if defined(VGO_linux) || defined(VGO_solaris) 350: SysRes res = VG_(do_syscall2)(__NR_kill, pid, signo); 351: # elif defined(VGO_darwin) 352: SysRes res = VG_(do_syscall3)(__NR_kill, 353: pid, signo, 1/*posix-compliant*/); 354: # else 355: # error "Unsupported OS" #3 0x000000005805ba10 in vgPlain_kill_self (sigNo=5) at m_signals.c:1572 1567: 1568: VG_(sigemptyset)(&mask); 1569: VG_(sigaddset)(&mask, sigNo); 1570: VG_(sigprocmask)(VKI_SIG_UNBLOCK, &mask, &origmask); 1571: 1572: r = VG_(kill)(VG_(getpid)(), sigNo); 1573: # if !defined(VGO_darwin) 1574: /* This sometimes fails with EPERM on Darwin. I don't know why. */ 1575: vg_assert(r == 0); 1576: # endif 1577: #4 0x000000005804a7ce in shutdown_actions_NORETURN (tid=1, tids_schedretcode=VgSrc_FatalSig) at m_main.c:2207 2202: break; /* what the hell :) */ 2203: 2204: case VgSrc_FatalSig: 2205: /* We were killed by a fatal signal, so replicate the effect */ 2206: vg_assert(VG_(threads)[tid].os_state.fatalsig != 0); 2207: VG_(kill_self)(VG_(threads)[tid].os_state.fatalsig); 2208: /* we shouldn't be alive at this point. But VG_(kill_self) 2209: sometimes fails with EPERM on Darwin, for unclear reasons. */ 2210: # if defined(VGO_darwin) 2211: VG_(debugLog)(0, "main", "VG_(kill_self) failed. Exiting normally.\n"); 2212: VG_(exit)(0); /* bogus, but we really need to exit now */ #5 0x00000000580aee94 in run_a_thread_NORETURN (tidW=1) at m_syswrap/syswrap-linux.c:203 198: tid); 199: 200: /* We are the last one standing. Keep hold of the lock and 201: carry on to show final tool results, then exit the entire system. 202: Use the continuation pointer set at startup in m_main. */ 203: ( * VG_(address_of_m_main_shutdown_actions_NORETURN) ) (tid, src); 204: } else { 205: 206: VG_(debugLog)(1, "syswrap-linux", 207: "run_a_thread_NORETURN(tid=%u): " 208: "not last one standing\n", #6 0x0000000000000000 in ?? ()