RFR: JDK-8227021: VM fails if any sun.boot.library.path paths are longer than JVM_MAXPATHLEN

Adam Farley8 adam.farley at uk.ibm.com
Tue Aug 13 17:13:06 UTC 2019


Hi Daniel,

I'm an author, so I'm not sure I can use this technique to push changes or 
run tests on the shared openjdk systems.

My testing is run locally, on a linux x86 64-bit machine.

Best Regards

Adam Farley 
IBM Runtimes


"Daniel D. Daugherty" <daniel.daugherty at oracle.com> wrote on 13/08/2019 
17:57:50:

> From: "Daniel D. Daugherty" <daniel.daugherty at oracle.com>
> To: Adam Farley8 <adam.farley at uk.ibm.com>
> Cc: David Holmes <david.holmes at oracle.com>, hotspot-dev at openjdk.java.net
> Date: 13/08/2019 18:09
> Subject: Re: RFR: JDK-8227021: VM fails if any sun.boot.library.path
> paths are longer than JVM_MAXPATHLEN
> 
> Just realized that I forgot to include this link:
> 
> https://wiki.openjdk.java.net/display/Build/Submit+Repo
> 
> Sorry about that...
> 
> Dan
> 

> On 8/13/19 12:17 PM, Daniel D. Daugherty wrote:
> Let's see what Serguei (or David) says about testing needed.
> Looks like he reviewed this change (and your other one too)...
> 
> I haven't reviewed either change... I just happened to notice
> that nothing was said in the RFR about testing...
> 
> Dan
> 

