Re: [drlvm][build-alert] do I need to rollback H3413?
I agree. On 3/27/07, Pavel Rebriy <[EMAIL PROTECTED]> wrote: Yeah, you are right. Need to remove this assert. On 27/03/07, Gregory Shimansky <[EMAIL PROTECTED]> wrote: > > Pavel Rebriy wrote: > > I created a JIRA HARMONY-3504 [1] about ThreadGroupTest failure and > > attached > > a fixing patch. > > I looked at the patch in HARMONY-3504 and I don't quite like it. It > changes the following assertion > > assert(tm_native_thread->request > 0); > > to > > assert(tm_native_thread->request > 0 || > tm_native_thread->safepoint_callback == NULL); > > The first version check the condition atomically, and doesn't contain a > race condtion. But the 2nd version may contain a race condition. You > need to check that either 1st or 2nd condition is true. > > But it may happen that while checking 1st condition only the 2nd is > true, and while checking the 2nd condition, only 1st is true. So this > assertion will fail while the whole condition stays true all the time. > If it is not possible to check the whole condition atomically, probably > it is necessary to remove this assertion entirely. > > > [1] https://issues.apache.org/jira/browse/HARMONY-3504 > > > > On 27/03/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: > >> > >> On 3/27/07, Peter Novodvorsky <[EMAIL PROTECTED]> wrote: > >> > Hello, > >> > > >> > Thanks for the log, Vladimir, I'll look at the bug. From my point of > >> > view we shouldn't rollback 3413, but we should try to fix it right > >> > now instead. > >> > >> Of cause, it is match better than rollback if it requires not too match > >> time... > > -- > Gregory > > -- Best regards, Pavel Rebriy
Re: [drlvm][build-alert] do I need to rollback H3413?
Yeah, you are right. Need to remove this assert. On 27/03/07, Gregory Shimansky <[EMAIL PROTECTED]> wrote: Pavel Rebriy wrote: > I created a JIRA HARMONY-3504 [1] about ThreadGroupTest failure and > attached > a fixing patch. I looked at the patch in HARMONY-3504 and I don't quite like it. It changes the following assertion assert(tm_native_thread->request > 0); to assert(tm_native_thread->request > 0 || tm_native_thread->safepoint_callback == NULL); The first version check the condition atomically, and doesn't contain a race condtion. But the 2nd version may contain a race condition. You need to check that either 1st or 2nd condition is true. But it may happen that while checking 1st condition only the 2nd is true, and while checking the 2nd condition, only 1st is true. So this assertion will fail while the whole condition stays true all the time. If it is not possible to check the whole condition atomically, probably it is necessary to remove this assertion entirely. > [1] https://issues.apache.org/jira/browse/HARMONY-3504 > > On 27/03/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: >> >> On 3/27/07, Peter Novodvorsky <[EMAIL PROTECTED]> wrote: >> > Hello, >> > >> > Thanks for the log, Vladimir, I'll look at the bug. From my point of >> > view we shouldn't rollback 3413, but we should try to fix it right >> > now instead. >> >> Of cause, it is match better than rollback if it requires not too match >> time... -- Gregory -- Best regards, Pavel Rebriy
Re: [drlvm][build-alert] do I need to rollback H3413?
Pavel Rebriy wrote: I created a JIRA HARMONY-3504 [1] about ThreadGroupTest failure and attached a fixing patch. I looked at the patch in HARMONY-3504 and I don't quite like it. It changes the following assertion assert(tm_native_thread->request > 0); to assert(tm_native_thread->request > 0 || tm_native_thread->safepoint_callback == NULL); The first version check the condition atomically, and doesn't contain a race condtion. But the 2nd version may contain a race condition. You need to check that either 1st or 2nd condition is true. But it may happen that while checking 1st condition only the 2nd is true, and while checking the 2nd condition, only 1st is true. So this assertion will fail while the whole condition stays true all the time. If it is not possible to check the whole condition atomically, probably it is necessary to remove this assertion entirely. [1] https://issues.apache.org/jira/browse/HARMONY-3504 On 27/03/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: On 3/27/07, Peter Novodvorsky <[EMAIL PROTECTED]> wrote: > Hello, > > Thanks for the log, Vladimir, I'll look at the bug. From my point of > view we shouldn't rollback 3413, but we should try to fix it right > now instead. Of cause, it is match better than rollback if it requires not too match time... -- Gregory
Re: [drlvm][build-alert] do I need to rollback H3413?
You're welcome! On 27/03/07, Elena Semukhina <[EMAIL PROTECTED]> wrote: I see the same failure when running DRLVM kernel ThreadRTest in interpreter mode on linux x86. I applied the pacth provided in HARMONY-3504 and it really fixed the issue. The test passed. Thank you! Elena On 3/27/07, Pavel Rebriy <[EMAIL PROTECTED]> wrote: > > I created a JIRA HARMONY-3504 [1] about ThreadGroupTest failure and > attached > a fixing patch. > > [1] https://issues.apache.org/jira/browse/HARMONY-3504 > > On 27/03/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: > > > > On 3/27/07, Peter Novodvorsky <[EMAIL PROTECTED]> wrote: > > > Hello, > > > > > > Thanks for the log, Vladimir, I'll look at the bug. From my point of > > > view we shouldn't rollback 3413, but we should try to fix it right > > > now instead. > > > > Of cause, it is match better than rollback if it requires not too match > > time... > > > > thanks, Vladimir > > > > > > > > Peter. > > > > > > On 3/27/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: > > > > Actually, the test > > > > org.apache.harmony.luni.tests.java.lang.ThreadGroupTestintermittently > > > > failed on DRLVM on 3 my platform with log (below). > > > > > > > > I was able to reproduce this failure on Linux SUSE 9 em64t. This > test > > > > failed ~1 time for 3 runs. > > > > > > > > Thanks, Vladimir > > > > > > > > > > > > trunk> drlvm/trunk/build/lnx_em64t_gcc_debug/deploy/jdk/jre/bin/java > > -version > > > > Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache > Software > > > > Foundation or its licensors, as applicable. > > > > java version "1.5.0" > > > > pre-alpha : not complete or compatible > > > > svn = r522402, (Mar 26 2007), Linux/em64t/gcc 3.3.3, debug build > > > > http://incubator.apache.org/harmony > > > > > > > > trunk> ant - > > Dtest.jre.home=drlvm/trunk/build/lnx_em64t_gcc_debug/deploy/jdk/jre > > > > -Dbuild.module=luni > > > > - Dtest.case=org.apache.harmony.luni.tests.java.lang.ThreadGroupTest > > > > test > > > > > > > > …. > > > > > > > > > > > > run-tests: > > > > [echo] Running LUNI JUnit Tests > > > > [mkdir] Created dir: > > > > /export/users/viv/trunk/cc/projects/classlib/trunk/build/test_report > > > > [junit] Running > > org.apache.harmony.luni.tests.java.lang.ThreadGroupTest > > > > [junit] java: > > > > > > > /export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:486: > > > > jthread_exception_stop: Assertion `tm_native_thread->request > 0' > > > > failed. > > > > [junit] SIGABRT in VM code. > > > > [junit] Stack trace: > > > > [junit] 0: raise (??:-1) > > > > [junit] 1: abort (??:-1) > > > > [junit] 2: new_do_write (??:-1) > > > > [junit] 3: _IO_file_xsputn@@GLIBC_2.2.5 (??:-1) > > > > [junit] 4: ?? (??:-1) > > > > [junit] 5: ?? (??:-1) > > > > [junit] 6: ?? (??:-1) > > > > [junit] 7: free (??:-1) > > > > [junit] 8: __assert_fail (??:-1) > > > > [junit] 9: ?? (??:-1) > > > > [junit] 10: ?? (??:-1) > > > > [junit] 11: hythread_set_safepoint_callback > > > > > > > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_native_suspend.c:420) > > > > [junit] 12: jthread_exception_stop > > > > > > > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:491) > > > > [junit] 13: Java_java_lang_VMThreadManager_stop > > > > > > > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_VMThreadManager.cpp:179) > > > > [junit] 14: > > > > > > java/lang/VMThreadManager.stop(Ljava/lang/Thread;Ljava/lang/Throwable;)I > > > > (VMThreadManager.java:-2) > > > > [junit] 15: java/lang/Thread.stop(Ljava/lang/Throwable;)V > > > > (Thread.java:848) > > > > [junit] 16: java/lang/Thread.stop()V (Thread.java:826) > > > > [junit] 17: java/lang/ThreadGroup.nonsecureStop()V > > > > (ThreadGroup.java:608) > > > > [junit] 18: java/lang/ThreadGroup.stop()V ( ThreadGroup.java > > :341) > > > > [junit] 19: > > > > org/apache/harmony/luni/tests/java/lang/ThreadGroupTest.test_stop()V > > > > (ThreadGroupTest.java:778) > > > > [junit] 20: > > > > > > > java/lang/reflect/VMReflection.invokeMethod(JLjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; > > > > (VMReflection.java:-2) > > > > [junit] 21: > > > > > > > java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; > > > > (Method.java:381) > > > > [junit] 22: junit/framework/TestCase.runTest()V ( > TestCase.java > > :154) > > > > [junit] 23: junit/framework/TestCase.runBare()V ( > TestCase.java > > :127) > > > > [junit] 24: junit/framework/TestResult$1.protect()V > > > > (TestResult.java:106) > > > > [junit] 25: > > > > > > > junit/framework/TestResult.runProtected(Ljunit/framework/Test;Ljunit/framework/Protectable;)V > > > > (TestResult.java:124) > > > >
Re: [drlvm][build-alert] do I need to rollback H3413?
I see the same failure when running DRLVM kernel ThreadRTest in interpreter mode on linux x86. I applied the pacth provided in HARMONY-3504 and it really fixed the issue. The test passed. Thank you! Elena On 3/27/07, Pavel Rebriy <[EMAIL PROTECTED]> wrote: I created a JIRA HARMONY-3504 [1] about ThreadGroupTest failure and attached a fixing patch. [1] https://issues.apache.org/jira/browse/HARMONY-3504 On 27/03/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: > > On 3/27/07, Peter Novodvorsky <[EMAIL PROTECTED]> wrote: > > Hello, > > > > Thanks for the log, Vladimir, I'll look at the bug. From my point of > > view we shouldn't rollback 3413, but we should try to fix it right > > now instead. > > Of cause, it is match better than rollback if it requires not too match > time... > > thanks, Vladimir > > > > > Peter. > > > > On 3/27/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: > > > Actually, the test > > > org.apache.harmony.luni.tests.java.lang.ThreadGroupTestintermittently > > > failed on DRLVM on 3 my platform with log (below). > > > > > > I was able to reproduce this failure on Linux SUSE 9 em64t. This test > > > failed ~1 time for 3 runs. > > > > > > Thanks, Vladimir > > > > > > > > > trunk> drlvm/trunk/build/lnx_em64t_gcc_debug/deploy/jdk/jre/bin/java > -version > > > Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software > > > Foundation or its licensors, as applicable. > > > java version "1.5.0" > > > pre-alpha : not complete or compatible > > > svn = r522402, (Mar 26 2007), Linux/em64t/gcc 3.3.3, debug build > > > http://incubator.apache.org/harmony > > > > > > trunk> ant - > Dtest.jre.home=drlvm/trunk/build/lnx_em64t_gcc_debug/deploy/jdk/jre > > > -Dbuild.module=luni > > > -Dtest.case=org.apache.harmony.luni.tests.java.lang.ThreadGroupTest > > > test > > > > > > …. > > > > > > > > > run-tests: > > > [echo] Running LUNI JUnit Tests > > > [mkdir] Created dir: > > > /export/users/viv/trunk/cc/projects/classlib/trunk/build/test_report > > > [junit] Running > org.apache.harmony.luni.tests.java.lang.ThreadGroupTest > > > [junit] java: > > > > /export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:486: > > > jthread_exception_stop: Assertion `tm_native_thread->request > 0' > > > failed. > > > [junit] SIGABRT in VM code. > > > [junit] Stack trace: > > > [junit] 0: raise (??:-1) > > > [junit] 1: abort (??:-1) > > > [junit] 2: new_do_write (??:-1) > > > [junit] 3: _IO_file_xsputn@@GLIBC_2.2.5 (??:-1) > > > [junit] 4: ?? (??:-1) > > > [junit] 5: ?? (??:-1) > > > [junit] 6: ?? (??:-1) > > > [junit] 7: free (??:-1) > > > [junit] 8: __assert_fail (??:-1) > > > [junit] 9: ?? (??:-1) > > > [junit] 10: ?? (??:-1) > > > [junit] 11: hythread_set_safepoint_callback > > > > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_native_suspend.c:420) > > > [junit] 12: jthread_exception_stop > > > > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:491) > > > [junit] 13: Java_java_lang_VMThreadManager_stop > > > > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_VMThreadManager.cpp:179) > > > [junit] 14: > > > > java/lang/VMThreadManager.stop(Ljava/lang/Thread;Ljava/lang/Throwable;)I > > > (VMThreadManager.java:-2) > > > [junit] 15: java/lang/Thread.stop(Ljava/lang/Throwable;)V > > > (Thread.java:848) > > > [junit] 16: java/lang/Thread.stop()V (Thread.java:826) > > > [junit] 17: java/lang/ThreadGroup.nonsecureStop()V > > > (ThreadGroup.java:608) > > > [junit] 18: java/lang/ThreadGroup.stop()V (ThreadGroup.java > :341) > > > [junit] 19: > > > org/apache/harmony/luni/tests/java/lang/ThreadGroupTest.test_stop()V > > > (ThreadGroupTest.java:778) > > > [junit] 20: > > > > java/lang/reflect/VMReflection.invokeMethod(JLjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; > > > (VMReflection.java:-2) > > > [junit] 21: > > > > java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; > > > (Method.java:381) > > > [junit] 22: junit/framework/TestCase.runTest()V ( TestCase.java > :154) > > > [junit] 23: junit/framework/TestCase.runBare()V ( TestCase.java > :127) > > > [junit] 24: junit/framework/TestResult$1.protect()V > > > (TestResult.java:106) > > > [junit] 25: > > > > junit/framework/TestResult.runProtected(Ljunit/framework/Test;Ljunit/framework/Protectable;)V > > > (TestResult.java:124) > > > [junit] 26: > > > junit/framework/TestResult.run(Ljunit/framework/TestCase;)V > > > (TestResult.java:109) > > > [junit] 27: > > > junit/framework/TestCase.run(Ljunit/framework/TestResult;)V > > > (TestCase.java:118) > > > [junit] 28: > > > > junit/framework/TestSuite.runTest(Ljunit/framework/Test;Ljunit/framewor
Re: [drlvm][build-alert] do I need to rollback H3413?
Thanks, Pavel! On 3/27/07, Pavel Rebriy <[EMAIL PROTECTED]> wrote: I created a JIRA HARMONY-3504 [1] about ThreadGroupTest failure and attached a fixing patch. [1] https://issues.apache.org/jira/browse/HARMONY-3504 On 27/03/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: > > On 3/27/07, Peter Novodvorsky <[EMAIL PROTECTED]> wrote: > > Hello, > > > > Thanks for the log, Vladimir, I'll look at the bug. From my point of > > view we shouldn't rollback 3413, but we should try to fix it right > > now instead. > > Of cause, it is match better than rollback if it requires not too match > time... > > thanks, Vladimir > > > > > Peter. > > > > On 3/27/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: > > > Actually, the test > > > org.apache.harmony.luni.tests.java.lang.ThreadGroupTest intermittently > > > failed on DRLVM on 3 my platform with log (below). > > > > > > I was able to reproduce this failure on Linux SUSE 9 em64t. This test > > > failed ~1 time for 3 runs. > > > > > > Thanks, Vladimir > > > > > > > > > trunk> drlvm/trunk/build/lnx_em64t_gcc_debug/deploy/jdk/jre/bin/java > -version > > > Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software > > > Foundation or its licensors, as applicable. > > > java version "1.5.0" > > > pre-alpha : not complete or compatible > > > svn = r522402, (Mar 26 2007), Linux/em64t/gcc 3.3.3, debug build > > > http://incubator.apache.org/harmony > > > > > > trunk> ant - > Dtest.jre.home=drlvm/trunk/build/lnx_em64t_gcc_debug/deploy/jdk/jre > > > -Dbuild.module=luni > > > -Dtest.case=org.apache.harmony.luni.tests.java.lang.ThreadGroupTest > > > test > > > > > > …. > > > > > > > > > run-tests: > > > [echo] Running LUNI JUnit Tests > > > [mkdir] Created dir: > > > /export/users/viv/trunk/cc/projects/classlib/trunk/build/test_report > > > [junit] Running > org.apache.harmony.luni.tests.java.lang.ThreadGroupTest > > > [junit] java: > > > > /export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:486: > > > jthread_exception_stop: Assertion `tm_native_thread->request > 0' > > > failed. > > > [junit] SIGABRT in VM code. > > > [junit] Stack trace: > > > [junit] 0: raise (??:-1) > > > [junit] 1: abort (??:-1) > > > [junit] 2: new_do_write (??:-1) > > > [junit] 3: _IO_file_xsputn@@GLIBC_2.2.5 (??:-1) > > > [junit] 4: ?? (??:-1) > > > [junit] 5: ?? (??:-1) > > > [junit] 6: ?? (??:-1) > > > [junit] 7: free (??:-1) > > > [junit] 8: __assert_fail (??:-1) > > > [junit] 9: ?? (??:-1) > > > [junit] 10: ?? (??:-1) > > > [junit] 11: hythread_set_safepoint_callback > > > > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_native_suspend.c:420) > > > [junit] 12: jthread_exception_stop > > > > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:491) > > > [junit] 13: Java_java_lang_VMThreadManager_stop > > > > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_VMThreadManager.cpp:179) > > > [junit] 14: > > > > java/lang/VMThreadManager.stop(Ljava/lang/Thread;Ljava/lang/Throwable;)I > > > (VMThreadManager.java:-2) > > > [junit] 15: java/lang/Thread.stop(Ljava/lang/Throwable;)V > > > (Thread.java:848) > > > [junit] 16: java/lang/Thread.stop()V (Thread.java:826) > > > [junit] 17: java/lang/ThreadGroup.nonsecureStop()V > > > (ThreadGroup.java:608) > > > [junit] 18: java/lang/ThreadGroup.stop()V (ThreadGroup.java > :341) > > > [junit] 19: > > > org/apache/harmony/luni/tests/java/lang/ThreadGroupTest.test_stop()V > > > (ThreadGroupTest.java:778) > > > [junit] 20: > > > > java/lang/reflect/VMReflection.invokeMethod(JLjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; > > > (VMReflection.java:-2) > > > [junit] 21: > > > > java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; > > > (Method.java:381) > > > [junit] 22: junit/framework/TestCase.runTest()V (TestCase.java > :154) > > > [junit] 23: junit/framework/TestCase.runBare()V (TestCase.java > :127) > > > [junit] 24: junit/framework/TestResult$1.protect()V > > > (TestResult.java:106) > > > [junit] 25: > > > > junit/framework/TestResult.runProtected(Ljunit/framework/Test;Ljunit/framework/Protectable;)V > > > (TestResult.java:124) > > > [junit] 26: > > > junit/framework/TestResult.run(Ljunit/framework/TestCase;)V > > > (TestResult.java:109) > > > [junit] 27: > > > junit/framework/TestCase.run(Ljunit/framework/TestResult;)V > > > (TestCase.java:118) > > > [junit] 28: > > > > junit/framework/TestSuite.runTest(Ljunit/framework/Test;Ljunit/framework/TestResult;)V > > > (TestSuite.java:208) > > > [junit] 29: > > > junit/framework/TestSuite.run(Ljunit/framework/TestResult;)V > > > (TestSuite.java:203) > > > [junit]
Re: [drlvm][build-alert] do I need to rollback H3413?
I created a JIRA HARMONY-3504 [1] about ThreadGroupTest failure and attached a fixing patch. [1] https://issues.apache.org/jira/browse/HARMONY-3504 On 27/03/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: On 3/27/07, Peter Novodvorsky <[EMAIL PROTECTED]> wrote: > Hello, > > Thanks for the log, Vladimir, I'll look at the bug. From my point of > view we shouldn't rollback 3413, but we should try to fix it right > now instead. Of cause, it is match better than rollback if it requires not too match time... thanks, Vladimir > > Peter. > > On 3/27/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: > > Actually, the test > > org.apache.harmony.luni.tests.java.lang.ThreadGroupTest intermittently > > failed on DRLVM on 3 my platform with log (below). > > > > I was able to reproduce this failure on Linux SUSE 9 em64t. This test > > failed ~1 time for 3 runs. > > > > Thanks, Vladimir > > > > > > trunk> drlvm/trunk/build/lnx_em64t_gcc_debug/deploy/jdk/jre/bin/java -version > > Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software > > Foundation or its licensors, as applicable. > > java version "1.5.0" > > pre-alpha : not complete or compatible > > svn = r522402, (Mar 26 2007), Linux/em64t/gcc 3.3.3, debug build > > http://incubator.apache.org/harmony > > > > trunk> ant - Dtest.jre.home=drlvm/trunk/build/lnx_em64t_gcc_debug/deploy/jdk/jre > > -Dbuild.module=luni > > -Dtest.case=org.apache.harmony.luni.tests.java.lang.ThreadGroupTest > > test > > > > …. > > > > > > run-tests: > > [echo] Running LUNI JUnit Tests > > [mkdir] Created dir: > > /export/users/viv/trunk/cc/projects/classlib/trunk/build/test_report > > [junit] Running org.apache.harmony.luni.tests.java.lang.ThreadGroupTest > > [junit] java: > > /export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:486: > > jthread_exception_stop: Assertion `tm_native_thread->request > 0' > > failed. > > [junit] SIGABRT in VM code. > > [junit] Stack trace: > > [junit] 0: raise (??:-1) > > [junit] 1: abort (??:-1) > > [junit] 2: new_do_write (??:-1) > > [junit] 3: _IO_file_xsputn@@GLIBC_2.2.5 (??:-1) > > [junit] 4: ?? (??:-1) > > [junit] 5: ?? (??:-1) > > [junit] 6: ?? (??:-1) > > [junit] 7: free (??:-1) > > [junit] 8: __assert_fail (??:-1) > > [junit] 9: ?? (??:-1) > > [junit] 10: ?? (??:-1) > > [junit] 11: hythread_set_safepoint_callback > > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_native_suspend.c:420) > > [junit] 12: jthread_exception_stop > > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:491) > > [junit] 13: Java_java_lang_VMThreadManager_stop > > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_VMThreadManager.cpp:179) > > [junit] 14: > > java/lang/VMThreadManager.stop(Ljava/lang/Thread;Ljava/lang/Throwable;)I > > (VMThreadManager.java:-2) > > [junit] 15: java/lang/Thread.stop(Ljava/lang/Throwable;)V > > (Thread.java:848) > > [junit] 16: java/lang/Thread.stop()V (Thread.java:826) > > [junit] 17: java/lang/ThreadGroup.nonsecureStop()V > > (ThreadGroup.java:608) > > [junit] 18: java/lang/ThreadGroup.stop()V (ThreadGroup.java :341) > > [junit] 19: > > org/apache/harmony/luni/tests/java/lang/ThreadGroupTest.test_stop()V > > (ThreadGroupTest.java:778) > > [junit] 20: > > java/lang/reflect/VMReflection.invokeMethod(JLjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; > > (VMReflection.java:-2) > > [junit] 21: > > java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; > > (Method.java:381) > > [junit] 22: junit/framework/TestCase.runTest()V (TestCase.java :154) > > [junit] 23: junit/framework/TestCase.runBare()V (TestCase.java :127) > > [junit] 24: junit/framework/TestResult$1.protect()V > > (TestResult.java:106) > > [junit] 25: > > junit/framework/TestResult.runProtected(Ljunit/framework/Test;Ljunit/framework/Protectable;)V > > (TestResult.java:124) > > [junit] 26: > > junit/framework/TestResult.run(Ljunit/framework/TestCase;)V > > (TestResult.java:109) > > [junit] 27: > > junit/framework/TestCase.run(Ljunit/framework/TestResult;)V > > (TestCase.java:118) > > [junit] 28: > > junit/framework/TestSuite.runTest(Ljunit/framework/Test;Ljunit/framework/TestResult;)V > > (TestSuite.java:208) > > [junit] 29: > > junit/framework/TestSuite.run(Ljunit/framework/TestResult;)V > > (TestSuite.java:203) > > [junit] 30: > > org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.run()V > > (JUnitTestRunner.java:297) > > [junit] 31: > > org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.launch(Lorg/apache/tools/ant/taskdefs/optional/junit/JUnitTest;Ljava/util/Properties;)I > > (JUnitTestRunner.java:672) >
Re: [drlvm][build-alert] do I need to rollback H3413?
On 3/27/07, Peter Novodvorsky <[EMAIL PROTECTED]> wrote: Hello, Thanks for the log, Vladimir, I'll look at the bug. From my point of view we shouldn't rollback 3413, but we should try to fix it right now instead. Of cause, it is match better than rollback if it requires not too match time... thanks, Vladimir Peter. On 3/27/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: > Actually, the test > org.apache.harmony.luni.tests.java.lang.ThreadGroupTest intermittently > failed on DRLVM on 3 my platform with log (below). > > I was able to reproduce this failure on Linux SUSE 9 em64t. This test > failed ~1 time for 3 runs. > > Thanks, Vladimir > > > trunk> drlvm/trunk/build/lnx_em64t_gcc_debug/deploy/jdk/jre/bin/java -version > Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software > Foundation or its licensors, as applicable. > java version "1.5.0" > pre-alpha : not complete or compatible > svn = r522402, (Mar 26 2007), Linux/em64t/gcc 3.3.3, debug build > http://incubator.apache.org/harmony > > trunk> ant -Dtest.jre.home=drlvm/trunk/build/lnx_em64t_gcc_debug/deploy/jdk/jre > -Dbuild.module=luni > -Dtest.case=org.apache.harmony.luni.tests.java.lang.ThreadGroupTest > test > > …. > > > run-tests: > [echo] Running LUNI JUnit Tests > [mkdir] Created dir: > /export/users/viv/trunk/cc/projects/classlib/trunk/build/test_report > [junit] Running org.apache.harmony.luni.tests.java.lang.ThreadGroupTest > [junit] java: > /export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:486: > jthread_exception_stop: Assertion `tm_native_thread->request > 0' > failed. > [junit] SIGABRT in VM code. > [junit] Stack trace: > [junit] 0: raise (??:-1) > [junit] 1: abort (??:-1) > [junit] 2: new_do_write (??:-1) > [junit] 3: _IO_file_xsputn@@GLIBC_2.2.5 (??:-1) > [junit] 4: ?? (??:-1) > [junit] 5: ?? (??:-1) > [junit] 6: ?? (??:-1) > [junit] 7: free (??:-1) > [junit] 8: __assert_fail (??:-1) > [junit] 9: ?? (??:-1) > [junit] 10: ?? (??:-1) > [junit] 11: hythread_set_safepoint_callback > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_native_suspend.c:420) > [junit] 12: jthread_exception_stop > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:491) > [junit] 13: Java_java_lang_VMThreadManager_stop > (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_VMThreadManager.cpp:179) > [junit] 14: > java/lang/VMThreadManager.stop(Ljava/lang/Thread;Ljava/lang/Throwable;)I > (VMThreadManager.java:-2) > [junit] 15: java/lang/Thread.stop(Ljava/lang/Throwable;)V > (Thread.java:848) > [junit] 16: java/lang/Thread.stop()V (Thread.java:826) > [junit] 17: java/lang/ThreadGroup.nonsecureStop()V > (ThreadGroup.java:608) > [junit] 18: java/lang/ThreadGroup.stop()V (ThreadGroup.java:341) > [junit] 19: > org/apache/harmony/luni/tests/java/lang/ThreadGroupTest.test_stop()V > (ThreadGroupTest.java:778) > [junit] 20: > java/lang/reflect/VMReflection.invokeMethod(JLjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; > (VMReflection.java:-2) > [junit] 21: > java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; > (Method.java:381) > [junit] 22: junit/framework/TestCase.runTest()V (TestCase.java:154) > [junit] 23: junit/framework/TestCase.runBare()V (TestCase.java:127) > [junit] 24: junit/framework/TestResult$1.protect()V > (TestResult.java:106) > [junit] 25: > junit/framework/TestResult.runProtected(Ljunit/framework/Test;Ljunit/framework/Protectable;)V > (TestResult.java:124) > [junit] 26: > junit/framework/TestResult.run(Ljunit/framework/TestCase;)V > (TestResult.java:109) > [junit] 27: > junit/framework/TestCase.run(Ljunit/framework/TestResult;)V > (TestCase.java:118) > [junit] 28: > junit/framework/TestSuite.runTest(Ljunit/framework/Test;Ljunit/framework/TestResult;)V > (TestSuite.java:208) > [junit] 29: > junit/framework/TestSuite.run(Ljunit/framework/TestResult;)V > (TestSuite.java:203) > [junit] 30: > org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.run()V > (JUnitTestRunner.java:297) > [junit] 31: > org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.launch(Lorg/apache/tools/ant/taskdefs/optional/junit/JUnitTest;Ljava/util/Properties;)I > (JUnitTestRunner.java:672) > [junit] 32: > org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.main([Ljava/lang/String;)V > (JUnitTestRunner.java:567) > [junit] > [junit] Test org.apache.harmony.luni.tests.java.lang.ThreadGroupTest FAILED > > > > On 3/27/07, Weldon Washburn <[EMAIL PROTECTED]> wrote: > > Thanks for the info. I won't do a rollback of 3413 unless someone else sees > > the same failure and
Re: [drlvm][build-alert] do I need to rollback H3413?
Hello, Thanks for the log, Vladimir, I'll look at the bug. From my point of view we shouldn't rollback 3413, but we should try to fix it right now instead. Peter. On 3/27/07, Vladimir Ivanov <[EMAIL PROTECTED]> wrote: Actually, the test org.apache.harmony.luni.tests.java.lang.ThreadGroupTest intermittently failed on DRLVM on 3 my platform with log (below). I was able to reproduce this failure on Linux SUSE 9 em64t. This test failed ~1 time for 3 runs. Thanks, Vladimir trunk> drlvm/trunk/build/lnx_em64t_gcc_debug/deploy/jdk/jre/bin/java -version Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable. java version "1.5.0" pre-alpha : not complete or compatible svn = r522402, (Mar 26 2007), Linux/em64t/gcc 3.3.3, debug build http://incubator.apache.org/harmony trunk> ant -Dtest.jre.home=drlvm/trunk/build/lnx_em64t_gcc_debug/deploy/jdk/jre -Dbuild.module=luni -Dtest.case=org.apache.harmony.luni.tests.java.lang.ThreadGroupTest test …. run-tests: [echo] Running LUNI JUnit Tests [mkdir] Created dir: /export/users/viv/trunk/cc/projects/classlib/trunk/build/test_report [junit] Running org.apache.harmony.luni.tests.java.lang.ThreadGroupTest [junit] java: /export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:486: jthread_exception_stop: Assertion `tm_native_thread->request > 0' failed. [junit] SIGABRT in VM code. [junit] Stack trace: [junit] 0: raise (??:-1) [junit] 1: abort (??:-1) [junit] 2: new_do_write (??:-1) [junit] 3: _IO_file_xsputn@@GLIBC_2.2.5 (??:-1) [junit] 4: ?? (??:-1) [junit] 5: ?? (??:-1) [junit] 6: ?? (??:-1) [junit] 7: free (??:-1) [junit] 8: __assert_fail (??:-1) [junit] 9: ?? (??:-1) [junit] 10: ?? (??:-1) [junit] 11: hythread_set_safepoint_callback (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_native_suspend.c:420) [junit] 12: jthread_exception_stop (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:491) [junit] 13: Java_java_lang_VMThreadManager_stop (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_VMThreadManager.cpp:179) [junit] 14: java/lang/VMThreadManager.stop(Ljava/lang/Thread;Ljava/lang/Throwable;)I (VMThreadManager.java:-2) [junit] 15: java/lang/Thread.stop(Ljava/lang/Throwable;)V (Thread.java:848) [junit] 16: java/lang/Thread.stop()V (Thread.java:826) [junit] 17: java/lang/ThreadGroup.nonsecureStop()V (ThreadGroup.java:608) [junit] 18: java/lang/ThreadGroup.stop()V (ThreadGroup.java:341) [junit] 19: org/apache/harmony/luni/tests/java/lang/ThreadGroupTest.test_stop()V (ThreadGroupTest.java:778) [junit] 20: java/lang/reflect/VMReflection.invokeMethod(JLjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (VMReflection.java:-2) [junit] 21: java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Method.java:381) [junit] 22: junit/framework/TestCase.runTest()V (TestCase.java:154) [junit] 23: junit/framework/TestCase.runBare()V (TestCase.java:127) [junit] 24: junit/framework/TestResult$1.protect()V (TestResult.java:106) [junit] 25: junit/framework/TestResult.runProtected(Ljunit/framework/Test;Ljunit/framework/Protectable;)V (TestResult.java:124) [junit] 26: junit/framework/TestResult.run(Ljunit/framework/TestCase;)V (TestResult.java:109) [junit] 27: junit/framework/TestCase.run(Ljunit/framework/TestResult;)V (TestCase.java:118) [junit] 28: junit/framework/TestSuite.runTest(Ljunit/framework/Test;Ljunit/framework/TestResult;)V (TestSuite.java:208) [junit] 29: junit/framework/TestSuite.run(Ljunit/framework/TestResult;)V (TestSuite.java:203) [junit] 30: org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.run()V (JUnitTestRunner.java:297) [junit] 31: org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.launch(Lorg/apache/tools/ant/taskdefs/optional/junit/JUnitTest;Ljava/util/Properties;)I (JUnitTestRunner.java:672) [junit] 32: org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.main([Ljava/lang/String;)V (JUnitTestRunner.java:567) [junit] [junit] Test org.apache.harmony.luni.tests.java.lang.ThreadGroupTest FAILED On 3/27/07, Weldon Washburn <[EMAIL PROTECTED]> wrote: > Thanks for the info. I won't do a rollback of 3413 unless someone else sees > the same failure and reports it to the dev list. > > On 3/26/07, Tony Wu <[EMAIL PROTECTED]> wrote: > > > > Hi Weldon, > > This message indicates that vm crashed when running > > java.lang.ThreadGroupTest. I think we got the last changed date and > > last log according to "svn info" and "svn log" on your local working > > copy, so, H3413 possibly is not the guilty commit. > > > > On 3/27/07, Wel
Re: [drlvm][build-alert] do I need to rollback H3413?
Actually, the test org.apache.harmony.luni.tests.java.lang.ThreadGroupTest intermittently failed on DRLVM on 3 my platform with log (below). I was able to reproduce this failure on Linux SUSE 9 em64t. This test failed ~1 time for 3 runs. Thanks, Vladimir trunk> drlvm/trunk/build/lnx_em64t_gcc_debug/deploy/jdk/jre/bin/java -version Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable. java version "1.5.0" pre-alpha : not complete or compatible svn = r522402, (Mar 26 2007), Linux/em64t/gcc 3.3.3, debug build http://incubator.apache.org/harmony trunk> ant -Dtest.jre.home=drlvm/trunk/build/lnx_em64t_gcc_debug/deploy/jdk/jre -Dbuild.module=luni -Dtest.case=org.apache.harmony.luni.tests.java.lang.ThreadGroupTest test …. run-tests: [echo] Running LUNI JUnit Tests [mkdir] Created dir: /export/users/viv/trunk/cc/projects/classlib/trunk/build/test_report [junit] Running org.apache.harmony.luni.tests.java.lang.ThreadGroupTest [junit] java: /export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:486: jthread_exception_stop: Assertion `tm_native_thread->request > 0' failed. [junit] SIGABRT in VM code. [junit] Stack trace: [junit] 0: raise (??:-1) [junit] 1: abort (??:-1) [junit] 2: new_do_write (??:-1) [junit] 3: _IO_file_xsputn@@GLIBC_2.2.5 (??:-1) [junit] 4: ?? (??:-1) [junit] 5: ?? (??:-1) [junit] 6: ?? (??:-1) [junit] 7: free (??:-1) [junit] 8: __assert_fail (??:-1) [junit] 9: ?? (??:-1) [junit] 10: ?? (??:-1) [junit] 11: hythread_set_safepoint_callback (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_native_suspend.c:420) [junit] 12: jthread_exception_stop (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:491) [junit] 13: Java_java_lang_VMThreadManager_stop (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_VMThreadManager.cpp:179) [junit] 14: java/lang/VMThreadManager.stop(Ljava/lang/Thread;Ljava/lang/Throwable;)I (VMThreadManager.java:-2) [junit] 15: java/lang/Thread.stop(Ljava/lang/Throwable;)V (Thread.java:848) [junit] 16: java/lang/Thread.stop()V (Thread.java:826) [junit] 17: java/lang/ThreadGroup.nonsecureStop()V (ThreadGroup.java:608) [junit] 18: java/lang/ThreadGroup.stop()V (ThreadGroup.java:341) [junit] 19: org/apache/harmony/luni/tests/java/lang/ThreadGroupTest.test_stop()V (ThreadGroupTest.java:778) [junit] 20: java/lang/reflect/VMReflection.invokeMethod(JLjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (VMReflection.java:-2) [junit] 21: java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Method.java:381) [junit] 22: junit/framework/TestCase.runTest()V (TestCase.java:154) [junit] 23: junit/framework/TestCase.runBare()V (TestCase.java:127) [junit] 24: junit/framework/TestResult$1.protect()V (TestResult.java:106) [junit] 25: junit/framework/TestResult.runProtected(Ljunit/framework/Test;Ljunit/framework/Protectable;)V (TestResult.java:124) [junit] 26: junit/framework/TestResult.run(Ljunit/framework/TestCase;)V (TestResult.java:109) [junit] 27: junit/framework/TestCase.run(Ljunit/framework/TestResult;)V (TestCase.java:118) [junit] 28: junit/framework/TestSuite.runTest(Ljunit/framework/Test;Ljunit/framework/TestResult;)V (TestSuite.java:208) [junit] 29: junit/framework/TestSuite.run(Ljunit/framework/TestResult;)V (TestSuite.java:203) [junit] 30: org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.run()V (JUnitTestRunner.java:297) [junit] 31: org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.launch(Lorg/apache/tools/ant/taskdefs/optional/junit/JUnitTest;Ljava/util/Properties;)I (JUnitTestRunner.java:672) [junit] 32: org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.main([Ljava/lang/String;)V (JUnitTestRunner.java:567) [junit] [junit] Test org.apache.harmony.luni.tests.java.lang.ThreadGroupTest FAILED On 3/27/07, Weldon Washburn <[EMAIL PROTECTED]> wrote: Thanks for the info. I won't do a rollback of 3413 unless someone else sees the same failure and reports it to the dev list. On 3/26/07, Tony Wu <[EMAIL PROTECTED]> wrote: > > Hi Weldon, > This message indicates that vm crashed when running > java.lang.ThreadGroupTest. I think we got the last changed date and > last log according to "svn info" and "svn log" on your local working > copy, so, H3413 possibly is not the guilty commit. > > On 3/27/07, Weldon Washburn <[EMAIL PROTECTED]> wrote: > > All, > > > > I don't completely understand the messages that are sent to > > [EMAIL PROTECTED]@apache.org. Below is the first few lines of a message > sent > > recently. It says H3413 is causing build failure. I will rollback if > this > >
Re: [drlvm][build-alert] do I need to rollback H3413?
Thanks for the info. I won't do a rollback of 3413 unless someone else sees the same failure and reports it to the dev list. On 3/26/07, Tony Wu <[EMAIL PROTECTED]> wrote: Hi Weldon, This message indicates that vm crashed when running java.lang.ThreadGroupTest. I think we got the last changed date and last log according to "svn info" and "svn log" on your local working copy, so, H3413 possibly is not the guilty commit. On 3/27/07, Weldon Washburn <[EMAIL PROTECTED]> wrote: > All, > > I don't completely understand the messages that are sent to > [EMAIL PROTECTED]@apache.org. Below is the first few lines of a message sent > recently. It says H3413 is causing build failure. I will rollback if this > is indeed the case. So far, I have been unable to reproduce this failure on > my single CPU 32-bit laptop running winxp servicepack 2. Some questions and > observations: > > 1) > I assume cruise control is only running 32-bit windows at this point. It > seems the alerts emails do not specifically mention win32. They only > mention windows and nothing about 32/64. > > 2) > Is anyone else seeing this failure? If true, is it intermittant? Are you > running on a multiprocessor? > > > BUILD FAILED: > > Ant Error Message: > > C:\cruise\trunk\cc\projects\classlib\trunk\build.xml:167: The following > error occurred while executing this line: > C:\cruise\trunk\cc\projects\classlib\trunk\make\build-test.xml:138: There > were test crashes: > C:\cruise\trunk\cc\projects\classlib\trunk\build\test_report\TEST- > org.apache.harmony.luni.tests.java.lang.ThreadGroupTest.xml > > Date of build: 03/26/2007 10:10:32 > > Time to build: 37 minutes 55 seconds > > Last changed: 03/24/2007 19:55:07 > > Last log entry: H3413, refactor, cleanup of exception safepoint callback > > build, build-test passes on win32 and rhel4.0, gcc 4.0.2 > > > > -- > Weldon Washburn > Intel Enterprise Solutions Software Division > -- Tony Wu China Software Development Lab, IBM -- Weldon Washburn Intel Enterprise Solutions Software Division
Re: [drlvm][build-alert] do I need to rollback H3413?
Hi Weldon, This message indicates that vm crashed when running java.lang.ThreadGroupTest. I think we got the last changed date and last log according to "svn info" and "svn log" on your local working copy, so, H3413 possibly is not the guilty commit. On 3/27/07, Weldon Washburn <[EMAIL PROTECTED]> wrote: All, I don't completely understand the messages that are sent to [EMAIL PROTECTED]@apache.org. Below is the first few lines of a message sent recently. It says H3413 is causing build failure. I will rollback if this is indeed the case. So far, I have been unable to reproduce this failure on my single CPU 32-bit laptop running winxp servicepack 2. Some questions and observations: 1) I assume cruise control is only running 32-bit windows at this point. It seems the alerts emails do not specifically mention win32. They only mention windows and nothing about 32/64. 2) Is anyone else seeing this failure? If true, is it intermittant? Are you running on a multiprocessor? BUILD FAILED: Ant Error Message: C:\cruise\trunk\cc\projects\classlib\trunk\build.xml:167: The following error occurred while executing this line: C:\cruise\trunk\cc\projects\classlib\trunk\make\build-test.xml:138: There were test crashes: C:\cruise\trunk\cc\projects\classlib\trunk\build\test_report\TEST- org.apache.harmony.luni.tests.java.lang.ThreadGroupTest.xml Date of build: 03/26/2007 10:10:32 Time to build: 37 minutes 55 seconds Last changed: 03/24/2007 19:55:07 Last log entry: H3413, refactor, cleanup of exception safepoint callback build, build-test passes on win32 and rhel4.0, gcc 4.0.2 -- Weldon Washburn Intel Enterprise Solutions Software Division -- Tony Wu China Software Development Lab, IBM
