Hi David, thanks for looking at the change. New webrev: http://cr.openjdk.java.net/~goetz/wr16/8170663-corlib_s11y/webrev.04/
> src/java.base/share/native/libjli/java.c > As far as I can see the existing code is working perfectly fine. Ah, thanks for the explanation, now I got it! Removed. > Again I'm not sure what the bug is here. On AIX the output string is > expanded with: > "%s/lib/%s/jli:" I first edited this against jdk9/hs, where the arch is gone since 8066474, http://hg.openjdk.java.net/jdk9/hs/jdk/rev/81508186e5bc but the // was not adapted. Then I moved the change to jdk9/dev because I thought I have to push it there. And yes, in that coding // would be correct. So I have to wait until hs is promoted ... > The jvmpath -> jvm_newpath change wasn't really necessary - a comment on > the strdup would have sufficed IMO. Dmitry asked me to add it. But I think it's ok. Can I consider this reviewed now? I.e. could I push it once 8066474 is promoted and Joe Darcy agreed? Best regards, Goetz. > -----Original Message----- > From: David Holmes [mailto:david.hol...@oracle.com] > Sent: Donnerstag, 8. Dezember 2016 09:14 > To: Lindenmaier, Goetz <goetz.lindenma...@sap.com>; 'Dmitry Samersoff' > <dmitry.samers...@oracle.com>; Java Core Libs <core-libs- > d...@openjdk.java.net>; serviceability-dev (serviceability- > d...@openjdk.java.net) <serviceability-...@openjdk.java.net> > Subject: Re: RFR(M): 8170663: Fix minor issues in corelib and servicabilty > coding. > > Hi Goetz, > > On 8/12/2016 1:26 AM, Lindenmaier, Goetz wrote: > > Hi Dmitry, > > > > yes, new_jvmpath is consistent with the other variables. > > I also merged the ifs in SDE.c. > > > > new webrev: > > http://cr.openjdk.java.net/~goetz/wr16/8170663-corlib_s11y/webrev.03/ > > src/java.base/share/native/libjli/java.c > > As far as I can see the existing code is working perfectly fine. Given a > jvm.cfg with: > > -server KNOWN > -client IGNORE > -myvm KNOWN > -oldvm ALIASED_TO -server > > The usage text is: > > -server to select the "server" VM > -myvm to select the "myvm" VM > -oldvm is a synonym for the "server" VM [deprecated] > The default VM is server, > because you are running on a server-class machine. > > which is exactly what I would expect. Why do you think there is a bug? > > --- > > src/java.base/unix/native/libjli/java_md_solinux.c > > Again I'm not sure what the bug is here. On AIX the output string is > expanded with: > > "%s/lib/%s/jli:" > > so it needs to account for the extra "/lib//jli:" characters - and that > is exactly what the existing code does: > > + JLI_StrLen("/lib//jli:") > > The jvmpath -> jvm_newpath change wasn't really necessary - a comment on > the strdup would have sufficed IMO. > > Thanks, > David > ----- > > > > > > Best regards, > > Goetz. > > > >> -----Original Message----- > >> From: Dmitry Samersoff [mailto:dmitry.samers...@oracle.com] > >> Sent: Wednesday, December 07, 2016 2:43 PM > >> To: Lindenmaier, Goetz <goetz.lindenma...@sap.com>; Java Core Libs > >> <core-libs-dev@openjdk.java.net>; serviceability-dev (serviceability- > >> d...@openjdk.java.net) <serviceability-...@openjdk.java.net> > >> Subject: Re: RFR(M): 8170663: Fix minor issues in corelib and servicabilty > >> coding. > >> > >> Goetz, > >> > >> SDE.c: > >> > >> You might combine if at ll. 260 and 263 to one but it's just matter of > >> test. > >> > >> if (sti == baseStratumIndex || sti < 0) { > >> return; /* Java stratum - return unchanged */ > >> } > >> > >>> I'm not sure what you mean. I tried to fix it, but please > >>> double-check the new webrev. > >> > >> if cnt is <= 0 loop at l.267 > >> > >> for (; cnt-- > 0; ++fromEntry) { > >> > >> is never run and we effectively do > >> > >> *entryCountPtr = 0; > >> > >> at l.283 > >> > >> So if we you suspect that cnt may become negative or 0: > >> (your v.01 changes) > >> > >> 260 if (sti < 0 && cnt > 0) { > >> 261 return; > >> 262 } > >> > >> it's better to check it early. > >> > >> But I'm not sure we have to care about negative/zero cnt here. > >> > >> -Dmitry > >> > >> On 2016-12-07 11:37, Lindenmaier, Goetz wrote: > >>> Hi Dmitry, > >>> > >>> thanks for looking at my change! > >>> Updated webrev: > >>> http://cr.openjdk.java.net/~goetz/wr16/8170663-corlib_s11y/webrev.02 > >>> > >>>> * src/java.base/unix/native/libjli/java_md_solinux.c > >>>> Is this line correct? > >>>> 519 jvmpath = JLI_StringDup(jvmpath); > >>> > >>> It seems pointless. Should I remove it? (The whole file is a horror.) > >>> > >>>> * src/jdk.jdwp.agent/share/native/libjdwp/SDE.c > >>>> It might be better to return immediately if cnt < 0, > >>>> regardless of value of sti. > >>> > >>> I'm not sure what you mean. I tried to fix it, but please > >>> double-check the new webrev. > >>> > >>>> * src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c > >>>> It might be better to write > >>>> arg.l_linger = (on) ? (unsigned short)value.i : 0; > >>>> and leave one copy of setsockopt() call > >>> > >>> Yes, looks better. > >>> > >>> Best regards, > >>> Goetz > >>> > >>> > >>>> > >>>> -Dmitry > >>>> > >>>> > >>>> On 2016-12-06 16:12, Lindenmaier, Goetz wrote: > >>>>> Hi, > >>>>> > >>>>> > >>>>> > >>>>> This change fixes some minor issues found in our code scans. > >>>>> > >>>>> I hope this correctly addresses corelib and serviceability issues. > >>>>> > >>>>> > >>>>> > >>>>> Please review: > >>>>> > >>>>> http://cr.openjdk.java.net/~goetz/wr16/8170663- > >> corlib_s11y/webrev.01/ > >>>>> > >>>>> > >>>>> > >>>>> Best regards, > >>>>> > >>>>> Goetz. > >>>>> > >>>>> > >>>>> > >>>>> Changes in detail: > >>>>> > >>>>> > >>>>> > >>>>> e_asin.c > >>>>> > >>>>> Code scan reports missing {}. > >>>>> > >>>>> > >>>>> The code "if (huge+x>one) {" is only there to set the inexact flag of > >>>>> the processor. > >>>>> It's a way to avoid the C compiler to optimize the code away. It is > >>>>> always true, > >>>>> so the parenthesis of the outer else don't matter. > >>>>> > >>>>> Although this basically just adds the {} I would like to submit this to > >>>>> > >>>>> avoid anybody else spends more the 30sec on understanding these > >>>>> > >>>>> if statements. > >>>>> > >>>>> > >>>>> k_standard.c > >>>>> > >>>>> exc.retval is returned below and thus should always be initialized. > >>>>> > >>>>> > >>>>> imageDecompressor.cpp > >>>>> > >>>>> Wrong destructor is used. Reported also by David CARLIER > >>>>> > >>>>> > >>>>> java.c > >>>>> > >>>>> in line 1865 'name' was used, it should be 'alias'. > >>>>> > >>>>> > >>>>> java_md_solinux.c > >>>>> > >>>>> "//" in path is useless. Further down a free is missing. > >>>>> > >>>>> > >>>>> SDE.c > >>>>> > >>>>> Call to stratumTableIndex can return negative value if defaultStratumId > >>>>> == null. > >>>>> > >>>>> > >>>>> socket_md.c > >>>>> > >>>>> arg.l_linger is passed to setsockopt uninitialized. Its use is hidden in > >>>>> the macros. > >>>>> > >>>>> > >>>>> unpack.cpp > >>>>> > >>>>> n.slice should not get negative argument for end, which is passed from > >>>>> dollar1. > >>>>> But dollar1 can get negative where it is set to the result of > >>>>> lastIndexOf(DOLLAR_MIN, DOLLAR_MAX, n, dollar2 - 1). > >>>>> > >>>> > >>>> > >>>> -- > >>>> Dmitry Samersoff > >>>> Oracle Java development team, Saint Petersburg, Russia > >>>> * I would love to change the world, but they won't give me the sources. > >> > >> > >> -- > >> Dmitry Samersoff > >> Oracle Java development team, Saint Petersburg, Russia > >> * I would love to change the world, but they won't give me the sources.