> On 8/13/19 12:14 PM, Adam Farley8 wrote:
> Hi Daniel, 
> 
> As this change isn't a part of the class libraries, and this code 
> path is exercised during startup, I neglected to run testing beyond 
> the bug specific tests and variants theron. 
> 
> I'm happy to take recommendations for the tests I should run. 
> 
> I'm not familiar with jdk_submit. Google isn't helping, nor is a 
> jdk/jdk search. Can you advise on how I can run it?
> 
> Best Regards
> 
> Adam Farley 
> IBM Runtimes
> 
> 
> "Daniel D. Daugherty" <daniel.daugherty at oracle.com> wrote on 13/08/
> 2019 17:05:20:
> 
> > From: "Daniel D. Daugherty" <daniel.daugherty at oracle.com> 
> > To: Adam Farley8 <adam.farley at uk.ibm.com> 
> > Cc: David Holmes <david.holmes at oracle.com>, 
hotspot-dev at openjdk.java.net 
> > Date: 13/08/2019 17:05 
> > Subject: Re: RFR: JDK-8227021: VM fails if any sun.boot.library.path
> > paths are longer than JVM_MAXPATHLEN 
> > 
> > Hi Adam,
> > 
> > I should have been more clear. The code review request should indicate
> > what kind of testing has been done on the change. Could be something
> > like:
> > 
> > - Ran through jdk_submit with no failures.
> > - Also ran the test from the bug report on Linux or Win* or XXX.
> > 
> > So I see that you've run the bug specific test. Did you run any other
> > testing like jdk_submit?
> > 
> > Dan
> > 
> 
> > On 8/13/19 12:00 PM, Adam Farley8 wrote: 
> > Hi Daniel, 
> > 
> > The basic test case is described in the bug: 
> > 
> > java -Dsun.boot.library.path=$LONGPATH:$RIGHTPATH AnyClass 
> > 
> > (where LONGPATH has >5k characters in it) 
> > 
> > As this code path is executed during library loading at startup, 
> > this test case should be enough to demonstrate the fix. 
> > 
> > Does this answer your question? 
> > 
> > Best Regards
> > 
> > Adam Farley 
> > IBM Runtimes
> > 
> > 
> > "Daniel D. Daugherty" <daniel.daugherty at oracle.com> wrote on 13/08/
> > 2019 16:51:56:
> > 
> > > From: "Daniel D. Daugherty" <daniel.daugherty at oracle.com> 
> > > To: Adam Farley8 <adam.farley at uk.ibm.com>, David Holmes 
> > > <david.holmes at oracle.com> 
> > > Cc: hotspot-dev at openjdk.java.net 
> > > Date: 13/08/2019 16:52 
> > > Subject: Re: RFR: JDK-8227021: VM fails if any sun.boot.library.path
> > > paths are longer than JVM_MAXPATHLEN 
> > > 
> > > I don't see any information describing how this change was tested.
> > > 
> > > Dan
> > > 
> > > 
> > > On 8/13/19 11:48 AM, Adam Farley8 wrote:
> > > > Hi David,
> > > >
> > > > Since we have two positive reviews (yours and Serguei's), could 
you
> > > > sponsor the change please?
> > > >
> > > > Best Regards
> > > >
> > > > Adam Farley
> > > > IBM Runtimes
> > > >
> > > >
> > > > David Holmes <david.holmes at oracle.com> wrote on 12/08/2019 
23:32:14:
> > > >
> > > >> From: David Holmes <david.holmes at oracle.com>
> > > >> To: Adam Farley8 <adam.farley at uk.ibm.com>
> > > >> Cc: hotspot-dev at openjdk.java.net, "serguei.spitsyn at oracle.com"
> > > >> <serguei.spitsyn at oracle.com>
> > > >> Date: 12/08/2019 23:32
> > > >> Subject: Re: RFR: JDK-8227021: VM fails if any 
sun.boot.library.path
> > > >> paths are longer than JVM_MAXPATHLEN
> > > >>
> > > >> Looks fine.
> > > >>
> > > >> Thanks,
> > > >> David
> > > >>
> > > >> On 13/08/2019 1:19 am, Adam Farley8 wrote:
> > > >>> Hi David,
> > > >>>
> > > >>> Changes made as requested:
> > > >>> https://urldefense.proofpoint.com/v2/url?
> > > >> 
u=http-3A__cr.openjdk.java.net_-7Eafarley_8227021.4_webrev&d=DwID-
> > > >> g&c=jf_iaSHvJObTbx-siA1ZOg&r=P5m8KWUXJf-
> > > >>
> > > > 
> > > 
> > 
> 
CeVJc0hDGD9AQ2LkcXDC0PMV9ntVw5Ho&m=mZM8IR4e_zmrfcsF3XJjoGEMrZb4WtEL7Y6Ugd6Naqg&s=sZ2UKqqUIq0El-
> > > >> RsqYz6jmTh4Q2UghwdrQX6of8Lw0E&e=
> > > >>> Best Regards
> > > >>>
> > > >>> Adam Farley
> > > >>> IBM Runtimes
> > > >>>
> > > >>>
> > > >>> David Holmes <david.holmes at oracle.com> wrote on 12/08/2019 
04:55:36:
> > > >>>
> > > >>>> From: David Holmes <david.holmes at oracle.com>
> > > >>>> To: Adam Farley8 <adam.farley at uk.ibm.com>,
> > > >>>> "serguei.spitsyn at oracle.com" <serguei.spitsyn at oracle.com>
> > > >>>> Cc: hotspot-dev at openjdk.java.net
> > > >>>> Date: 12/08/2019 04:56
> > > >>>> Subject: Re: RFR: JDK-8227021:  VM fails if any 
sun.boot.library.path
> > > >>>> paths are longer than JVM_MAXPATHLEN
> > > >>>>
> > > >>>> Hi Adam,
> > > >>>>
> > > >>>> On 10/08/2019 2:47 am, Adam Farley8 wrote:
> > > >>>>> Hi Serguei, David,
> > > >>>>>
> > > >>>>> My turn to apologise for the delay. :)
> > > >>>>>
> > > >>>>> I've modified the code as per Serguei's request. Take a look 
 and
> > > > let me
> > > >>>>> know if this is the sort of thing you were thinking of.
> > > >>>>>
> > > >>>>> Webrev: https://urldefense.proofpoint.com/v2/url?
> > > >>>> 
u=http-3A__cr.openjdk.java.net_-7Eafarley_8227021.3_webrev_&d=DwID-
> > > >>>> g&c=jf_iaSHvJObTbx-siA1ZOg&r=P5m8KWUXJf-
> > > >>>> CeVJc0hDGD9AQ2LkcXDC0PMV9ntVw5Ho&m=8Wa8Zdfmvn-
> > > >>>>
> > > > 
> > > 
> > 
> 
yvzvCAhOyJ_etFblRA4vmLGbKF4aW8PY&s=L19aeFXoR9JIO62QRPFzZObIU8RbhpCtXSvUibD2ISk&e=
> > > >>>> I'd prefer to see the helper just as a file static function 
rather
> > > > than
> > > >>>> adding it to the os class.
> > > >>>>
> > > >>>> +  * supplied array of arrays of chars (a), where n
> > > >>>>
> > > >>>> I assume (a) is meant to refer to the parameter, but you 
actually
> > > > called
> > > >>>> it arrayarray. I think "a" or "arr" would suffice.
> > > >>>>
> > > >>>> Thanks,
> > > >>>> David
> > > >>>>
> > > >>>>> Best Regards
> > > >>>>>
> > > >>>>> Adam Farley
> > > >>>>> IBM Runtimes
> > > >>>>>
> > > >>>>>
> > > >>>>> "serguei.spitsyn at oracle.com" <serguei.spitsyn at oracle.com> 
 wrote on
