Skip to content

add usermode multithreading halt for breakpoints not on main thread#3836

Open
rliebig wants to merge 8 commits into
AFLplusplus:mainfrom
rliebig:usermode-multithreading-support
Open

add usermode multithreading halt for breakpoints not on main thread#3836
rliebig wants to merge 8 commits into
AFLplusplus:mainfrom
rliebig:usermode-multithreading-support

Conversation

@rliebig

@rliebig rliebig commented May 19, 2026

Copy link
Copy Markdown

Companion PR to this.

This adds a single method run_single_cpu which allows resumption of execution of a earlier halted thread that is not the main thread of the application under test. Useful for isolating i.e. parsing threads in multithreaded applications.

@rliebig rliebig force-pushed the usermode-multithreading-support branch from d0c26b7 to d56f601 Compare June 8, 2026 12:11
@domenukk

Copy link
Copy Markdown
Member

wide::CmpEq should now be fixed in main :)

@rliebig

rliebig commented Jun 25, 2026

Copy link
Copy Markdown
Author

wide::CmpEq should now be fixed in main :)

Thanks! I will now work on fixing the remaining build issues :)

Comment on lines +507 to +509
unsafe {
libafl_qemu_run_single_cpu(cpu.raw_ptr());
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, @rliebig
Thank you for this. This could not have come at a better time for our team.
Trying out your changes I noticed you seem to be missing

unsafe {
    QEMU_IS_RUNNING = true;
    libafl_qemu_run_single_cpu(cpu.raw_ptr());
    QEMU_IS_RUNNING = false;
}

Without this the fuzzers crashes the first time a crash is detected.

[2026-07-09T17:54:16Z ERROR libafl_qemu::executor] The fuzzer crashed at addr 0x0... Bug in the fuzzer? Exiting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants