-
Notifications
You must be signed in to change notification settings - Fork 214
[VFS-798] IllegalArgumentException: Bad escape for Chinese characters in FileObject path #168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
All these tests appear to leak |
Yep. btw, the bug is real anyway... |
|
@XenoAmess |
commons-vfs2/src/test/java/org/apache/commons/vfs2/FileObjectTest.java
Outdated
Show resolved
Hide resolved
commons-vfs2/src/test/java/org/apache/commons/vfs2/FileObjectTest.java
Outdated
Show resolved
Hide resolved
|
@XenoAmess |
bc043a4 to
e058eb1
Compare
@garydgregory |
|
We all have busy jobs ;-)
…On Thu, Mar 18, 2021, 12:06 XenoAmess ***@***.***> wrote:
@XenoAmess <https://github.com/XenoAmess>
ping ;-)
My apologise.
I have a very busy job.
Just came home from company today.
Rebased and refined.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#168 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJB6N76HLC5ERLFQHWCKB3TEIQIDANCNFSM4ZHBWXBA>
.
|
Yep...That's life... |
|
Hi @XenoAmess |
2c9536d to
2554d14
Compare
Sure, done.
Well I actually be very busy these months, having a 12+hours*6days/week job and having a 1Z0-819 exam to take before 2021/4/25 and have an OSCP exam to take before 2022/3/12 BTW Seems it only happens on linux and runs good on windows, it is not an easy work for me... But it be no harmful to have a try isn't it. Fine, I will find some time to track this issue in this month. |
7f0c2cb to
f846aff
Compare
|
@garydgregory |
I'll take a look... |
@garydgregory OK. let's do it... |
|
You will find that this JDK code fails on macOs (adapt your path, the file exists): with: |
Yep , if you look my fix, there will never be I changed it from the toPath() inside. This is actually happened because the dis-coinsidence between URI rule in vfs and in jdk-lib. BUT it is to much cost to change the rule in vfs, so I just make it return a correct Path object. At least it can work with no bug. If you still feel strange, you can run the UT I added on mac, and I don't think it can fail. (I don't have a mac myself. I hate apple.) |
FileObject path. Original report, initial test, and impetus provided Xenos Amess in #168.
|
@XenoAmess TY for your PR and patience on this issue! |
1 similar comment
|
@XenoAmess TY for your PR and patience on this issue! |
|
A bad surprise, my local build on Macos was green but failed some GitHub builds. I'll try Windows 10 locally... |
@garydgregory Roger; will find time see it today. |
|
Oh. I see you are trying to fix it from the URI layer. Don't do that. vfs 's URI follows actually not a perfectly same protocol than jdk java lib... especially in some details about the So I suggest do not change anything for toURI or toURL, just change it from getPath is OK. Otherwise we should increase vfs's major version from 2 to 3, and rewrite every differences about our Of cource that will break backwards compatibility... And be a giant time coster... |
|
Hi @XenoAmess |
|
@XenoAmess ? Either this PR can be closed or rebased on master with more tests? |
@garydgregory Well, I'm back now. Please run my full-test(the one with an [junit4-Ignore] annotation upon both this pr and master), and compare the output. In short, there be more chars that cannot be handled correctly in master than this pr-168 Pin output here. additional materials1. vfs-pr168.txt
fails to use FileObject on : c = 37 draws = %
fails to use FileObject on : c = 91 draws = [
fails to use FileObject on : c = 93 draws = ]
fails to use FileObject on : c = 94 draws = ^
fails to use FileObject on : c = 96 draws = `
fails to use FileObject on : c = 123 draws = {
fails to use FileObject on : c = 125 draws = }
fails to use FileObject on : c = 127 draws = �
fails to use FileObject on : c = 128 draws = �
fails to use FileObject on : c = 129 draws = �
fails to use FileObject on : c = 130 draws = �
fails to use FileObject on : c = 131 draws = �
fails to use FileObject on : c = 132 draws = �
fails to use FileObject on : c = 133 draws = �
fails to use FileObject on : c = 134 draws = �
fails to use FileObject on : c = 135 draws = �
fails to use FileObject on : c = 136 draws = �
fails to use FileObject on : c = 137 draws = �
fails to use FileObject on : c = 138 draws = �
fails to use FileObject on : c = 139 draws = �
fails to use FileObject on : c = 140 draws = �
fails to use FileObject on : c = 141 draws = �
fails to use FileObject on : c = 142 draws = �
fails to use FileObject on : c = 143 draws = �
fails to use FileObject on : c = 144 draws = �
fails to use FileObject on : c = 145 draws = �
fails to use FileObject on : c = 146 draws = �
fails to use FileObject on : c = 147 draws = �
fails to use FileObject on : c = 148 draws = �
fails to use FileObject on : c = 149 draws = �
fails to use FileObject on : c = 150 draws = �
fails to use FileObject on : c = 151 draws = �
fails to use FileObject on : c = 152 draws = �
fails to use FileObject on : c = 153 draws = �
fails to use FileObject on : c = 154 draws = �
fails to use FileObject on : c = 155 draws = �
fails to use FileObject on : c = 156 draws = �
fails to use FileObject on : c = 157 draws = �
fails to use FileObject on : c = 158 draws = �
fails to use FileObject on : c = 159 draws = �
fails to use FileObject on : c = 160 draws =
fails to use FileObject on : c = 5760 draws =
fails to use FileObject on : c = 6158 draws =
fails to use FileObject on : c = 8192 draws =
fails to use FileObject on : c = 8193 draws =
fails to use FileObject on : c = 8194 draws =
fails to use FileObject on : c = 8195 draws =
fails to use FileObject on : c = 8196 draws =
fails to use FileObject on : c = 8197 draws =
fails to use FileObject on : c = 8198 draws =
fails to use FileObject on : c = 8199 draws =
fails to use FileObject on : c = 8200 draws =
fails to use FileObject on : c = 8201 draws =
fails to use FileObject on : c = 8202 draws =
fails to use FileObject on : c = 8232 draws =
fails to use FileObject on : c = 8233 draws =
fails to use FileObject on : c = 8239 draws =
fails to use FileObject on : c = 8287 draws =
fails to use FileObject on : c = 12288 draws =
|
🎵 |
|
@XenoAmess |
|
Hi @XenoAmess |
|
Hi All. |
It is a very old pr, I nearlly forgotten what happened. |
|
I wrote this in the wrote ticket! Sorry. |
f846aff to
e852fbf
Compare
seems 7c56b5a has already fixed this thing, that is exactly what I need. Will close this pr now. Thanks! |
|
Hi @XenoAmess |
@garydgregory
Hi.
Seems I found a bug in the current toFile function...
https://issues.apache.org/jira/browse/VFS-798