PING: RFR: JDK-8153073: UL: Set filesize option with k/m/g
David Holmes
david.holmes at oracle.com
Wed Apr 20 06:04:10 UTC 2016
On 20/04/2016 3:25 PM, Yasumasa Suenaga wrote:
> Hi David,
>
> > You still removed the size bounds checks:
> >
> > 190 size_t value = parse_value(value_str);
> > 191 if (value == SIZE_MAX || value > SIZE_MAX / K) {
> > 192 errstream->print_cr("Invalid option: %s must be in range
> [0, "
> > 193 SIZE_FORMAT "]", FileSizeOptionKey,
> SIZE_MAX / K);
> > 194 success = false;
>
> SIZE_MAX is defined as ULONG_MAX in stdint.h [1].
Ah I hadn't realized this was an external value, I thought it was some
internally enforced maximum file size limit. So this is just an overflow
check really, and ...
> Arguments::atojulong(atomull) checks value range [2].
... we already do an overflow check in here, but ...
> Thus I do not think we do not need to check value range in
> LogFileOutput::parse_options().
... on 32-bit size_t and julong are not the same size so we would still
need to ensure we don't specify a filesize that is greater than SIZE_MAX
on 32-bit.
>
> > Thanks, I had missed that example usage buried in there, but am still
> > surprised none of these "options" for the handling the file are
> > explicitly documented.
>
> I do not know how we can documented about it.
> (Is it internal process in Oracle?)
No I just meant that amongst all that help text you already modified,
there is nothing, that I could see, that actually describes the possible
options for filesize.
Thanks,
David
> I can help for it if I can
>
> Thanks,
>
> Yasumasa
>
> [1]
> https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/generic/stdint.h;h=442762728b899aa8ec219299692fce5953d796b0;hb=HEAD#l259
> [2]
> http://hg.openjdk.java.net/jdk9/hs/hotspot/file/8005261869c9/src/share/vm/runtime/arguments.cpp#l804
>
> 2016/04/20 11:24 "David Holmes" <david.holmes at oracle.com
> <mailto:david.holmes at oracle.com>>:
>
> Hi Yasumasa,
>
> On 19/04/2016 11:50 PM, Yasumasa Suenaga wrote:
> > Hi David,
> >
> > Thank you for your comment.
> >
> > I uploaded new webrev. Could you review again?
> > http://cr.openjdk.java.net/~ysuenaga/JDK-8153073/webrev.02/
>
> You still removed the size bounds checks:
>
> 190 size_t value = parse_value(value_str);
> 191 if (value == SIZE_MAX || value > SIZE_MAX / K) {
> 192 errstream->print_cr("Invalid option: %s must be in
> range [0, "
> 193 SIZE_FORMAT "]", FileSizeOptionKey,
> SIZE_MAX / K);
> 194 success = false;
>
> >> Which makes me wonder if atomull needs renaming - does the "m" mean
> >> memory? atojulong would seem more appropriate regardless.
> >
> > I renamed to atojulong() in new webrev.
> >
> >> Not directly related to your change but I was surprised that the
> >> various log file options don't seem to be documented anywhere in the
> >> -Xlog:help output.
> >
> > I updated help message in new webrev.
>
> Thanks, I had missed that example usage buried in there, but am still
> surprised none of these "options" for the handling the file are
> explicitly documented.
>
> Thanks,
> David
>
> >
> > Thanks,
> >
> > Yasumasa
> >
> >
> > On 2016/04/19 10:14, David Holmes wrote:
> >> Hi Yasumasa,
> >>
> >> On 19/04/2016 12:06 AM, Yasumasa Suenaga wrote:
> >>> PING:
> >>>
> >>> I've sent review request for JDK-8153073.
> >>> Could you review it?
> >>>
> >>> http://cr.openjdk.java.net/~ysuenaga/JDK-8153073/webrev.01/
> >>>
> >>> If this patch is merged, user can set logfile size with k/m/g.
> >>
> >> Your webrev seems out of date with respect to the current code - the
> >> logfile size processing is done in LogFileOutput::parse_options not
> >> configure_rotation. And of course you now need to work with
> jdk9/hs not
> >> hs-rt.
> >>
> >> That aside:
> >>
> >> src/share/vm/runtime/arguments.cpp
> >>
> >> I don't think you need to add the Arguments:: to the atomull
> calls when
> >> you are executing in Arguments code - lines 2643, 2660
> >>
> >> This comment could be updated to delete "memory"
> >>
> >> 788 // Parses a memory size specification string.
> >>
> >> Which makes me wonder if atomull needs renaming - does the "m" mean
> >> memory? atojulong would seem more appropriate regardless.
> >>
> >> ---
> >>
> >> src/share/vm/logging/logFileOutput.cpp
> >>
> >> You removed the size checking logic.
> >>
> >> Not directly related to your change but I was surprised that the
> >> various log file options don't seem to be documented anywhere in the
> >> -Xlog:help output.
> >>
> >> Thanks,
> >> David
> >> -----
> >>
> >>>
> >>> Please review it.
> >>>
> >>>
> >>> Thanks,
> >>>
> >>> Yasumasa
> >>>
> >>>
> >>> On 2016/04/11 18:28, Yasumasa Suenaga wrote:
> >>>> PING: Could you review it?
> >>>> We need more reviewer.
> >>>>
> >>>>>> http://cr.openjdk.java.net/~ysuenaga/JDK-8153073/webrev.01/
> >>>>
> >>>>
> >>>> Thanks,
> >>>>
> >>>> Yasumasa
> >>>>
> >>>>
> >>>> On 2016/03/31 22:33, Yasumasa Suenaga wrote:
> >>>>> CC'ed to serviceability-dev.
> >>>>>
> >>>>> Could you review it?
> >>>>>
> >>>>>> http://cr.openjdk.java.net/~ysuenaga/JDK-8153073/webrev.01/
> >>>>>
> >>>>>
> >>>>> Thanks,
> >>>>>
> >>>>> Yasumasa
> >>>>>
> >>>>>
> >>>>> On 2016/03/31 18:24, Yasumasa Suenaga wrote:
> >>>>>> Hi Marcus,
> >>>>>>
> >>>>>>> You're missing an include of arguments.hpp in
> logFileOutput.cpp.
> >>>>>>
> >>>>>> arguments.hpp is included in precompiled.hpp . So build was
> succeeded.
> >>>>>> However, it should be included in logFileOutput.cpp .
> >>>>>>
> >>>>>> I uploaded a new webrev. Could you review again?
> >>>>>>
> >>>>>> http://cr.openjdk.java.net/~ysuenaga/JDK-8153073/webrev.01/
> >>>>>>
> >>>>>>
> >>>>>> Thanks,
> >>>>>>
> >>>>>> Yasumasa
> >>>>>>
> >>>>>>
> >>>>>> On 2016/03/31 16:48, Marcus Larsson wrote:
> >>>>>>> Hi,
> >>>>>>>
> >>>>>>> On 03/30/2016 04:09 PM, Yasumasa Suenaga wrote:
> >>>>>>>> Hi all,
> >>>>>>>>
> >>>>>>>> This request review is related to [1].
> >>>>>>>>
> >>>>>>>> I want to set filesize option with k/m/g as below:
> >>>>>>>>
> -Xlog:gc=trace:file=gc.log:time:filecount=5,filesize=10m
> >>>>>>>>
> >>>>>>>> Memory size option (e.g. -Xmx) can be set with k/m/g .
> >>>>>>>> I think we can use option parser in arguments.cpp .
> >>>>>>>>
> >>>>>>>> I uploaded webrev. Could you review it?
> >>>>>>>>
> >>>>>>>> http://cr.openjdk.java.net/~ysuenaga/JDK-8153073/webrev.00/
> >>>>>>>
> >>>>>>> You're missing an include of arguments.hpp in
> logFileOutput.cpp.
> >>>>>>>
> >>>>>>> Apart from that, this looks good to me.
> >>>>>>>
> >>>>>>> Thanks,
> >>>>>>> Marcus
> >>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> I cannot access JPRT. So I need a sponsor.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Thanks,
> >>>>>>>>
> >>>>>>>> Yasumasa
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> [1]
> http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2016-March/018704.html
> >>>>>>>>
> >>>>>>>
>
More information about the serviceability-dev
mailing list