summary refs log tree commit diff stats
path: root/results/classifier/105/device/1357206
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/105/device/1357206')
-rw-r--r--results/classifier/105/device/135720681
1 files changed, 81 insertions, 0 deletions
diff --git a/results/classifier/105/device/1357206 b/results/classifier/105/device/1357206
new file mode 100644
index 000000000..170e33d46
--- /dev/null
+++ b/results/classifier/105/device/1357206
@@ -0,0 +1,81 @@
+device: 0.250
+graphic: 0.250
+semantic: 0.202
+mistranslation: 0.199
+instruction: 0.191
+socket: 0.177
+assembly: 0.141
+vnc: 0.131
+network: 0.124
+boot: 0.098
+other: 0.093
+KVM: 0.071
+
+QEMU user mode still crashes in multi-thread code.
+
+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_message_function( void *ptr );
+
+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_function, (void*) message1);
+     if(iret1)
+     {
+         fprintf(stderr,"Error - pthread_create() return code: %d\n",iret1);
+         exit(EXIT_FAILURE);
+     }
+
+     iret2 = pthread_create( &thread2, NULL, print_message_function, (void*) message2);
+     if(iret2)
+     {
+         fprintf(stderr,"Error - pthread_create() return code: %d\n",iret2);
+         exit(EXIT_FAILURE);
+     }
+
+     printf("pthread_create() for thread 1 returns: %d\n",iret1);
+     printf("pthread_create() for thread 2 returns: %d\n",iret2);
+
+     /* 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(EXIT_SUCCESS);
+}
+
+void *print_message_function( void *ptr )
+{
+     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.
+
+I think this if bug lp:1098729 which is still open.
+
+
+
+
+This test case now works for me, so I think we have resolved the bug that was showing up here.
+
+