0x00007ffff66bf32c in coroutine_switch (from_=0x7fffbc063900, to_=0x7fffbc063a08, action=COROUTINE_YIELD) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine-ucontext.c:187 187 ret = setjmp(from->env); 188 if (ret == 0) { 191 return ret; coroutine_swap (from=0x7fffbc063900, to=0x7fffbc063a08) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine.c:38 38 switch (ret) { 40 return; 47 } coroutine_yield () at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine.c:73 73 } s2e::kvm::VCPU::coroutineFcn (opaque=0x7fffbc000b70) at /home/darrion/s2e/source/s2e/libs2e/src/s2e-kvm-vcpu.cpp:251 251 while (1) { 252 libcpu_run_all_timers(); 254 assert(env->current_tb == NULL); 257 if (env->kvm_irq != -1) { 272 env->kvm_request_interrupt_window |= buffer->request_interrupt_window; 279 vcpu->m_cpuStateIsPrecise = false; 280 env->exit_request = 0; 281 cpu_x86_exec(env); 282 vcpu->m_cpuStateIsPrecise = true; 295 assert(env->current_tb == NULL); 297 env->exception_index = 0; 298 coroutine_yield(); 0x00007ffff66bf32c in coroutine_switch (from_=0x7fffbc063a08, to_=0x7fffbc063900, action=COROUTINE_YIELD) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine-ucontext.c:187 187 ret = setjmp(from->env); 188 if (ret == 0) { 191 return ret; coroutine_swap (from=0x7fffbc063a08, to=0x7fffbc063900) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine.c:38 38 switch (ret) { 40 return; 47 } coroutine_enter (co=0x7fffbc063900, opaque=0x7fffbc000b70) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine.c:60 60 } s2e::kvm::VCPU::run (this=0x7fffbc000b70, vcpu_fd=35) at /home/darrion/s2e/source/s2e/libs2e/src/s2e-kvm-vcpu.cpp:371 371 if (m_kvm->exiting()) { 380 m_cpuBuffer->exit_reason == KVM_EXIT_IO || m_cpuBuffer->exit_reason == KVM_EXIT_MMIO || 381 m_cpuBuffer->exit_reason == KVM_EXIT_FLUSH_DISK || m_cpuBuffer->exit_reason == KVM_EXIT_SAVE_DEV_STATE || 382 m_cpuBuffer->exit_reason == KVM_EXIT_RESTORE_DEV_STATE || m_cpuBuffer->exit_reason == KVM_EXIT_CLONE_PROCESS; 379 m_handlingKvmCallback = 387 m_cpuBuffer->if_flag = (m_env->mflags & IF_MASK) != 0; 388 m_cpuBuffer->apic_base = m_env->v_apic_base; 389 m_cpuBuffer->cr8 = m_env->v_tpr; 393 m_cpuBuffer->ready_for_interrupt_injection = !m_handlingKvmCallback && m_cpuBuffer->request_interrupt_window && 393 m_cpuBuffer->ready_for_interrupt_injection = !m_handlingKvmCallback && m_cpuBuffer->request_interrupt_window && 396 if (m_cpuBuffer->exit_reason == -1) { 397 if (m_env->halted) { 402 m_cpuBuffer->exit_reason = KVM_EXIT_INTR; 403 m_signalPending = false; 405 } 413 assert(m_cpuBuffer->exit_reason != 1); 423 if (m_cpuBuffer->exit_reason == KVM_EXIT_INTR) { 426 errno = EINTR; 427 ret = -1; 430 assert(ret >= 0 || errno == EINTR); 431 assert(m_cpuBuffer->exit_reason != -1); 433 m_inKvmRun = false; 435 unlock(); 437 return ret; 438 } s2e::kvm::VCPU::sys_ioctl (this=0x7fffbc000b70, fd=35, request=44672, arg1=0) at /home/darrion/s2e/source/s2e/libs2e/src/s2e-kvm-vcpu.cpp:709 709 } ioctl (fd=35, request=44672, arg1=0) at /home/darrion/s2e/source/s2e/libs2e/src/libs2e.cpp:139 139 } kvm_vcpu_ioctl (cpu=0x555558981140, type=44672) at /home/darrion/s2e/source/qemu/accel/kvm/kvm-all.c:2455 2455 if (ret == -1) { 2456 ret = -errno; 2458 return ret; 2459 } kvm_cpu_exec (cpu=0x555558981140) at /home/darrion/s2e/source/qemu/accel/kvm/kvm-all.c:2270 2270 attrs = kvm_arch_post_run(cpu, run); 2273 if (unlikely(have_sigbus_pending)) { 2282 if (run_ret < 0) { 2283 if (run_ret == -EINTR || run_ret == -EAGAIN) { 2285 kvm_eat_signals(cpu); 2286 ret = EXCP_INTERRUPT; 2287 break; 2395 cpu_exec_end(cpu); 2396 qemu_mutex_lock_iothread(); 2398 if (ret < 0) { 2403 atomic_set(&cpu->exit_request, 0); 2404 return ret; 2405 } qemu_kvm_cpu_thread_fn (arg=0x555558981140) at /home/darrion/s2e/source/qemu/cpus.c:1276 1276 if (r == EXCP_DEBUG) { 1280 qemu_wait_io_event(cpu); 1281 } while (!cpu->unplug || cpu_can_run(cpu)); 1274 if (cpu_can_run(cpu)) { 1275 r = kvm_cpu_exec(cpu); 0x00007ffff66bf32c in coroutine_switch (from_=0x7fffbc063900, to_=0x7fffbc063a08, action=COROUTINE_YIELD) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine-ucontext.c:187 187 ret = setjmp(from->env); 188 if (ret == 0) { 191 return ret; coroutine_swap (from=0x7fffbc063900, to=0x7fffbc063a08) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine.c:38 38 switch (ret) { 40 return; 47 } coroutine_yield () at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine.c:73 73 } s2e::kvm::VCPU::coroutineFcn (opaque=0x7fffbc000b70) at /home/darrion/s2e/source/s2e/libs2e/src/s2e-kvm-vcpu.cpp:251 251 while (1) { 252 libcpu_run_all_timers(); 254 assert(env->current_tb == NULL); 257 if (env->kvm_irq != -1) { 272 env->kvm_request_interrupt_window |= buffer->request_interrupt_window; 279 vcpu->m_cpuStateIsPrecise = false; 280 env->exit_request = 0; 281 cpu_x86_exec(env); 282 vcpu->m_cpuStateIsPrecise = true; 295 assert(env->current_tb == NULL); 297 env->exception_index = 0; 298 coroutine_yield(); 0x00007ffff66bf32c in coroutine_switch (from_=0x7fffbc063a08, to_=0x7fffbc063900, action=COROUTINE_YIELD) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine-ucontext.c:187 187 ret = setjmp(from->env); 188 if (ret == 0) { 191 return ret; coroutine_swap (from=0x7fffbc063a08, to=0x7fffbc063900) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine.c:38 38 switch (ret) { 40 return; 47 } coroutine_enter (co=0x7fffbc063900, opaque=0x7fffbc000b70) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine.c:60 60 } s2e::kvm::VCPU::run (this=0x7fffbc000b70, vcpu_fd=35) at /home/darrion/s2e/source/s2e/libs2e/src/s2e-kvm-vcpu.cpp:371 371 if (m_kvm->exiting()) { 380 m_cpuBuffer->exit_reason == KVM_EXIT_IO || m_cpuBuffer->exit_reason == KVM_EXIT_MMIO || 381 m_cpuBuffer->exit_reason == KVM_EXIT_FLUSH_DISK || m_cpuBuffer->exit_reason == KVM_EXIT_SAVE_DEV_STATE || 382 m_cpuBuffer->exit_reason == KVM_EXIT_RESTORE_DEV_STATE || m_cpuBuffer->exit_reason == KVM_EXIT_CLONE_PROCESS; 379 m_handlingKvmCallback = 387 m_cpuBuffer->if_flag = (m_env->mflags & IF_MASK) != 0; 388 m_cpuBuffer->apic_base = m_env->v_apic_base; 389 m_cpuBuffer->cr8 = m_env->v_tpr; 393 m_cpuBuffer->ready_for_interrupt_injection = !m_handlingKvmCallback && m_cpuBuffer->request_interrupt_window && 393 m_cpuBuffer->ready_for_interrupt_injection = !m_handlingKvmCallback && m_cpuBuffer->request_interrupt_window && 396 if (m_cpuBuffer->exit_reason == -1) { 397 if (m_env->halted) { 402 m_cpuBuffer->exit_reason = KVM_EXIT_INTR; 403 m_signalPending = false; 405 } 413 assert(m_cpuBuffer->exit_reason != 1); 423 if (m_cpuBuffer->exit_reason == KVM_EXIT_INTR) { 426 errno = EINTR; 427 ret = -1; 430 assert(ret >= 0 || errno == EINTR); 431 assert(m_cpuBuffer->exit_reason != -1); 433 m_inKvmRun = false; 435 unlock(); 437 return ret; 438 } s2e::kvm::VCPU::sys_ioctl (this=0x7fffbc000b70, fd=35, request=44672, arg1=0) at /home/darrion/s2e/source/s2e/libs2e/src/s2e-kvm-vcpu.cpp:709 709 } ioctl (fd=35, request=44672, arg1=0) at /home/darrion/s2e/source/s2e/libs2e/src/libs2e.cpp:139 139 } kvm_vcpu_ioctl (cpu=0x555558981140, type=44672) at /home/darrion/s2e/source/qemu/accel/kvm/kvm-all.c:2455 2455 if (ret == -1) { 2456 ret = -errno; 2458 return ret; 2459 } kvm_cpu_exec (cpu=0x555558981140) at /home/darrion/s2e/source/qemu/accel/kvm/kvm-all.c:2270 2270 attrs = kvm_arch_post_run(cpu, run); 2273 if (unlikely(have_sigbus_pending)) { 2282 if (run_ret < 0) { 2283 if (run_ret == -EINTR || run_ret == -EAGAIN) { 2285 kvm_eat_signals(cpu); 2286 ret = EXCP_INTERRUPT; 2287 break; 2395 cpu_exec_end(cpu); 2396 qemu_mutex_lock_iothread(); 2398 if (ret < 0) { 2403 atomic_set(&cpu->exit_request, 0); 2404 return ret; 2405 } qemu_kvm_cpu_thread_fn (arg=0x555558981140) at /home/darrion/s2e/source/qemu/cpus.c:1276 1276 if (r == EXCP_DEBUG) { 1280 qemu_wait_io_event(cpu); 1281 } while (!cpu->unplug || cpu_can_run(cpu)); 1274 if (cpu_can_run(cpu)) { 1275 r = kvm_cpu_exec(cpu); 0x00007ffff66bf32c in coroutine_switch (from_=0x7fffbc063900, to_=0x7fffbc063a08, action=COROUTINE_YIELD) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine-ucontext.c:187 187 ret = setjmp(from->env); 188 if (ret == 0) { 191 return ret; coroutine_swap (from=0x7fffbc063900, to=0x7fffbc063a08) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine.c:38 38 switch (ret) { 40 return; 47 } coroutine_yield () at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine.c:73 73 } s2e::kvm::VCPU::coroutineFcn (opaque=0x7fffbc000b70) at /home/darrion/s2e/source/s2e/libs2e/src/s2e-kvm-vcpu.cpp:251 251 while (1) { 252 libcpu_run_all_timers(); 254 assert(env->current_tb == NULL); 257 if (env->kvm_irq != -1) { 272 env->kvm_request_interrupt_window |= buffer->request_interrupt_window; 279 vcpu->m_cpuStateIsPrecise = false; 280 env->exit_request = 0; 281 cpu_x86_exec(env); 282 vcpu->m_cpuStateIsPrecise = true; 295 assert(env->current_tb == NULL); 297 env->exception_index = 0; 298 coroutine_yield(); 0x00007ffff66bf32c in coroutine_switch (from_=0x7fffbc063a08, to_=0x7fffbc063900, action=COROUTINE_YIELD) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine-ucontext.c:187 187 ret = setjmp(from->env); 188 if (ret == 0) { 191 return ret; coroutine_swap (from=0x7fffbc063a08, to=0x7fffbc063900) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine.c:38 38 switch (ret) { 40 return; 47 } coroutine_enter (co=0x7fffbc063900, opaque=0x7fffbc000b70) at /home/darrion/s2e/source/s2e/libcoroutine/src/coroutine.c:60 60 } s2e::kvm::VCPU::run (this=0x7fffbc000b70, vcpu_fd=35) at /home/darrion/s2e/source/s2e/libs2e/src/s2e-kvm-vcpu.cpp:371 371 if (m_kvm->exiting()) { 380 m_cpuBuffer->exit_reason == KVM_EXIT_IO || m_cpuBuffer->exit_reason == KVM_EXIT_MMIO || 381 m_cpuBuffer->exit_reason == KVM_EXIT_FLUSH_DISK || m_cpuBuffer->exit_reason == KVM_EXIT_SAVE_DEV_STATE || 382 m_cpuBuffer->exit_reason == KVM_EXIT_RESTORE_DEV_STATE || m_cpuBuffer->exit_reason == KVM_EXIT_CLONE_PROCESS; 379 m_handlingKvmCallback = 387 m_cpuBuffer->if_flag = (m_env->mflags & IF_MASK) != 0; 388 m_cpuBuffer->apic_base = m_env->v_apic_base; 389 m_cpuBuffer->cr8 = m_env->v_tpr; 393 m_cpuBuffer->ready_for_interrupt_injection = !m_handlingKvmCallback && m_cpuBuffer->request_interrupt_window && 393 m_cpuBuffer->ready_for_interrupt_injection = !m_handlingKvmCallback && m_cpuBuffer->request_interrupt_window && 396 if (m_cpuBuffer->exit_reason == -1) { 397 if (m_env->halted) { 402 m_cpuBuffer->exit_reason = KVM_EXIT_INTR; 403 m_signalPending = false; 405 } 413 assert(m_cpuBuffer->exit_reason != 1); 423 if (m_cpuBuffer->exit_reason == KVM_EXIT_INTR) { 426 errno = EINTR; 427 ret = -1;