Issue1639
Created on 2010-08-09.14:14:39 by elentz, last changed 2012-06-29.14:38:11 by fwierzbicki.
File name |
Uploaded |
Description |
Edit |
Remove |
PySystemState.py.patch
|
elentz,
2010-08-09.14:14:37
|
2.5.2b1 patch for PySystemState.java only |
|
|
1639patch.txt
|
otmarhumbel,
2010-10-09.07:50:42
|
a proposed patch |
|
|
msg5946 (view) |
Author: Eric Lentz (elentz) |
Date: 2010-08-09.14:14:37 |
|
Symptom:
Deploying a web app in JBoss 5.x (and later, I think), the classpath is ['__classpath__', '__pyclasspath__/'] but it should also contain $JBOSS_HOME/{DEPLOYMENT}/WEB-INF/lib/Lib and $JBOSS_HOME/{DEPLOYMENT}/WEB-INF/lib/jython.jar/Lib. Therefore, one is unable to import any libraries and one receives the error: "ImportError: No module named ..."
Reason for the error:
JBoss 5.x introduces the vfszip protocol for jar files. org.python.core.PySystemState uses the jar:file protocol name in an attempt to parse a string that contains the jar filename out of a string that looks like "jar:file:/some/path/jython.jar!/org/python/core/PySystemState.class" in other containers. JBoss returns "vfszip:/some/path/jython.jar/org/python/core/PySystemState.class". Note the missing "!" and the protocol name is different.
The fix:
The fix is to also test for the vfszip: string and parse the resulting string in a way that extracts the jar filename. A patch for 2.5.2b1 is attached.
Additional Note:
It looks like JBoss is staying with vfszip, so this issue is not likely confined to version 5. The issue was originally spotted in Jython version 2.5.1, so that is a confirmed affected version as well.
|
msg5947 (view) |
Author: Oti Humbel (otmarhumbel) |
Date: 2010-08-09.14:52:42 |
|
Thanks for the patch - i'll take care of it!
|
msg6088 (view) |
Author: Oti Humbel (otmarhumbel) |
Date: 2010-09-22.23:33:18 |
|
promised to fix rigth after JavaOne
|
msg6155 (view) |
Author: Oti Humbel (otmarhumbel) |
Date: 2010-10-07.20:24:04 |
|
Eric,
on Windows, the URL contains a leading slash right after vfszip:, e.g.:
vfszip:/C:/Bison/lchload2/JBoss5/bin/jboss/server/bison/deploy/bison.ear/extlib/jython.jar/org/python/core/PySystemState.class
This needs to be removed in order to get a working path.
Can you confirm that everything after vfszip: belongs to a valid path on *nix (like your patch suggests) ?
|
msg6157 (view) |
Author: Eric Lentz (elentz) |
Date: 2010-10-08.12:12:11 |
|
Yep, its all valid path. On the Solaris 10 system I'm using and the Fedora Linux 12 system, they have numerous log file references that speak to vfszip:/a/valid/path. So, we would want everything after the ":", minus the /org/python/core/PySystemState.class, just as the patch does.
So, a question for you. Are you concerned about the leading "/" before the "C:"? I didn't make an exhaustive search of PySystemState.py, but I see the result of the method call being used at least in findRoot which uses it in a File class. At least on 1.5.0_22, a leading slash is okay.
Test:
File testFile = new File("/D:/tmp/Foo.txt");
if(testFile.isFile() && testFile.canRead())
System.out.println("It is a readable file");
BufferedReader input = new BufferedReader(new FileReader(testFile));
System.out.println(input.readLine());
Outputs:
It is a readable file
This is the contents of Foo.txt (which is what is in Foo.txt, so it works fine)
Thanks for your care and attention to this issue.
|
msg6158 (view) |
Author: Eric Lentz (elentz) |
Date: 2010-10-08.12:13:56 |
|
Oh, I re-read your message and see you are concerned about it. Based on my test, do you still think it is an issue?
|
msg6159 (view) |
Author: Oti Humbel (otmarhumbel) |
Date: 2010-10-09.07:47:00 |
|
Eric,
many thanks for all your tests!
In short: yes i am still concerned about the leading slash on windows.
Our Jython embedding in JBoss 5 did not work this way, i had to remove the slash. Sadly i don't exactly remember why, and i have no possibility to verify it until in 2 weeks.
My suggestion is to distinguish between windows and other platforms for the moment
|
msg6160 (view) |
Author: Oti Humbel (otmarhumbel) |
Date: 2010-10-09.07:50:42 |
|
The attached 1639patch.txt fixes the problem - to the best of my knowledge
|
msg6161 (view) |
Author: Oti Humbel (otmarhumbel) |
Date: 2010-10-09.07:55:52 |
|
fixed in revision 7141
|
msg6165 (view) |
Author: Eric Lentz (elentz) |
Date: 2010-10-11.12:00:34 |
|
Thanks Oti. Looks great!
|
|
Date |
User |
Action |
Args |
2012-06-29 14:38:11 | fwierzbicki | set | nosy:
+ fwierzbicki |
2010-10-11 12:00:35 | elentz | set | messages:
+ msg6165 |
2010-10-09 07:55:52 | otmarhumbel | set | status: open -> closed resolution: fixed messages:
+ msg6161 |
2010-10-09 07:50:46 | otmarhumbel | set | files:
+ 1639patch.txt messages:
+ msg6160 |
2010-10-09 07:47:01 | otmarhumbel | set | messages:
+ msg6159 |
2010-10-08 12:13:56 | elentz | set | messages:
+ msg6158 |
2010-10-08 12:12:12 | elentz | set | messages:
+ msg6157 |
2010-10-07 20:24:05 | otmarhumbel | set | messages:
+ msg6155 |
2010-09-22 23:33:18 | otmarhumbel | set | messages:
+ msg6088 |
2010-08-22 22:42:28 | zyasoft | set | priority: high |
2010-08-09 14:52:42 | otmarhumbel | set | assignee: otmarhumbel messages:
+ msg5947 nosy:
+ otmarhumbel |
2010-08-09 14:14:40 | elentz | create | |
|