QEMU user mode still crashes in multi-thread code.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
I compiled the qemu 2.0 release source and find out qemu crashing when emulating multi-thread code in user mode.
I did a little search and found LP:668799 but it is far from now and it is probably not the problem here.
I used program below as the test program:
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void *print_
main()
{
pthread_t thread1, thread2;
const char *message1 = "Thread 1";
const char *message2 = "Thread 2";
int iret1, iret2;
/* Create independent threads each of which will execute function */
iret1 = pthread_create( &thread1, NULL, print_message_
if(iret1)
{
}
iret2 = pthread_create( &thread2, NULL, print_message_
if(iret2)
{
}
printf(
printf(
/* Wait till threads are complete before main continues. Unless we */
/* wait we run the risk of executing an exit which will terminate */
/* the process and all threads before the threads have completed. */
pthread_join( thread1, NULL);
pthread_join( thread2, NULL);
exit(
}
void *print_
{
char *message;
message = (char *) ptr;
printf("%s \n", message);
}
Compiled to i386 and aarch64 object,
and both qemu-i386 and qemu-aarch64 had segmentation faults.
Changed in qemu: | |
status: | Fix Committed → Fix Released |
I think this if bug lp:1098729 which is still open.