> > > >>>>> 31/07/2019 17:18:05:
> > > >>>>>
> > > >>>>>> From: "serguei.spitsyn at oracle.com" 
<serguei.spitsyn at oracle.com>
> > > >>>>>> To: Adam Farley8 <adam.farley at uk.ibm.com>,  David  Holmes
> > > >>>>>> <david.holmes at oracle.com>
> > > >>>>>> Cc: serviceability-dev <serviceability-dev at openjdk.java.net>,
> > > >>>>>> hotspot-dev at openjdk.java.net
> > > >>>>>> Date: 31/07/2019 17:18
> > > >>>>>> Subject: Re: RFR: JDK-8227021:  VM fails if any
> > > > sun.boot.library.path
> > > >>>>>> paths are longer than JVM_MAXPATHLEN
> > > >>>>>>
> > > >>>>>> Hi Adam,
> > > >>>>>>
> > > >>>>>> It looks Okay to me.
> > > >>>>>>
> > > >>>>>> A couple of minor comments.
> > > >>>>>>
> > > >>>>>> https://urldefense.proofpoint.com/v2/url?
> > > >>>> u=http-3A__cr.openjdk.java.net_-7Eafarley_8227021.
> > > >>>> 2_webrev_src_hotspot_&d=DwID-g&c=jf_iaSHvJObTbx-
> > > >>>> 
siA1ZOg&r=P5m8KWUXJf-CeVJc0hDGD9AQ2LkcXDC0PMV9ntVw5Ho&m=8Wa8Zdfmvn-
> > > >>>>
> > > > 
> > > 
> > 
> 
yvzvCAhOyJ_etFblRA4vmLGbKF4aW8PY&s=NL6tYuwwDod3DSmj-1ztxAywpO8L52HEyO0wvTR05bs&e=
> > > >>>>>> share/runtime/os.cpp.frames.html
> > > >>>>>> 1362       //release  allocated storage  before exiting the 
vm
> > > >>>>>> 1363       while (i > 0) {
> > > >>>>>> 1364           i--;
> > > >>>>>> 1365           if (opath[i] != NULL)  {
> > > >>>>>> 1366             FREE_C_HEAP_ARRAY(char,   opath[i]);
> > > >>>>>> 1367           }
> > > >>>>>> 1368       }
> > > >>>>>> 1369       FREE_C_HEAP_ARRAY(char*, opath);
> > > >>>>>>
> > > >>>>>> 1377       //release allocated storage before  returning 
 null
