<Swing Dev> [11][JDK-8196673] JFileChooser throws InvalidPathException when changing to directory with added space

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Wed Feb 21 19:13:03 UTC 2018


On 21/02/2018 11:08, Krishna Addepalli wrote:
> I can raise a bug, but Sergey suggested that nio is being used because 
> of following fix:
> 
>  > in jdk9 nio api is used because of the fix for:
> 
>  > http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-September/004953.
> 
>  > html
> 
>  > we should not break it.

Link is correct:
http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-September/004953.html

> 
> @Sergey, could you post the correct link to the mail, since that link is 
> not working?
> 
> Hence, I have made the fix which simply trims the path on Windows, and 
> doesnot alter the string on other platforms.
> 
> Thanks,
> 
> Krishna
> 
> *From:*Semyon Sadetsky
> *Sent:* Tuesday, February 20, 2018 10:39 PM
> *To:* Krishna Addepalli <krishna.addepalli at oracle.com>; Philip Race 
> <philip.race at oracle.com>; swing-dev at openjdk.java.net
> *Subject:* Re: <Swing Dev> [11][JDK-8196673] JFileChooser throws 
> InvalidPathException when changing to directory with added space
> 
> On 02/20/2018 07:35 AM, Krishna Addepalli wrote:
> 
>     I have added the necessary information to the bug.
> 
>     As for Sergey’s question, the native file dialog also trims the
>     strings before creating/selecting a file/folder.
> 
>     So, now I’m not clear if we are going ahead with the fix or raise a
>     new bug against nio, and wait for them to fix it?
> 
>     Phil, Semyon could you suggest?
> 
> I suggest to file the bug against NIO and try to re-fix the 7067885 in a 
> different way without usage of NIO.
> 
> --Semyon
> 
>     Thanks,
> 
>     Krishna
> 
>     *From:*Semyon Sadetsky
>     *Sent:* Saturday, February 17, 2018 1:03 AM
>     *To:* Phil Race <philip.race at oracle.com>
>     <mailto:philip.race at oracle.com>; Krishna Addepalli
>     <krishna.addepalli at oracle.com>
>     <mailto:krishna.addepalli at oracle.com>; swing-dev at openjdk.java.net
>     <mailto:swing-dev at openjdk.java.net>
>     *Subject:* Re: <Swing Dev> [11][JDK-8196673] JFileChooser throws
>     InvalidPathException when changing to directory with added space
> 
>     On 02/16/2018 10:36 AM, Phil Race wrote:
> 
>         Seems that was about 20 emails ago in another off-list thread
>         about this bug.
>         It hasn't been posted to this list or added to the bug
>         evaluation as far as I can see.
>         Add that and the links to the evaluation, not just here.
> 
>         Since nio did already close 6578565 as not an issue I doubt it
>         will be re-considered
>         despite the points Semyon raises about other use cases for nio.
> 
>     At least we should try to file a new bug against NIO. They might be
>     confused by Windows documentation because default meaning of "shell"
>     on Linux is not the same as on Windows.
> 
>     --Semyon
> 
> 
>         So the closest to whatever 8 was doing is fine.
>         Sergey asked what the native FileDialog does and that is likely
>         worth checking
>         and including in the bug evaluation .. which probably should be
>         updated to
>         explain the problem better. It is the shell + UI that does not
>         support it, not the
>         windows OS.
> 
>         I find it irksome we have so many tests that directly use
>         sun.awt.shell.ShellFolder
>         but that is another issue ..
> 
>         -phil.
> 
>         On 02/16/2018 10:18 AM, Krishna Addepalli wrote:
> 
>             Hi Phil,
> 
>             “Vagueness that it is an nio problem without pointing to why
>             just makes me
>             have to investigate it myself to see why .. I'd prefer that
>             the bug owner do that :-)”
> 
> 
> 
>             I did provide a standalone program, that reproduces the
>             exact exception reported in the bug. Just repeating it here
>             again for reference:
> 
>             import java.nio.file.Paths;
> 
>             public class PathExceptionBug {
> 
>                  public static void main(String args[]) throws Exception {
> 
>                      Paths.get("C:\\testspace  ");
> 
>                  }
> 
>             }
> 
>             When Sergey pointed out the bug(JDK-6578565), and suggested
>             that NIO may close it, then we discussed about fixing it in
>             our code, instead of assigning it to them.
> 
>             Thanks,
> 
>             Krishna
> 
>             *From:*Phil Race
>             *Sent:* Friday, February 16, 2018 10:38 PM
>             *To:* Krishna Addepalli <krishna.addepalli at oracle.com>
>             <mailto:krishna.addepalli at oracle.com>; Semyon Sadetsky
>             <semyon.sadetsky at oracle.com>
>             <mailto:semyon.sadetsky at oracle.com>;
>             swing-dev at openjdk.java.net <mailto:swing-dev at openjdk.java.net>
>             *Subject:* Re: <Swing Dev> [11][JDK-8196673] JFileChooser
>             throws InvalidPathException when changing to directory with
>             added space
> 
>             Right, what I said was that perhaps nio is behaving as
>             specified in this case.
>             If a standalone nio program can be written that shows nio
>             contravening its spec.
>             then a bug should be raised against nio. I did not verify
>             what the case is there ..
>             I just suggested that should be investigated.
> 
>             Vagueness that it is an nio problem without pointing to why
>             just makes me
>             have to investigate it myself to see why .. I'd prefer that
>             the bug owner do that :-)
> 
>             But otherwise (no nio bug)  we'll have to deal with what nio
>             specifies.
>             If we can fix it locally *and* file a bug against nio then
>             that is also an issue.
>             Also nio may take a while to get to it ..
> 
>             -phil
> 
>             On 02/16/2018 08:56 AM, Krishna Addepalli wrote:
> 
>                 Hi Semyon,
> 
>                 I had a discussion with Sergey,Phil regarding this.
>                 While there was a similar bug filed against Core-libs
>                 (https://bugs.openjdk.java.net/browse/JDK-6578565) , it
>                 was closed out as not an issue.
> 
>                 I have checked it on Java8, and it behaves correctly on
>                 Windows – it trims the paths and then creates/selects
>                 the folder.
> 
>                  From Java9 onwards, the InvalidPathException is thrown,
>                 since ShellFolder.java file uses nio to get the path,
>                 and the nio throws the exception as reported in the bug.
> 
>                 Phil suggested that, we should fix the bug at our level
>                 if we can, since nio may not consider this to be a
>                 problem at their level.
> 
>                 Hence this suggested fix.
> 
>                 Thanks,
> 
>                 Krishna
> 
>                 *From:*Semyon Sadetsky
>                 *Sent:* Friday, February 16, 2018 10:04 PM
>                 *To:* Krishna Addepalli <krishna.addepalli at oracle.com>
>                 <mailto:krishna.addepalli at oracle.com>;
>                 swing-dev at openjdk.java.net
>                 <mailto:swing-dev at openjdk.java.net>
>                 *Subject:* Re: <Swing Dev> [11][JDK-8196673]
>                 JFileChooser throws InvalidPathException when changing
>                 to directory with added space
> 
>                 According to Pardeep Sharma comment the bug is
>                 reproducible since 6u45. Do you confirm this or it is a
>                 regression introduced in 9?
> 
>                  From the stack trace it doesn't look as a client-libs
>                 issue but a NIO issue.
> 
>                 --Semyon
> 
>                 On 02/16/2018 04:40 AM, Krishna Addepalli wrote:
> 
>                     Hi Sergey, Phil
> 
>                     Please review a fix for JDK-8196673:
>                     https://bugs.openjdk.java.net/browse/JDK-8196673
> 
>                     Webrev:
>                     http://cr.openjdk.java.net/~kaddepalli/8196673/webrev00
>                     <http://cr.openjdk.java.net/%7Ekaddepalli/8196673/webrev00>
> 
>                     The problem is in Java9 and later, when a directory
>                     path that contains leading/trailing space is
>                     provided, it throws an InvalidPathException. As per
>                     Phil’s recommendation, I have added a simple fix,
>                     which will trim the path for Windows, whereas for
>                     other platforms, it keeps it as it is.
> 
>                     Thanks,
> 
>                     Krishna
> 


-- 
Best regards, Sergey.



More information about the swing-dev mailing list