Thank you, David!
Yasumasa, could you, please, send me a patch?
Thanks,
Serguei
On 10/19/17 22:05, David Holmes wrote:
Looks good. (Sorry for the delay.)
Thanks,
David
On 19/10/2017 11:43 PM, Yasumasa Suenaga wrote:
Sorry, I forgot the fix to use OrderAccess::load_acquire() in
Looks good. (Sorry for the delay.)
Thanks,
David
On 19/10/2017 11:43 PM, Yasumasa Suenaga wrote:
Sorry, I forgot the fix to use OrderAccess::load_acquire() in
PerfMemory::is_initialized().
I fixed it in new webrev. Could you review again?
http://cr.openjdk.java.net/~ysuenaga/JDK-8151815/webrev.09/
It looks good to me.
I've filed:
https://bugs.openjdk.java.net/browse/JDK-8189685
need PerfMemory class update and a volatile_static_field support in
VMStructs
Thanks!
Yasumasa
On 2017/10/20 2:49,
Hi Yasumasa,
On 10/19/17 06:43, Yasumasa Suenaga wrote:
Sorry, I
forgot the fix to use OrderAccess::load_acquire() in
PerfMemory::is_initialized().
I fixed it in new webrev. Could you review again?
Sorry, I forgot the fix to use OrderAccess::load_acquire() in
PerfMemory::is_initialized().
I fixed it in new webrev. Could you review again?
http://cr.openjdk.java.net/~ysuenaga/JDK-8151815/webrev.09/
Yasumasa
On 2017/10/19 21:24, David Holmes wrote:
On 19/10/2017 9:44 PM, Yasumasa
On 19/10/2017 9:44 PM, Yasumasa Suenaga wrote:
Hi,
I suggest we leave the volatile off for now and file a RFE to add
volatile_static_field support to VMStructs and update later.
Okay. David or Serguei, could you file it?
I'd suggest to fall back to your previous approach as synchronization
Hi,
I suggest we leave the volatile off for now and file a RFE to add
volatile_static_field support to VMStructs and update later.
Okay. David or Serguei, could you file it?
I'd suggest to fall back to your previous approach as synchronization was not
there
in the first place, and it is
Hi Serguei, Yasumasa,
I suggest we leave the volatile off for now and file a RFE to add
volatile_static_field support to VMStructs and update later.
I don't think trying to introduce locking would be a good idea as it
would likely lead to deadlocks when a crash occurs. This could also be
Hi Yasumasa,
I see the problem.
As it occurred making these variables volatile is non-trivial.
But thank you a lot for trying!
I'd suggest to fall back to your previous approach as synchronization
was not there
in the first place, and it is not a part of the original issue you are
trying to
Sorry, I have mistake.
But I cannot compile yet:
diff -r 3e7702cd3f19 src/hotspot/share/runtime/vmStructs.cpp
--- a/src/hotspot/share/runtime/vmStructs.cpp Thu Sep 07 15:40:20 2017 +0200
+++ b/src/hotspot/share/runtime/vmStructs.cpp Thu Oct 19 12:21:11 2017 +0900
@@ -578,7 +578,7 @@
Hi Serguei,
Would the below work? :
578 static_field(PerfMemory, _initialized, volatile jint)
\
It'd be similar to this non-static case:
362 nonstatic_field(ConstantPoolCacheEntry, _f1,
volatile Metadata*)
On 10/18/17 06:51, Yasumasa Suenaga wrote:
Hi David, Serguei,
because as soon as we have checked is_usable() and abort happening in
another thread may have changed that by calling destroy.
This code is basically broken if we hit an abort path instead of a
normal VM shutdown.
Can we use
On 10/18/17 05:34, David Holmes wrote:
Just to clarify ...
On 18/10/2017 10:28 PM, David Holmes wrote:
On 18/10/2017 8:26 PM, serguei.spit...@oracle.com wrote:
Hi David,
Thank you for jumping to this review and helping Yasumasa to sort it
out!
I've just discovered that this issue was
On 10/18/17 05:28, David Holmes wrote:
On 18/10/2017 8:26 PM, serguei.spit...@oracle.com wrote:
Hi David,
Thank you for jumping to this review and helping Yasumasa to sort it
out!
I've just discovered that this issue was already on the table for
several months without a significant progress.
Hi David, Serguei,
because as soon as we have checked is_usable() and abort happening in another
thread may have changed that by calling destroy.
This code is basically broken if we hit an abort path instead of a normal VM
shutdown.
Can we use MutexLocker for initialize() and destroy() ?
Just to clarify ...
On 18/10/2017 10:28 PM, David Holmes wrote:
On 18/10/2017 8:26 PM, serguei.spit...@oracle.com wrote:
Hi David,
Thank you for jumping to this review and helping Yasumasa to sort it out!
I've just discovered that this issue was already on the table for
several months
On 18/10/2017 8:26 PM, serguei.spit...@oracle.com wrote:
Hi David,
Thank you for jumping to this review and helping Yasumasa to sort it out!
I've just discovered that this issue was already on the table for
several months without a significant progress.
On 10/18/17 02:48, David Holmes
Hi David,
Thank you for jumping to this review and helping Yasumasa to sort
it out!
I've just discovered that this issue was already on the table for
several months without a significant progress.
On 10/18/17 02:48, David Holmes wrote:
On 18/10/2017 7:43 PM, Yasumasa Suenaga wrote:
Hi Serguei,
Should we use OrderAccess::load_acquire() to check _initialized and
_destroyed?
Yes for _initialized.
IMHO it do not need because initialize / destroy of PerfMemory seem not
to be on multi-threaded.
Initialization would normally
Hi Serguei
On 18/10/2017 7:25 PM, serguei.spit...@oracle.com wrote:
Hi Yasumasa,
Sorry for a quite late participation.
I looked at the previous webrevs and think that this one is much better.
Some concern is if we need any kind of synchronization here, e.g. CAS.
But it depends on the
Hi Serguei,
Should we use OrderAccess::load_acquire() to check _initialized and
_destroyed?
IMHO it do not need because initialize / destroy of PerfMemory seem not to
be on multi-threaded.
Thanks,
Yasumasa.
2017/10/18 午後6:25 "serguei.spit...@oracle.com" :
> Hi
Hi Yasumasa,
Sorry for a quite late participation.
I looked at the previous webrevs and think that this one is much
better.
Some concern is if we need any kind of synchronization here, e.g.
CAS.
But it depends on the PerfMemory
Hi David,
Thank you for your comment.
I uploaded new webrev:
http://cr.openjdk.java.net/~ysuenaga/JDK-8151815/webrev.07/
Serguei, please comment about this :-)
Yasumasa
2017-10-18 16:09 GMT+09:00 David Holmes :
> Hi Yasumasa,
>
> On 18/10/2017 4:34 PM, Yasumasa
Hi Yasumasa,
On 18/10/2017 4:34 PM, Yasumasa Suenaga wrote:
Hi David,
I don't think we need the extra fields, just ensure the existing ones can't
be accessed (other than by the tools) after destroy is called.
I've added PerfMemory::is_useable() to check whether we can access to
PerfMemory.
Hi David,
> I don't think we need the extra fields, just ensure the existing ones can't
> be accessed (other than by the tools) after destroy is called.
I've added PerfMemory::is_useable() to check whether we can access to
PerfMemory.
I think this webrev prevent to access to PerfMemory after
On 18/10/2017 2:27 PM, Yasumasa Suenaga wrote:
Hi David,
2017-10-18 12:55 GMT+09:00 David Holmes :
On 18/10/2017 12:37 PM, Yasumasa Suenaga wrote:
Hi David,
With your changes you no longer null out _prologue so the assertion would
now not fail and we'd proceed to
Hi David,
2017-10-18 12:55 GMT+09:00 David Holmes :
> On 18/10/2017 12:37 PM, Yasumasa Suenaga wrote:
>>
>> Hi David,
>>
>>> With your changes you no longer null out _prologue so the assertion would
>>> now not fail and we'd proceed to access the deleted memory region!
>>
On 18/10/2017 12:37 PM, Yasumasa Suenaga wrote:
Hi David,
With your changes you no longer null out _prologue so the assertion would
now not fail and we'd proceed to access the deleted memory region!
On Linux, PerfMemory::delete_memory_region() does not call munmap()
for PerfMemory.
Perhaps
Hi David,
> With your changes you no longer null out _prologue so the assertion would
> now not fail and we'd proceed to access the deleted memory region!
On Linux, PerfMemory::delete_memory_region() does not call munmap()
for PerfMemory.
> I'm unclear why you no longer clear all the fields
Hi Yasumasa,
By chance we ran into this bug which I analysed yesterday:
https://bugs.openjdk.java.net/browse/JDK-8189390
We hit the assertion:
# Internal Error (/open/src/hotspot/share/runtime/perfMemory.cpp:216),
pid=17874, tid=17875
# assert(_prologue != __null) failed: called before
PING:
Could you review it?
http://cr.openjdk.java.net/~ysuenaga/JDK-8151815/webrev.05/
Thanks,
Yasumasa
On 2017/10/03 13:18, Yasumasa Suenaga wrote:
Hi all,
I added gtest unit test case for this change in new webrev:
http://cr.openjdk.java.net/~ysuenaga/JDK-8151815/webrev.05/
On 22/06/2016 9:40 AM, Yasumasa Suenaga wrote:
Hi all,
Can I add jdk9-fc-request label to JBS?
Bug fixes do not need approval only enhancements.
David
-
This changes has not been reviewed yet.
Thanks,
Yasumasa
2016/03/22 21:24 "Yasumasa Suenaga"
Hi all,
Can I add jdk9-fc-request label to JBS?
This changes has not been reviewed yet.
Thanks,
Yasumasa
2016/03/22 21:24 "Yasumasa Suenaga" :
> PING: Could you review it?
>
> Yasumasa
> 2016/03/14 23:39 "Yasumasa Suenaga" :
>
>> Hi all,
>>
>> When I use
PING: What do you think about this change?
Point of troubleshooting, I want to fix this issue.
Thanks,
Yasumasa
On 2016/05/25 20:58, Yasumasa Suenaga wrote:
Hi Dmitry,
I understand the problem, but I'm concerned of storing pointers to
invalid memory region just for coredump. Sorry!
The
Hi Dmitry,
I understand the problem, but I'm concerned of storing pointers to
invalid memory region just for coredump. Sorry!
The latest webrev [1] holds pointers for PerfMemory in _saved_* fields.
These pointers are valid because they are not unmap'ed.
I think that it is a bug not to parse
Dmitry,
The solution might be in another areas, e.g. print value of performance
counters to hs_err.log on crash.
If so, we have to use native debugger.
For Java developers and troubleshooters, I want to support this feature
with JDK tool.
If we encounter native stack overflow error, we
Hi Dmitry,
On 2016/05/06 21:22, Dmitry Samersoff wrote:
Yasumasa,
I understand the problem, but I'm concerned of storing pointers to
invalid memory region just for coredump. Sorry!
I do not think that it is NOT invalid memory in webrev.02 .
PerfMemory is mmap'ed, and it is not unmap'ed.
In
Yasumasa,
I understand the problem, but I'm concerned of storing pointers to
invalid memory region just for coredump. Sorry!
The solution might be in another areas, e.g. print value of performance
counters to hs_err.log on crash.
-Dmitry
On 2016-05-06 14:42, Yasumasa Suenaga wrote:
> PING:
PING: Have you ever reviewed it?
http://cr.openjdk.java.net/~ysuenaga/JDK-8151815/webrev.02/
I've sent review request to parse core image with JSnap.
If you have unclear point about this change, please tell me.
Thanks,
Yasumasa
On 2016/04/20 21:21, Dmitry Samersoff wrote:
Yasumasa,
Yasumasa,
I need some more time to check what is happening with performance
counters and what side effect this fix can have.
Sorry about it.
-Dmitry
On 2016-04-20 15:14, Yasumasa Suenaga wrote:
> PING: Could you review it?
>
>>http://cr.openjdk.java.net/~ysuenaga/JDK-8151815/webrev.02/
>
PING: Could you review it?
http://cr.openjdk.java.net/~ysuenaga/JDK-8151815/webrev.02/
This changes is based on jdk9/hs-rt.
But I confirmed this patch works fine on jdk9/hs .
Thanks,
Yasumasa
On 2016/04/13 22:22, Yasumasa Suenaga wrote:
Hi Dmitry,
Thank you for your comment.
I
Hi Dmitry,
Thank you for your comment.
I uploaded new webrev. Could you review again?
http://cr.openjdk.java.net/~ysuenaga/JDK-8151815/webrev.02/
Thanks,
Yasumasa
On 2016/04/13 21:41, Dmitry Samersoff wrote:
Yasumasa,
Yes. It's better.
Please place all _saved_* declarations together
Yasumasa,
Yes. It's better.
Please place all _saved_* declarations together and add a comment
explaining what is the purpose of this variables.
-Dmitry
On 2016-04-13 15:20, Yasumasa Suenaga wrote:
> Hi all,
>
> Could you review and sponsor it?
>
>>
Hi all,
Could you review and sponsor it?
http://cr.openjdk.java.net/~ysuenaga/JDK-8151815/webrev.01/
If it is not accepted, I think that we can add new field to PerfMemory for
using in JSnap:
---
diff -r 4823056a5bbd src/share/vm/runtime/perfMemory.cpp
---
Hi Dmitry,
Thanks for your comment.
I uploaded a new webrev. Could you review again?
http://cr.openjdk.java.net/~ysuenaga/JDK-8151815/webrev.01/
On 2016/04/06 0:31, Dmitry Samersoff wrote:
Yasumasa,
1. It's better to change JSnap code to produce meaningful error message
instead of NPE.
I
Yasumasa,
1. It's better to change JSnap code to produce meaningful error message
instead of NPE.
2. We should check that no other consumer of perf counters rely on the
fact it's NULL after call to destroy(). I'm not sure that this part of
the fix is not dangerous.
-Dmitry
On 2016-03-29 15:02,
PING: Could you review it?
Yasumasa
On 2016/03/22 21:24, Yasumasa Suenaga wrote:
PING: Could you review it?
Yasumasa
2016/03/14 23:39 "Yasumasa Suenaga" >:
Hi all,
When I use `jhsdb jsnap` to get PerfCounter from core images, I
PING: Could you review it?
Yasumasa
2016/03/14 23:39 "Yasumasa Suenaga" :
> Hi all,
>
> When I use `jhsdb jsnap` to get PerfCounter from core images, I
> encountered NPE:
> -
> Exception in thread "main" java.lang.NullPointerException
> at
48 matches
Mail list logo