> > > >>>>>> 1378       while (i > 0) {
> > > >>>>>> 1379           i--;
> > > >>>>>> 1380           if (opath[i] != NULL)  {
> > > >>>>>> 1381             FREE_C_HEAP_ARRAY(char,   opath[i]);
> > > >>>>>> 1382           }
> > > >>>>>> 1383       }
> > > >>>>>> 1384       FREE_C_HEAP_ARRAY(char*, opath);
> > > >>>>>>
> > > >>>>>> This duplicated fragments is worth to refactor to a function.
> > > >>>>>> Also a space is missed at the beginning of the comment.
> > > >>>>>>
> > > >>>>>>
> > > >>>>>> Thanks,
> > > >>>>>> Serguei
> > > >>>>>>
> > > >>>>>>
> > > >>>>>>
> > > >>>>>> On 7/31/19 02:01, Adam Farley8 wrote:
> > > >>>>>> Hi All,
> > > >>>>>>
> > > >>>>>> Reviewers requested for the change below.
> > > >>>>>>
> > > >>>>>> @David - Agreed. Would you be prepared to sponsor the change?
> > > >>>>>>
> > > >>>>>> Bug: https://urldefense.proofpoint.com/v2/url?
> > > >>>> u=https-3A__bugs.openjdk.java.net_browse_JDK-2D8227021&d=DwID-
> > > >>>> g&c=jf_iaSHvJObTbx-siA1ZOg&r=P5m8KWUXJf-
> > > >>>> CeVJc0hDGD9AQ2LkcXDC0PMV9ntVw5Ho&m=8Wa8Zdfmvn-
> > > >>>>
> > > > 
> > > 
> > 
> 
yvzvCAhOyJ_etFblRA4vmLGbKF4aW8PY&s=xykJ0KLy9AKWO8zmC0amfR7xxUsvyKEjlf3y7WWOqvE&e=
> > > >>>>>> Webrev: https://urldefense.proofpoint.com/v2/url?
> > > >>>> 
u=http-3A__cr.openjdk.java.net_-7Eafarley_8227021.2_webrev_&d=DwID-
> > > >>>> g&c=jf_iaSHvJObTbx-siA1ZOg&r=P5m8KWUXJf-
> > > >>>> CeVJc0hDGD9AQ2LkcXDC0PMV9ntVw5Ho&m=8Wa8Zdfmvn-
> > > >>>>
> > > > 
> > > 
> > 
> 
yvzvCAhOyJ_etFblRA4vmLGbKF4aW8PY&s=NvIza4VVWG3CiDhmQVmXsghH_4h_c5mFJbHwkCUcut0&e=
> > > >>>>>> Best Regards
> > > >>>>>>
> > > >>>>>> Adam Farley
> > > >>>>>> IBM Runtimes
> > > >>>>>>
> > > >>>>>> P.S. Remembered to add the links this time. :)
> > > >>>>>>
> > > >>>>>>
> > > >>>>>> David Holmes <david.holmes at oracle.com> wrote on 30/07/2019
> > > > 03:37:53:
> > > >>>>>>> From: David Holmes <david.holmes at oracle.com>
> > > >>>>>>> To: Adam Farley8 <adam.farley at uk.ibm.com>
> > > >>>>>>> Cc: hotspot-dev at openjdk.java.net, serviceability-dev
> > > >>>>>>> <serviceability-dev at openjdk.java.net>
> > > >>>>>>> Date: 30/07/2019 03:38
> > > >>>>>>> Subject: Re: RFR: JDK-8227021: VM fails if any
> > > > sun.boot.library.path
> > > >>>>>>> paths are longer than JVM_MAXPATHLEN
> > > >>>>>>>
> > > >>>>>>> Hi Adam,
> > > >>>>>>>
> > > >>>>>>> On 25/07/2019 3:57 am, Adam Farley8 wrote:
> > > >>>>>>>> Hi David,
> > > >>>>>>>>
> > > >>>>>>>> Welcome back. :)
> > > >>>>>>> Thanks. Sorry for the delay in getting back to this.
> > > >>>>>>>
> > > >>>>>>> I like .v2 as it is much simpler (notwithstanding freeing
> > > >> the  already
> > > >>>>>>> allocated arrays adds some complexity - thanks for fixing 
that).
> > > >>>>>>>
> > > >>>>>>> I'm still not sure we can't optimise things better for
> > > > unchangeable
> > > >>>>>>> properties like the boot libary path, but that's another 
 RFE.
> > > >>>>>>>
> > > >>>>>>> Thanks,
> > > >>>>>>> David
> > > >>>>>>>
> > > >>>>>> Unless stated otherwise above:
> > > >>>>>> IBM United Kingdom Limited - Registered in England and Wales 
 with
> > > >>>>>> number 741598.
> > > >>>>>> Registered office: PO Box 41, North Harbour, Portsmouth,
> > > >> Hampshire  PO6 3AU
> > > >>>>> Unless stated otherwise above:
> > > >>>>> IBM United Kingdom Limited - Registered in England and Wales 
 with
> > > > number
> > > >>>>> 741598.
> > > >>>>> Registered office: PO Box 41, North Harbour, Portsmouth,
> > > >> Hampshire  PO6 3AU
> > > >>> Unless stated otherwise above:
> > > >>> IBM United Kingdom Limited - Registered in England and Wales 
with
> > > > number
> > > >>> 741598.
> > > >>> Registered office: PO Box 41, North Harbour, Portsmouth, 
Hampshire PO6
> > > > 3AU
> > > > Unless stated otherwise above:
> > > > IBM United Kingdom Limited - Registered in England and Wales with 
number
> > > > 741598.
> > > > Registered office: PO Box 41, North Harbour, Portsmouth, 
> Hampshire PO6 3AU
> > > >
> > > >
> > > 
> > 
> > Unless stated otherwise above:
> > IBM United Kingdom Limited - Registered in England and Wales with 
> > number 741598. 
> > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 
3AU
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with 
> number 741598. 
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 
3AU
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU



More information about the hotspot-dev mailing list