Review request: 8010151 : nsk/regression/b6653214 fails "assert(snapshot != NULL) failed: Worker should not be started"

Zhengyu Gu zhengyu.gu at oracle.com
Thu Apr 4 07:48:30 PDT 2013


Yes. There are more case in memTracker.hpp, I am fixing them also.

Thanks,

-Zhengyu

On 4/4/2013 10:08 AM, Daniel D. Daugherty wrote:
> The comment from Coleen about volatile made me curious so I
> looked in src/share/vm/runtime/thread.hpp:
>
>   inline void         set_recorder(MemRecorder* rc) { _recorder = 
> (volatile MemRecorder*)rc; }
>   volatile MemRecorder* _recorder;
>
> Does her comment also apply to the '_recorder' field? Based on the
> cast in set_recorder(), I think so...
>
> Dan
>
>
>
> On 4/3/13 4:21 PM, Zhengyu Gu wrote:
>> Thanks for pointing it out. Yes, it should be a volatile pointer.
>>
>> -Zhengyu
>>
>> On 4/3/2013 2:40 PM, Coleen Phillimore wrote:
>>>
>>> Is the _snapshot volatile or what it points to is volatile? The code 
>>> you have is what it points to.
>>>
>>> I think you want:
>>>
>>> *!    static_   _MemSnapshot*   volatile  _snapshot;*
>>>
>>> Coleen
>>>
>>> On 04/03/2013 01:59 PM, Zhengyu Gu wrote:
>>>> The assertion appears due to snapshot variable still is not visible 
>>>> to worker thread, so make snapshot volatile.
>>>>
>>>> NMT creates snapshot before starting NMT worker thread and the 
>>>> snapshot is released by worker thread during shutdown, so the 
>>>> assertion should not fail. I can not reproduce the problem 
>>>> with/without volatile modifier.
>>>>
>>>>
>>>> Bug: http://bugs.sun.com/view_bug.do?bug_id=8010151
>>>> Webrev: http://cr.openjdk.java.net/~zgu/8010151/webrev.00/ 
>>>> <http://cr.openjdk.java.net/%7Ezgu/8010151/webrev.00/>
>>>>
>>>> Test:
>>>>   nsk/regression/b6653214  on Windows x64
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> -Zhengyu
>>>>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20130404/b2fa6913/attachment-0001.html 


More information about the hotspot-runtime-dev mailing list