harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Gan <gan...@gmail.com>
Subject Re: About the newest version of lockfree ReferenceQueue
Date Wed, 24 Feb 2010 03:47:42 GMT
Mark,

The new patch is uploaded, which still makes DRLVM crash and I don't
understand the reason.

According to the backtrace,  following static initialization in new
ReferenceQueue caused problem:
		private static final AtomicReferenceFieldUpdater<Node, Node> nextUpdater =
                           AtomicReferenceFieldUpdater
.newUpdater(Node.class, Node.class, "next");

I'm not sure why this happens. Is there a rule that we should NOT use
concurrent package inside java.lang package?

The reduced stack backtrace is attached here:

Stack trace:
  0: 0x00ebaa24  check_pop_frame (exceptions.cpp:337)
  1: 0x00ebac20  exn_rethrow_if_pending() (exceptions.cpp:402)
  2: 0x00f5b9a4  vm_instantiate_cp_string_slow(Class*, unsigned int)
(vm_strings.cpp:602)
  3: 0x00ed0ea7  rth_ldc_ref_helper (jit_runtime_support.cpp:151)
  4: 0x002c3551  stub::unknown
  5: 0x00a40f31  java/lang/ref/ReferenceQueue$Node::<clinit> (()V):
ReferenceQueue.java:35
  6: 0x002c3257   (:-1)
  7: 0x00ec444c  JIT_execute_method_default (ini_iA32.cpp:296)
  8: 0x0030b868  DrlEMImpl::executeMethod(_jmethodID*, jvalue*,
jvalue*) (DrlEMImpl.cpp:523)
  9: 0x00316db4  ExecuteMethod (em_intf.cpp:40)
 10: 0x00ebf7a6  vm_execute_java_method_array (ini.cpp:61)
 11: 0x00e9b3aa  hythread_suspend_enable (hythread_ext.h:605)
 12: 0x00ed1c0d  initializeClass (jit_runtime_support.cpp:1234)
 13: 0x002c3f21  stub::unknown

Thanks a lot!

On Wed, Feb 10, 2010 at 10:32 PM, Mark Hindess
<mark.hindess@googlemail.com> wrote:
>
> In message <201002101235.o1ACZ9MJ007644@d12av02.megacenter.de.ibm.com>,
> Mark Hindess writes:
>>
>> In message <70c070d81002100402m5e80cab1r6e63639a8944b52e@mail.gmail.com>,
>> James Gan writes:
>> >
>> > Mark,
>> >
>> > Thanks a lot!
>> >
>> > It seems that I used the wrong tool to generate the patch. Sorry for
>> > the confusing that I made.
>> >
>> > I'll create a new patch and return here after two weeks.
>>
>> Excellent.  I've managed to make use of the current patch because the
>> changes are widespread enough that you can cut the new code directly out
>> of the patch if you strip the first two characters of each line.
>>
>> You should still make the clean patch since understanding the expected
>> workflow will help speed up the evaluation of future contributions and
>> I'd like to check that I'm making the changes as you intended.
>
> Using your new versions of these two classes causes DRLVM to crash so I
> will have to wait until you have a new patch.
>
> -Mark.
>
>
>
>
>



-- 
Best Regards
James Gan
Current Project: Concurrent Building Block at http://amino-cbbs.sourceforge.net/
Blog: http://ganzhi.blogspot.com

Mime
View raw message