RFR(S): JDK-8042155 Tests for stack guard pages have to be cleaned up

Dmitry Samersoff dmitry.samersoff at oracle.com
Wed May 21 13:42:02 UTC 2014


David,

> Question, memory layout:
>
> On Linux, the process main stack is usually mapped last, and address
> space is potentially randomized.
>
> How is libjvm guaranteed to be mapped after stack ?

libjvm is the only non-system library used by test.  So map layout will
look like (see map.1 attached):

<system library and its dependency from cache>
<all dependency for libjvm.so>
<libjvm.so>

[stack]
[vdso]
[vsyscall]

However, if we turn off cache for some reason (see map.2 attached) - you
are correct, we can't guarantee any particular place for libjvm.so.

-Dmitry


On 2014-05-21 16:30, David Simms wrote:
> 
> Question, memory layout:
> 
> On Linux, the process main stack is usually mapped last, and address
> space is potentially randomized.
> 
> How is libjvm guaranteed to be mapped after stack ?
> 
> On 05/21/2014 02:09 PM, Dmitry Samersoff wrote:
>> Coleen,
>>
>> Please, see updated webrev:
>>
>> http://cr.openjdk.java.net/~dsamersoff/JDK-8042155/webrev.03/
>>
>> only invoke.c is changed (added -Xint and limited recursion depth for
>> second run).
>>
>>>> It's guaranteed. We always have libjvm mapped after stack of initial
>>>> thread.
>>> We do?   Really?
>> Sure! Memory layout *of this test* is always the same. Unless we change
>> JNI_CreateJavaVM() implementation drastically.
>>
>> -Dmitry
>>
>>
>>
>> On 2014-05-20 18:59, Coleen Phillimore wrote:
>>> On 5/20/14, 10:16 AM, Dmitry Samersoff wrote:
>>>> Coleen,
>>>>
>>>>> Is this guaranteed?  How many recursions of do_overflow will this
>>>>> take?   I still prefer my suggestion of limiting the recursions in the
>>>>> second case of do_overfflow so the test doesn't rely on some
>>>>> environmental setting that may not be true.
>>>> It's guaranteed. We always have libjvm mapped after stack of initial
>>>> thread.
>>> We do?   Really?
>>>> Typically we crashes after 136000 recursive calls and it takes 1.071
>>>> sec.
>>>>
>>>> But it's worth to limit recursion in second case. I'll do it.
>>> Yes, please do this!
>>>
>>> Coleen
>>>> -Dmitry
>>>>
>>>>
>>>> On 2014-05-20 17:54, Coleen Phillimore wrote:
>>>>> Dmitry, some comments below.
>>>>>
>>>>> On 5/20/14, 8:04 AM, Dmitry Samersoff wrote:
>>>>>> Coleen,
>>>>>>
>>>>>> Thank you for the review!
>>>>>>
>>>>>> Please see below.
>>>>>>
>>>>>> On 2014-05-20 06:19, Coleen Phillimore wrote:
>>>>>>> I have reviewed the test.  I'm happy that you are fixing this test
>>>>>>> because it's been really problematic, but I have a couple of
>>>>>>> concerns.
>>>>>>> First the java program overflow doesn't allocate anything on the
>>>>>>> stack
>>>>>>> so when it gets compiled it might take a really long time to
>>>>>>> run.  Can
>>>>>>> you pass -Xint in invoke.c in the option string?
>>>>>> Sure. Will do.
>>>>>>
>>>>>>> Second, the second do_overflow() in run_native_overflow must hit
>>>>>>> some
>>>>>>> sort of protected page causing it to terminate, why isn't it
>>>>>>> SIG_ACCERR?   Maybe the second do_overflow should only recurse the
>>>>>>> same
>>>>>>> number of times as the first + some small number so it doesn't keep
>>>>>>> running up the stack (until ???)
>>>>>> Both first and second call to do_overflow can:
>>>>>>
>>>>>> 1. *hit a guard page* - we get SIGSEGV with SIG_ACCERR. (OK in first
>>>>>> case, ERR in second)
>>>>>>
>>>>>> 2. *hit non-mapped page* - we get a SIGSEGV with code other than
>>>>>> SIG_ACCERR. (ERR in first case, OK in second)
>>>>> Is this guaranteed?  How many recursions of do_overflow will this
>>>>> take?   I still prefer my suggestion of limiting the recursions in the
>>>>> second case of do_overfflow so the test doesn't rely on some
>>>>> environmental setting that may not be true.
>>>>>> There is a case that is not covered by this test explicitly - if test
>>>>>> guard page was never been installed and stack starts immediately
>>>>>> after
>>>>>> non-stack page it's possible that native do_verflow overwrite whole
>>>>>> non-stack page and hit another protected page and we get SIGSEGV with
>>>>>> SIG_ACCERR.
>>>>>>
>>>>>> Most probably, hotspot would crash in this case.
>>>>>>
>>>>>> Let me know if you like me to check it explicitly. We can read
>>>>>> /proc/self/map and check what page cause SIGSEGV.
>>>>> This seems more complicated and more likely to be affected by the
>>>>> environment, so I think you should not do this for now.
>>>>>
>>>>> thanks,
>>>>> Coleen
>>>>>
>>>>>> -Dmitry
>>>>>>
>>>>>>
>>>>>>> Thanks,
>>>>>>> Coleen
>>>>>>>
>>>>>>> On 5/14/14, 5:42 AM, Dmitry Samersoff wrote:
>>>>>>>> Dan,
>>>>>>>>
>>>>>>>> Fixed (in-place, press shift-reload)
>>>>>>>>
>>>>>>>> http://cr.openjdk.java.net/~dsamersoff/JDK-8042155/webrev.02/
>>>>>>>>
>>>>>>>>>         One thing I did notice is that some of the error
>>>>>>>>> messages are
>>>>>>>>>         identical which would make it more difficult for someone
>>>>>>>>>         investigating a future failure to know which failure
>>>>>>>>> happened:
>>>>>>>> It shouldn't be an issue because a) test prints banner to stdout
>>>>>>>> with
>>>>>>>> the name of the function it's running b) test terminates after
>>>>>>>> first
>>>>>>>> error
>>>>>>>>
>>>>>>>> -Dmitry
>>>>>>>>
>>>>>>>>
>>>>>>>> On 2014-05-13 21:12, Daniel D. Daugherty wrote:
>>>>>>>>> On 5/13/14 4:18 AM, Dmitry Samersoff wrote:
>>>>>>>>>> Dan,
>>>>>>>>>>
>>>>>>>>>> Thank you for the review!
>>>>>>>>>>
>>>>>>>>>> 1. I use exit(7) to make the situation when the test fails
>>>>>>>>>> because of
>>>>>>>>>> some error condition clear visible.
>>>>>>>>>>
>>>>>>>>>> 2. I'm not sure it's a good idea to pass test if compilation
>>>>>>>>>> fails, but
>>>>>>>>>> I make this changes to handle it the same way as other tests does
>>>>>>>>>>
>>>>>>>>>> 3. Agree with rest of comments. See new webrev.
>>>>>>>>>>
>>>>>>>>>> http://cr.openjdk.java.net/~dsamersoff/JDK-8042155/webrev.02/
>>>>>>>>>        test/runtime/StackGuardPages/DoOverflow.java
>>>>>>>>>         No comments.
>>>>>>>>>
>>>>>>>>> test/runtime/StackGuardPages/invoke.c
>>>>>>>>>         I'm good with most of the changes.
>>>>>>>>>
>>>>>>>>>         One thing I did notice is that some of the error
>>>>>>>>> messages are
>>>>>>>>>         identical which would make it more difficult for someone
>>>>>>>>>         investigating a future failure to know which failure
>>>>>>>>> happened:
>>>>>>>>>
>>>>>>>>>         102     fprintf(stderr, "Test ERROR. Can't load class
>>>>>>>>> DoOverflow\n");
>>>>>>>>>        144     printf("Test ERROR. Can't load class
>>>>>>>>> DoOverflow\n");
>>>>>>>>>             You can make them unique by including the function
>>>>>>>>>             name that generated them
>>>>>>>>>
>>>>>>>>>         I just noticed that some error messages still go to
>>>>>>>>> stdout,
>>>>>>>>>         e.g., line 144 above.
>>>>>>>>>           Looks like this comment from the first round was also
>>>>>>>>> missed
>>>>>>>>>         (the line number is now 243):
>>>>>>>>>
>>>>>>>>>>         line 225: You'll end up here if no arguments are
>>>>>>>>>> passed or
>>>>>>>>>> if the
>>>>>>>>>>             wrong arguments are passed. You should have a better
>>>>>>>>>> usage
>>>>>>>>>>             message, e.g.:
>>>>>>>>>>
>>>>>>>>>>         void usage() {
>>>>>>>>>>             fprintf(stderr, "Usage: invoke
>>>>>>>>>> test_java_overflow\n");
>>>>>>>>>>             fprintf(stderr, "       invoke
>>>>>>>>>> test_native_overflow\n");
>>>>>>>>>>             exit(1);
>>>>>>>>>>         }
>>>>>>>>>       test/runtime/StackGuardPages/testme.sh
>>>>>>>>>         No comments.
>>>>>>>>>
>>>>>>>>> test/runtime/6929067/T.java
>>>>>>>>> test/runtime/6929067/Test6929067.sh
>>>>>>>>> test/runtime/6929067/invoke.c
>>>>>>>>> test/runtime/InitialThreadOverflow/DoOverflow.java
>>>>>>>>> test/runtime/InitialThreadOverflow/invoke.c
>>>>>>>>> test/runtime/InitialThreadOverflow/testme.sh
>>>>>>>>>         No comments on the deleted files.
>>>>>>>>>
>>>>>>>>>      Dan
>>>>>>>>>
>>>>>>>>>> -Dmitry
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 2014-05-13 01:51, Daniel D. Daugherty wrote:
>>>>>>>>>>> On 5/1/14 8:21 AM, Dmitry Samersoff wrote:
>>>>>>>>>>>> Hi Everyone,
>>>>>>>>>>>>
>>>>>>>>>>>> Please, review test changes:
>>>>>>>>>>>>
>>>>>>>>>>>> http://cr.openjdk.java.net/~dsamersoff/JDK-8042155/webrev.01/
>>>>>>>>>>> test/runtime/StackGuardPages/testme.sh
>>>>>>>>>>>         You need to check the command status after running
>>>>>>>>>>> gcc_cmd
>>>>>>>>>>>         and if it is not zero, then gratuitously pass the test.
>>>>>>>>>>>         Jerry made a similar test fix last week:
>>>>>>>>>>>
>>>>>>>>>>> +if [ $? -ne 0 ] ; then
>>>>>>>>>>> +    echo "Compile failed, Ignoring failed compilation and
>>>>>>>>>>> forcing the
>>>>>>>>>>> test to pass"
>>>>>>>>>>> +    exit 0
>>>>>>>>>>> +fi
>>>>>>>>>>>
>>>>>>>>>>>         This will catch the case where a 64-bit Linux test
>>>>>>>>>>> machine
>>>>>>>>>>>         has a compiler, but not the 32-bit build env.
>>>>>>>>>>>
>>>>>>>>>>> test/runtime/StackGuardPages/DoOverflow.java
>>>>>>>>>>>         No comments.
>>>>>>>>>>>
>>>>>>>>>>> test/runtime/StackGuardPages/invoke.c
>>>>>>>>>>>         line 28:  * than detaching from vm thread and overflow
>>>>>>>>>>> stack once
>>>>>>>>>>> again.
>>>>>>>>>>>             Typo?: 'than detaching' -> 'Then we detach'
>>>>>>>>>>>
>>>>>>>>>>>         line 92: (*_jvm)->AttachCurrentThread(_jvm,
>>>>>>>>>>> (void**)&env,
>>>>>>>>>>> NULL);
>>>>>>>>>>>         line 125: (*_jvm)->AttachCurrentThread(_jvm, (void
>>>>>>>>>>> **)&env,
>>>>>>>>>>> NULL);
>>>>>>>>>>>             What happens if the JNI AttachCurrentThread() call
>>>>>>>>>>> fails?
>>>>>>>>>>>
>>>>>>>>>>>         line 96: printf("Test ERROR. Can't load class
>>>>>>>>>>> DoOverflow\n");
>>>>>>>>>>>         line 102: printf("Test ERROR. Can't find method
>>>>>>>>>>> DoOverflow.printIt\n");
>>>>>>>>>>>         line 129: printf("Test ERROR. Can't load class
>>>>>>>>>>> DoOverflow\n");
>>>>>>>>>>>         line 135: printf("Test ERROR. Can't find method
>>>>>>>>>>> DoOverflow.printAlive\n");
>>>>>>>>>>>         line 192: printf("Test ERROR. Can't create JavaVM\n");
>>>>>>>>>>>         line 224: printf("Test ERROR. Unknown parameter
>>>>>>>>>>> should be
>>>>>>>>>>> test_java_overflow or test_native_overflow\n");
>>>>>>>>>>>             Don't errors usually get printed on stderr?
>>>>>>>>>>>
>>>>>>>>>>>         line 106: (*env)->CallStaticVoidMethod(env, class_id,
>>>>>>>>>>> method_id, NULL);
>>>>>>>>>>>             What happens if this call fails? Other than the
>>>>>>>>>>> intentional
>>>>>>>>>>>             StackOverflowError, but wait, you catch and swallow
>>>>>>>>>>> that
>>>>>>>>>>> error...
>>>>>>>>>>>
>>>>>>>>>>>         line 108: (*_jvm)->DetachCurrentThread(_jvm);
>>>>>>>>>>>         line 150   (*_jvm)->DetachCurrentThread(_jvm);
>>>>>>>>>>>             What happens if this call fails?
>>>>>>>>>>>
>>>>>>>>>>>         line 139: (*env)->CallStaticVoidMethod (env, class_id,
>>>>>>>>>>> method_id,
>>>>>>>>>>> NULL);
>>>>>>>>>>>             What happens if this call fails?
>>>>>>>>>>>
>>>>>>>>>>>         line 153: // For non-initial thread we doesn't unmap
>>>>>>>>>>>             Typo: "we doesn't unmap"
>>>>>>>>>>>                -> "we don't unmap"
>>>>>>>>>>>
>>>>>>>>>>>         line 154: ...same SEGV_ACCERR tring to access it
>>>>>>>>>>>             Typos, perhaps: same SEGV signal trying to access it
>>>>>>>>>>>
>>>>>>>>>>>         line 156: // We have no ways to check this, so bail out,
>>>>>>>>>>> marking
>>>>>>>>>>> test as succeded
>>>>>>>>>>>             Typo: 'no ways' -> 'no way'
>>>>>>>>>>>             Typo: 'as succeded' -> 'as succeeded'
>>>>>>>>>>>
>>>>>>>>>>>         line 157: printf("Test OK. ...
>>>>>>>>>>>         line 171: printf("Test OK. ...
>>>>>>>>>>>             Should "OK" be "PASSED"?
>>>>>>>>>>>
>>>>>>>>>>>         line 168: printf("Test FAILED. Stack guard page is still
>>>>>>>>>>> there\n");
>>>>>>>>>>>             Don't failures usually get printed on stderr?
>>>>>>>>>>>
>>>>>>>>>>>         line 225: You'll end up here if no arguments are
>>>>>>>>>>> passed or
>>>>>>>>>>> if the
>>>>>>>>>>>             wrong arguments are passed. You should have a better
>>>>>>>>>>> usage
>>>>>>>>>>>             message, e.g.:
>>>>>>>>>>>
>>>>>>>>>>>         void usage() {
>>>>>>>>>>>             fprintf(stderr, "Usage: invoke
>>>>>>>>>>> test_java_overflow\n");
>>>>>>>>>>>             fprintf(stderr, "       invoke
>>>>>>>>>>> test_native_overflow\n");
>>>>>>>>>>>             exit(1);
>>>>>>>>>>>         }
>>>>>>>>>>>
>>>>>>>>>>>         I noticed that all the exit() calls pass '7'. Why '7'?
>>>>>>>>>>>
>>>>>>>>>>>         Also, why 'return 0' or 'return 1' instead of
>>>>>>>>>>> 'exit(0)' or
>>>>>>>>>>> 'exit(1)'?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> test/runtime/6929067/T.java
>>>>>>>>>>> test/runtime/6929067/Test6929067.sh
>>>>>>>>>>> test/runtime/6929067/invoke.c
>>>>>>>>>>> test/runtime/InitialThreadOverflow/DoOverflow.java
>>>>>>>>>>> test/runtime/InitialThreadOverflow/invoke.c
>>>>>>>>>>> test/runtime/InitialThreadOverflow/testme.sh
>>>>>>>>>>>         OK I can see why you want to combine the two tests.
>>>>>>>>>>>         I'm guessing that 'InitialThreadOverflow' was
>>>>>>>>>>>         derived from the much older '6929067'...
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Dan
>>>>>>>>>>>
>>>>>>>>>>>> The fix combine tests for 6929067 and 8009062 into single, more
>>>>>>>>>>>> sophisticated test.
>>>>>>>>>>>>
>>>>>>>>>>>> -Dmitry
>>>>>>>>>>>>
>>
> 


-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.
-------------- next part --------------
00400000-00402000 r-xp 00000000 08:01 700884111                          /home/dms/ESC/JDK-8042155/hs-rt/hotspot/test/runtime/StackGuardPages/invoke
00601000-00602000 r--p 00001000 08:01 700884111                          /home/dms/ESC/JDK-8042155/hs-rt/hotspot/test/runtime/StackGuardPages/invoke
00602000-00603000 rw-p 00002000 08:01 700884111                          /home/dms/ESC/JDK-8042155/hs-rt/hotspot/test/runtime/StackGuardPages/invoke
00603000-00605000 rw-p 00000000 00:00 0 
00ec9000-00f9d000 rw-p 00000000 00:00 0                                  [heap]
83e00000-8ba80000 rw-p 00000000 00:00 0 
8ba80000-d6a00000 ---p 00000000 00:00 0 
d6a00000-d6b80000 rw-p 00000000 00:00 0 
d6b80000-100000000 ---p 00000000 00:00 0 
100000000-100080000 rw-p 00000000 00:00 0 
100080000-140000000 ---p 00000000 00:00 0 
3000000000-3000022000 r-xp 00000000 08:01 51627957                       /lib64/ld-2.15.so
3000221000-3000222000 r--p 00021000 08:01 51627957                       /lib64/ld-2.15.so
3000222000-3000223000 rw-p 00022000 08:01 51627957                       /lib64/ld-2.15.so
3000223000-3000224000 rw-p 00000000 00:00 0 
3002800000-30029a1000 r-xp 00000000 08:01 51627960                       /lib64/libc-2.15.so
30029a1000-3002ba1000 ---p 001a1000 08:01 51627960                       /lib64/libc-2.15.so
3002ba1000-3002ba5000 r--p 001a1000 08:01 51627960                       /lib64/libc-2.15.so
3002ba5000-3002ba7000 rw-p 001a5000 08:01 51627960                       /lib64/libc-2.15.so
3002ba7000-3002bab000 rw-p 00000000 00:00 0 
3002c00000-3002c02000 r-xp 00000000 08:01 273175                         /lib64/libdl-2.15.so
3002c02000-3002e02000 ---p 00002000 08:01 273175                         /lib64/libdl-2.15.so
3002e02000-3002e03000 r--p 00002000 08:01 273175                         /lib64/libdl-2.15.so
3002e03000-3002e04000 rw-p 00003000 08:01 273175                         /lib64/libdl-2.15.so
3003000000-3003018000 r-xp 00000000 08:01 51627961                       /lib64/libpthread-2.15.so
3003018000-3003217000 ---p 00018000 08:01 51627961                       /lib64/libpthread-2.15.so
3003217000-3003218000 r--p 00017000 08:01 51627961                       /lib64/libpthread-2.15.so
3003218000-3003219000 rw-p 00018000 08:01 51627961                       /lib64/libpthread-2.15.so
3003219000-300321d000 rw-p 00000000 00:00 0 
3003400000-30034f6000 r-xp 00000000 08:01 52695371                       /lib64/libm-2.15.so
30034f6000-30036f5000 ---p 000f6000 08:01 52695371                       /lib64/libm-2.15.so
30036f5000-30036f6000 r--p 000f5000 08:01 52695371                       /lib64/libm-2.15.so
30036f6000-30036f7000 rw-p 000f6000 08:01 52695371                       /lib64/libm-2.15.so
3003c00000-3003c08000 r-xp 00000000 08:01 51627962                       /lib64/librt-2.15.so
3003c08000-3003e07000 ---p 00008000 08:01 51627962                       /lib64/librt-2.15.so
3003e07000-3003e08000 r--p 00007000 08:01 51627962                       /lib64/librt-2.15.so
3003e08000-3003e09000 rw-p 00008000 08:01 51627962                       /lib64/librt-2.15.so
3085200000-3085215000 r-xp 00000000 08:01 1641                           /lib64/libnsl-2.15.so
3085215000-3085414000 ---p 00015000 08:01 1641                           /lib64/libnsl-2.15.so
3085414000-3085415000 r--p 00014000 08:01 1641                           /lib64/libnsl-2.15.so
3085415000-3085416000 rw-p 00015000 08:01 1641                           /lib64/libnsl-2.15.so
3085416000-3085418000 rw-p 00000000 00:00 0 
7fd1f4000000-7fd1f4021000 rw-p 00000000 00:00 0 
7fd1f4021000-7fd1f8000000 ---p 00000000 00:00 0 
7fd1f8000000-7fd1f8022000 rw-p 00000000 00:00 0 
7fd1f8022000-7fd1fc000000 ---p 00000000 00:00 0 
7fd1fc000000-7fd1fc021000 rw-p 00000000 00:00 0 
7fd1fc021000-7fd200000000 ---p 00000000 00:00 0 
7fd200000000-7fd200021000 rw-p 00000000 00:00 0 
7fd200021000-7fd204000000 ---p 00000000 00:00 0 
7fd204000000-7fd20403e000 rw-p 00000000 00:00 0 
7fd20403e000-7fd208000000 ---p 00000000 00:00 0 
7fd208000000-7fd208021000 rw-p 00000000 00:00 0 
7fd208021000-7fd20c000000 ---p 00000000 00:00 0 
7fd20c000000-7fd20c021000 rw-p 00000000 00:00 0 
7fd20c021000-7fd210000000 ---p 00000000 00:00 0 
7fd211c99000-7fd218000000 r--p 00000000 08:01 2965116                    /usr/lib64/locale/locale-archive
7fd218000000-7fd218021000 rw-p 00000000 00:00 0 
7fd218021000-7fd21c000000 ---p 00000000 00:00 0 
7fd21c000000-7fd21c021000 rw-p 00000000 00:00 0 
7fd21c021000-7fd220000000 ---p 00000000 00:00 0 
7fd220000000-7fd220021000 rw-p 00000000 00:00 0 
7fd220021000-7fd224000000 ---p 00000000 00:00 0 
7fd224000000-7fd224021000 rw-p 00000000 00:00 0 
7fd224021000-7fd228000000 ---p 00000000 00:00 0 
7fd228000000-7fd228021000 rw-p 00000000 00:00 0 
7fd228021000-7fd22c000000 ---p 00000000 00:00 0 
7fd230000000-7fd230021000 rw-p 00000000 00:00 0 
7fd230021000-7fd234000000 ---p 00000000 00:00 0 
7fd2341f0000-7fd238000000 rw-p 00000000 00:00 0 
7fd238000000-7fd238021000 rw-p 00000000 00:00 0 
7fd238021000-7fd23c000000 ---p 00000000 00:00 0 
7fd23c518000-7fd23c51b000 ---p 00000000 00:00 0 
7fd23c51b000-7fd23cd19000 rw-p 00000000 00:00 0                          [stack:4118]
7fd23cd19000-7fd23cd1a000 ---p 00000000 00:00 0 
7fd23cd1a000-7fd23ce1a000 rw-p 00000000 00:00 0                          [stack:4117]
7fd23ce1a000-7fd23ce1d000 ---p 00000000 00:00 0 
7fd23ce1d000-7fd23ce6b000 rw-p 00000000 00:00 0                          [stack:4116]
7fd23ce6b000-7fd23ce6e000 ---p 00000000 00:00 0 
7fd23ce6e000-7fd23cf6c000 rw-p 00000000 00:00 0                          [stack:4115]
7fd23cf6c000-7fd23cf6f000 ---p 00000000 00:00 0 
7fd23cf6f000-7fd23d06d000 rw-p 00000000 00:00 0                          [stack:4114]
7fd23d06d000-7fd23d070000 ---p 00000000 00:00 0 
7fd23d070000-7fd23d16e000 rw-p 00000000 00:00 0                          [stack:4113]
7fd23d16e000-7fd23d171000 ---p 00000000 00:00 0 
7fd23d171000-7fd23d1bf000 rw-p 00000000 00:00 0                          [stack:4112]
7fd23d1bf000-7fd23d1c2000 ---p 00000000 00:00 0 
7fd23d1c2000-7fd23d210000 rw-p 00000000 00:00 0                          [stack:4111]
7fd23d210000-7fd23d213000 ---p 00000000 00:00 0 
7fd23d213000-7fd23d261000 rw-p 00000000 00:00 0                          [stack:4110]
7fd23d261000-7fd23d262000 ---p 00000000 00:00 0 
7fd23d262000-7fd23e365000 rw-p 00000000 00:00 0                          [stack:4109]
7fd23e365000-7fd23e539000 r--s 03c3f000 08:01 833046129                  /opt/jdk1.8.0/jre/lib/rt.jar
7fd23e539000-7fd23ea4a000 rw-p 00000000 00:00 0 
7fd23ea4a000-7fd23ee0a000 ---p 00000000 00:00 0 
7fd23ee0a000-7fd23f1eb000 rw-p 00000000 00:00 0 
7fd23f1eb000-7fd23f1ec000 ---p 00000000 00:00 0 
7fd23f1ec000-7fd23f2ec000 rw-p 00000000 00:00 0                          [stack:4108]
7fd23f2ec000-7fd23f2ed000 ---p 00000000 00:00 0 
7fd23f2ed000-7fd23f3ed000 rw-p 00000000 00:00 0                          [stack:4107]
7fd23f3ed000-7fd23f3ee000 ---p 00000000 00:00 0 
7fd23f3ee000-7fd23f4ee000 rw-p 00000000 00:00 0                          [stack:4106]
7fd23f4ee000-7fd23f4ef000 ---p 00000000 00:00 0 
7fd23f4ef000-7fd23f62e000 rw-p 00000000 00:00 0                          [stack:4105]
7fd23f62e000-7fd23f885000 ---p 00000000 00:00 0 
7fd23f885000-7fd23f8c4000 rw-p 00000000 00:00 0 
7fd23f8c4000-7fd23fb1b000 ---p 00000000 00:00 0 
7fd23fb1b000-7fd23fb1c000 rw-p 00000000 00:00 0 
7fd23fb1c000-7fd23fc66000 ---p 00000000 00:00 0 
7fd23fc66000-7fd23fc71000 rw-p 00000000 00:00 0 
7fd23fc71000-7fd240027000 ---p 00000000 00:00 0 
7fd240027000-7fd240297000 rwxp 00000000 00:00 0 
7fd240297000-7fd24f027000 ---p 00000000 00:00 0 
7fd24f027000-7fd24f043000 r-xp 00000000 08:01 541745533                  /opt/jdk1.8.0/jre/lib/amd64/libzip.so
7fd24f043000-7fd24f242000 ---p 0001c000 08:01 541745533                  /opt/jdk1.8.0/jre/lib/amd64/libzip.so
7fd24f242000-7fd24f243000 rw-p 0001b000 08:01 541745533                  /opt/jdk1.8.0/jre/lib/amd64/libzip.so
7fd24f243000-7fd24f24f000 r-xp 00000000 08:01 48012                      /lib64/libnss_files-2.15.so
7fd24f24f000-7fd24f44f000 ---p 0000c000 08:01 48012                      /lib64/libnss_files-2.15.so
7fd24f44f000-7fd24f450000 r--p 0000c000 08:01 48012                      /lib64/libnss_files-2.15.so
7fd24f450000-7fd24f451000 rw-p 0000d000 08:01 48012                      /lib64/libnss_files-2.15.so
7fd24f451000-7fd24f45b000 r-xp 00000000 08:01 388                        /lib64/libnss_nis-2.15.so
7fd24f45b000-7fd24f65b000 ---p 0000a000 08:01 388                        /lib64/libnss_nis-2.15.so
7fd24f65b000-7fd24f65c000 r--p 0000a000 08:01 388                        /lib64/libnss_nis-2.15.so
7fd24f65c000-7fd24f65d000 rw-p 0000b000 08:01 388                        /lib64/libnss_nis-2.15.so
7fd24f65d000-7fd24f664000 r-xp 00000000 08:01 47996                      /lib64/libnss_compat-2.15.so
7fd24f664000-7fd24f864000 ---p 00007000 08:01 47996                      /lib64/libnss_compat-2.15.so
7fd24f864000-7fd24f865000 r--p 00007000 08:01 47996                      /lib64/libnss_compat-2.15.so
7fd24f865000-7fd24f866000 rw-p 00008000 08:01 47996                      /lib64/libnss_compat-2.15.so
7fd24f86d000-7fd24f897000 rw-p 00000000 00:00 0 
7fd24f897000-7fd24f898000 r--p 00000000 00:00 0 
7fd24f898000-7fd24f8c2000 r-xp 00000000 08:01 541745525                  /opt/jdk1.8.0/jre/lib/amd64/libjava.so
7fd24f8c2000-7fd24fac2000 ---p 0002a000 08:01 541745525                  /opt/jdk1.8.0/jre/lib/amd64/libjava.so
7fd24fac2000-7fd24fac4000 rw-p 0002a000 08:01 541745525                  /opt/jdk1.8.0/jre/lib/amd64/libjava.so
7fd24fac4000-7fd24fad1000 r-xp 00000000 08:01 541745531                  /opt/jdk1.8.0/jre/lib/amd64/libverify.so
7fd24fad1000-7fd24fcd1000 ---p 0000d000 08:01 541745531                  /opt/jdk1.8.0/jre/lib/amd64/libverify.so
7fd24fcd1000-7fd24fcd3000 rw-p 0000d000 08:01 541745531                  /opt/jdk1.8.0/jre/lib/amd64/libverify.so
7fd24fcd3000-7fd24fcff000 rw-p 00000000 00:00 0 
7fd24fcff000-7fd24fd07000 rw-s 00000000 08:01 808659232                  /tmp/hsperfdata_dms/4104
7fd24fd07000-7fd24fd08000 rw-p 00000000 00:00 0 
7fd24fd08000-7fd250921000 r-xp 00000000 08:01 2345184                    /opt/jdk1.8.0/jre/lib/amd64/server/libjvm.so
7fd250921000-7fd250b21000 ---p 00c19000 08:01 2345184                    /opt/jdk1.8.0/jre/lib/amd64/server/libjvm.so
7fd250b21000-7fd250bea000 rw-p 00c19000 08:01 2345184                    /opt/jdk1.8.0/jre/lib/amd64/server/libjvm.so
7fd250bea000-7fd250c2c000 rw-p 00000000 00:00 0 
7fff75f76000-7fff75f79000 ---p 00000000 00:00 0 
7fff75f7a000-7fff75fc6000 rw-p 00000000 00:00 0                          [stack]
7fff75fff000-7fff76000000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
-------------- next part --------------
00400000-00402000 r-xp 00000000 08:01 700884111                          /home/dms/ESC/JDK-8042155/hs-rt/hotspot/test/runtime/StackGuardPages/invoke
00601000-00602000 r--p 00001000 08:01 700884111                          /home/dms/ESC/JDK-8042155/hs-rt/hotspot/test/runtime/StackGuardPages/invoke
00602000-00603000 rw-p 00002000 08:01 700884111                          /home/dms/ESC/JDK-8042155/hs-rt/hotspot/test/runtime/StackGuardPages/invoke
00603000-00605000 rw-p 00000000 00:00 0 
01043000-01117000 rw-p 00000000 00:00 0                                  [heap]
83e00000-8ba80000 rw-p 00000000 00:00 0 
8ba80000-d6a00000 ---p 00000000 00:00 0 
d6a00000-d6b80000 rw-p 00000000 00:00 0 
d6b80000-100000000 ---p 00000000 00:00 0 
100000000-100060000 rw-p 00000000 00:00 0 
100060000-140000000 ---p 00000000 00:00 0 
7f36a0000000-7f36a0021000 rw-p 00000000 00:00 0 
7f36a0021000-7f36a4000000 ---p 00000000 00:00 0 
7f36a8000000-7f36a8021000 rw-p 00000000 00:00 0 
7f36a8021000-7f36ac000000 ---p 00000000 00:00 0 
7f36adc99000-7f36b4000000 r--p 00000000 08:01 2965116                    /usr/lib64/locale/locale-archive
7f36b4000000-7f36b4021000 rw-p 00000000 00:00 0 
7f36b4021000-7f36b8000000 ---p 00000000 00:00 0 
7f36b8000000-7f36b8021000 rw-p 00000000 00:00 0 
7f36b8021000-7f36bc000000 ---p 00000000 00:00 0 
7f36bc000000-7f36bc021000 rw-p 00000000 00:00 0 
7f36bc021000-7f36c0000000 ---p 00000000 00:00 0 
7f36c0000000-7f36c0021000 rw-p 00000000 00:00 0 
7f36c0021000-7f36c4000000 ---p 00000000 00:00 0 
7f36c4000000-7f36c4021000 rw-p 00000000 00:00 0 
7f36c4021000-7f36c8000000 ---p 00000000 00:00 0 
7f36cc000000-7f36cc021000 rw-p 00000000 00:00 0 
7f36cc021000-7f36d0000000 ---p 00000000 00:00 0 
7f36d4000000-7f36d4021000 rw-p 00000000 00:00 0 
7f36d4021000-7f36d8000000 ---p 00000000 00:00 0 
7f36d81f0000-7f36dc000000 rw-p 00000000 00:00 0 
7f36dc000000-7f36dc021000 rw-p 00000000 00:00 0 
7f36dc021000-7f36e0000000 ---p 00000000 00:00 0 
7f36e1771000-7f36e1772000 ---p 00000000 00:00 0 
7f36e1772000-7f36e1872000 rw-p 00000000 00:00 0                          [stack:17057]
7f36e1872000-7f36e1875000 ---p 00000000 00:00 0 
7f36e1875000-7f36e18c3000 rw-p 00000000 00:00 0                          [stack:17056]
7f36e18c3000-7f36e18c6000 ---p 00000000 00:00 0 
7f36e18c6000-7f36e1914000 rw-p 00000000 00:00 0                          [stack:17055]
7f36e1914000-7f36e1917000 ---p 00000000 00:00 0 
7f36e1917000-7f36e1965000 rw-p 00000000 00:00 0                          [stack:17054]
7f36e1965000-7f36e1966000 ---p 00000000 00:00 0 
7f36e1966000-7f36e2a1a000 rw-p 00000000 00:00 0                          [stack:17052]
7f36e2a1a000-7f36e2bee000 r--s 03c3f000 08:01 833046129                  /opt/jdk1.8.0/jre/lib/rt.jar
7f36e2bee000-7f36e2fee000 rw-p 00000000 00:00 0 
7f36e2fee000-7f36e33ee000 ---p 00000000 00:00 0 
7f36e33ee000-7f36e37cf000 rw-p 00000000 00:00 0 
7f36e37cf000-7f36e37d0000 ---p 00000000 00:00 0 
7f36e37d0000-7f36e38d0000 rw-p 00000000 00:00 0                          [stack:17051]
7f36e38d0000-7f36e38d1000 ---p 00000000 00:00 0 
7f36e38d1000-7f36e39d1000 rw-p 00000000 00:00 0                          [stack:17050]
7f36e39d1000-7f36e39d2000 ---p 00000000 00:00 0 
7f36e39d2000-7f36e3ad2000 rw-p 00000000 00:00 0                          [stack:17049]
7f36e3ad2000-7f36e3ad3000 ---p 00000000 00:00 0 
7f36e3ad3000-7f36e3c12000 rw-p 00000000 00:00 0                          [stack:17048]
7f36e3c12000-7f36e3e69000 ---p 00000000 00:00 0 
7f36e3e69000-7f36e3ea8000 rw-p 00000000 00:00 0 
7f36e3ea8000-7f36e40ff000 ---p 00000000 00:00 0 
7f36e40ff000-7f36e4100000 rw-p 00000000 00:00 0 
7f36e4100000-7f36e424a000 ---p 00000000 00:00 0 
7f36e424a000-7f36e4255000 rw-p 00000000 00:00 0 
7f36e4255000-7f36e460b000 ---p 00000000 00:00 0 
7f36e460b000-7f36e487b000 rwxp 00000000 00:00 0 
7f36e487b000-7f36f360b000 ---p 00000000 00:00 0 
7f36f360b000-7f36f3627000 r-xp 00000000 08:01 541745533                  /opt/jdk1.8.0/jre/lib/amd64/libzip.so
7f36f3627000-7f36f3826000 ---p 0001c000 08:01 541745533                  /opt/jdk1.8.0/jre/lib/amd64/libzip.so
7f36f3826000-7f36f3827000 rw-p 0001b000 08:01 541745533                  /opt/jdk1.8.0/jre/lib/amd64/libzip.so
7f36f3827000-7f36f3833000 r-xp 00000000 08:01 48012                      /lib64/libnss_files-2.15.so
7f36f3833000-7f36f3a33000 ---p 0000c000 08:01 48012                      /lib64/libnss_files-2.15.so
7f36f3a33000-7f36f3a34000 r--p 0000c000 08:01 48012                      /lib64/libnss_files-2.15.so
7f36f3a34000-7f36f3a35000 rw-p 0000d000 08:01 48012                      /lib64/libnss_files-2.15.so
7f36f3a35000-7f36f3a3f000 r-xp 00000000 08:01 388                        /lib64/libnss_nis-2.15.so
7f36f3a3f000-7f36f3c3f000 ---p 0000a000 08:01 388                        /lib64/libnss_nis-2.15.so
7f36f3c3f000-7f36f3c40000 r--p 0000a000 08:01 388                        /lib64/libnss_nis-2.15.so
7f36f3c40000-7f36f3c41000 rw-p 0000b000 08:01 388                        /lib64/libnss_nis-2.15.so
7f36f3c41000-7f36f3c56000 r-xp 00000000 08:01 994356                     /lib64/libnsl-2.15.so
7f36f3c56000-7f36f3e55000 ---p 00015000 08:01 994356                     /lib64/libnsl-2.15.so
7f36f3e55000-7f36f3e56000 r--p 00014000 08:01 994356                     /lib64/libnsl-2.15.so
7f36f3e56000-7f36f3e57000 rw-p 00015000 08:01 994356                     /lib64/libnsl-2.15.so
7f36f3e57000-7f36f3e59000 rw-p 00000000 00:00 0 
7f36f3e59000-7f36f3e60000 r-xp 00000000 08:01 47996                      /lib64/libnss_compat-2.15.so
7f36f3e60000-7f36f4060000 ---p 00007000 08:01 47996                      /lib64/libnss_compat-2.15.so
7f36f4060000-7f36f4061000 r--p 00007000 08:01 47996                      /lib64/libnss_compat-2.15.so
7f36f4061000-7f36f4062000 rw-p 00008000 08:01 47996                      /lib64/libnss_compat-2.15.so
7f36f4062000-7f36f408c000 r-xp 00000000 08:01 541745525                  /opt/jdk1.8.0/jre/lib/amd64/libjava.so
7f36f408c000-7f36f428c000 ---p 0002a000 08:01 541745525                  /opt/jdk1.8.0/jre/lib/amd64/libjava.so
7f36f428c000-7f36f428e000 rw-p 0002a000 08:01 541745525                  /opt/jdk1.8.0/jre/lib/amd64/libjava.so
7f36f428e000-7f36f429b000 r-xp 00000000 08:01 541745531                  /opt/jdk1.8.0/jre/lib/amd64/libverify.so
7f36f429b000-7f36f449b000 ---p 0000d000 08:01 541745531                  /opt/jdk1.8.0/jre/lib/amd64/libverify.so
7f36f449b000-7f36f449d000 rw-p 0000d000 08:01 541745531                  /opt/jdk1.8.0/jre/lib/amd64/libverify.so
7f36f449d000-7f36f44a5000 r-xp 00000000 08:01 150274437                  /lib64/librt-2.15.so
7f36f44a5000-7f36f46a4000 ---p 00008000 08:01 150274437                  /lib64/librt-2.15.so
7f36f46a4000-7f36f46a5000 r--p 00007000 08:01 150274437                  /lib64/librt-2.15.so
7f36f46a5000-7f36f46a6000 rw-p 00008000 08:01 150274437                  /lib64/librt-2.15.so
7f36f46a6000-7f36f46a8000 r-xp 00000000 08:01 864320                     /lib64/libdl-2.15.so
7f36f46a8000-7f36f48a8000 ---p 00002000 08:01 864320                     /lib64/libdl-2.15.so
7f36f48a8000-7f36f48a9000 r--p 00002000 08:01 864320                     /lib64/libdl-2.15.so
7f36f48a9000-7f36f48aa000 rw-p 00003000 08:01 864320                     /lib64/libdl-2.15.so
7f36f48aa000-7f36f49a0000 r-xp 00000000 08:01 938229                     /lib64/libm-2.15.so
7f36f49a0000-7f36f4b9f000 ---p 000f6000 08:01 938229                     /lib64/libm-2.15.so
7f36f4b9f000-7f36f4ba0000 r--p 000f5000 08:01 938229                     /lib64/libm-2.15.so
7f36f4ba0000-7f36f4ba1000 rw-p 000f6000 08:01 938229                     /lib64/libm-2.15.so
7f36f4ba1000-7f36f4d42000 r-xp 00000000 08:01 856289                     /lib64/libc-2.15.so
7f36f4d42000-7f36f4f42000 ---p 001a1000 08:01 856289                     /lib64/libc-2.15.so
7f36f4f42000-7f36f4f46000 r--p 001a1000 08:01 856289                     /lib64/libc-2.15.so
7f36f4f46000-7f36f4f48000 rw-p 001a5000 08:01 856289                     /lib64/libc-2.15.so
7f36f4f48000-7f36f4f4c000 rw-p 00000000 00:00 0 
7f36f4f4c000-7f36f4f64000 r-xp 00000000 08:01 183                        /lib64/libpthread-2.15.so
7f36f4f64000-7f36f5163000 ---p 00018000 08:01 183                        /lib64/libpthread-2.15.so
7f36f5163000-7f36f5164000 r--p 00017000 08:01 183                        /lib64/libpthread-2.15.so
7f36f5164000-7f36f5165000 rw-p 00018000 08:01 183                        /lib64/libpthread-2.15.so
7f36f5165000-7f36f5169000 rw-p 00000000 00:00 0 
7f36f5169000-7f36f5d82000 r-xp 00000000 08:01 2345184                    /opt/jdk1.8.0/jre/lib/amd64/server/libjvm.so
7f36f5d82000-7f36f5f82000 ---p 00c19000 08:01 2345184                    /opt/jdk1.8.0/jre/lib/amd64/server/libjvm.so
7f36f5f82000-7f36f604b000 rw-p 00c19000 08:01 2345184                    /opt/jdk1.8.0/jre/lib/amd64/server/libjvm.so
7f36f604b000-7f36f608c000 rw-p 00000000 00:00 0 
7f36f608c000-7f36f60ae000 r-xp 00000000 08:01 4821302                    /lib64/ld-2.15.so
7f36f60b7000-7f36f60ba000 ---p 00000000 00:00 0 
7f36f60ba000-7f36f627c000 rw-p 00000000 00:00 0                          [stack:17053]
7f36f62a0000-7f36f62a1000 rw-p 00000000 00:00 0 
7f36f62a1000-7f36f62a9000 rw-s 00000000 08:01 270722262                  /tmp/hsperfdata_root/17047
7f36f62a9000-7f36f62aa000 rw-p 00000000 00:00 0 
7f36f62aa000-7f36f62ab000 r--p 00000000 00:00 0 
7f36f62ab000-7f36f62ad000 rw-p 00000000 00:00 0 
7f36f62ad000-7f36f62ae000 r--p 00021000 08:01 4821302                    /lib64/ld-2.15.so
7f36f62ae000-7f36f62af000 rw-p 00022000 08:01 4821302                    /lib64/ld-2.15.so
7f36f62af000-7f36f62b0000 rw-p 00000000 00:00 0 
7fff71ca6000-7fff71ca9000 ---p 00000000 00:00 0 
7fff71caa000-7fff71cf6000 rw-p 00000000 00:00 0                          [stack]
7fff71dff000-7fff71e00000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]


More information about the hotspot-runtime-dev mailing list