You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[JENKINS-2670] Error 404 for multi-configuration projects when values contains a slash '/' #342
For multi-configuration projects where the values for a axis contains a slash
'/' a Error 404 occures when a link is clicked which refers to the build status
for that specifc build. The build exists and can be found in the jobs-directory
with log files and success status etc. Thus the build is successfull but cannot
be viewed via the web-interface.
For multi-configuration projects where the values for a axis contains a slash
'/' a Error 404 occures when a link is clicked which refers to the build status
for that specifc build. The build exists and can be found in the jobs-directory
with log files and success status etc. Thus the build is successfull but cannot
be viewed via the web-interface.
Hi,
just trying to catch up ... is this issue related to the build-publisher plugin?
E.g. can you observe this behaviour only after build has been published? (You
can also point me to a thread on the user list, if I missed any)
Thanks
P.S. I am on vacation till Jan 5th
Hi,
just trying to catch up ... is this issue related to the build-publisher plugin?
E.g. can you observe this behaviour only after build has been published? (You
can also point me to a thread on the user list, if I missed any)
unassigning myself from this one.. it's more involved than I have time for.
here's what I found:
1) AbstractItem.getShortUrl() just uses getName() right in the URL, so it
assumes item names are always URL-safe.. clearly not so for matrix jobs, where
the URL contains PARAM=VALUE and those could be anything.
2) I put an override of getShortUrl in MatrixConfiguration that uses
Util.rawEncode(getName()) instead.. this made a URL like
/job/my-job/MyParam=test%2Fslash/
However, maybe stapler doesn't handle this well.. when
MatrixProject.getDynamic is called it receives token = "MyParam=test".. it seems
stapler decoded %2F into / and still treated it as a path separator, rather than
"MyParam=test/slash" being one token.
3) Matrix job also uses the axis value for storing on the filesystem, so it
wrote stuff into configurations/axis-MyParam/test/slash/ directory.. this extra
depth (2 levels under axis-MyParam instead of one) seems to confuse things, as
the status for these items shows "Pending" instead of "Success".
4) MatrixProject/ajaxMatrix.jelly and MatrixBuild/ajaxMatrix.jelly use different
sources for the URL, so each should be fixed up.
Hope this helps....
unassigning myself from this one.. it's more involved than I have time for.
here's what I found:
1) AbstractItem.getShortUrl() just uses getName() right in the URL, so it
assumes item names are always URL-safe.. clearly not so for matrix jobs, where
the URL contains PARAM=VALUE and those could be anything.
2) I put an override of getShortUrl in MatrixConfiguration that uses
Util.rawEncode(getName()) instead.. this made a URL like
/job/my-job/MyParam=test%2Fslash/
However, maybe stapler doesn't handle this well.. when
MatrixProject.getDynamic is called it receives token = "MyParam=test".. it seems
stapler decoded %2F into / and still treated it as a path separator, rather than
"MyParam=test/slash" being one token.
3) Matrix job also uses the axis value for storing on the filesystem, so it
wrote stuff into configurations/axis-MyParam/test/slash/ directory.. this extra
depth (2 levels under axis-MyParam instead of one) seems to confuse things, as
the status for these items shows "Pending" instead of "Success".
4) MatrixProject/ajaxMatrix.jelly and MatrixBuild/ajaxMatrix.jelly use different
sources for the URL, so each should be fixed up.
Log:
[FIXED STAPLER-8] In looking at JENKINS-2670 I found that stapler did not recognize
the difference between abc/def and abc%2Fdef in a url.. it would always try to map
the request to "abc" instead of "abc/def" as a single entity.
Log: [FIXED STAPLER-8] In looking at JENKINS-2670 I found that stapler did not recognize
the difference between abc/def and abc%2Fdef in a url.. it would always try to map
the request to "abc" instead of "abc/def" as a single entity.
Code changed in hudson
User: : mindless
Path:
trunk/hudson/main/core/src/main/java/hudson/Util.java
trunk/hudson/main/core/src/main/java/hudson/matrix/MatrixBuild.java
trunk/hudson/main/core/src/main/java/hudson/matrix/MatrixProject.java
trunk/hudson/main/core/src/main/java/hudson/model/AbstractItem.java
trunk/hudson/main/core/src/main/resources/hudson/matrix/MatrixBuild/ajaxMatrix.jelly
http://fisheye4.cenqua.com/changelog/hudson/?cs=21321
Log:
[FIXED JENKINS-2670] Matrix project includes axis values in URLs..
add encoding when needed for characters in these values, particularly /
Code changed in hudson
User: : mindless
Path:
trunk/hudson/main/core/src/main/java/hudson/Util.java
trunk/hudson/main/core/src/main/java/hudson/matrix/MatrixBuild.java
trunk/hudson/main/core/src/main/java/hudson/matrix/MatrixProject.java
trunk/hudson/main/core/src/main/java/hudson/model/AbstractItem.java
trunk/hudson/main/core/src/main/resources/hudson/matrix/MatrixBuild/ajaxMatrix.jelly http://fisheye4.cenqua.com/changelog/hudson/?cs=21321
Log: [FIXED JENKINS-2670] Matrix project includes axis values in URLs..
add encoding when needed for characters in these values, particularly /
Activity
jenkins-infra-bot commentedon Dec 23, 2008
dvrzalik:
Raw content of original comment:
Hi,
just trying to catch up ... is this issue related to the build-publisher plugin?
E.g. can you observe this behaviour only after build has been published? (You
can also point me to a thread on the user list, if I missed any)
Thanks
P.S. I am on vacation till Jan 5th
jenkins-infra-bot commentedon Feb 5, 2009
Raw content of original comment:
setting subcomponent to "matrix".. I tried this, build-publisher doesn't seem
related.
jenkins-infra-bot commentedon Feb 5, 2009
Raw content of original comment:
unassigning myself from this one.. it's more involved than I have time for.
here's what I found:
1) AbstractItem.getShortUrl() just uses getName() right in the URL, so it
assumes item names are always URL-safe.. clearly not so for matrix jobs, where
the URL contains PARAM=VALUE and those could be anything.
2) I put an override of getShortUrl in MatrixConfiguration that uses
Util.rawEncode(getName()) instead.. this made a URL like
/job/my-job/MyParam=test%2Fslash/
However, maybe stapler doesn't handle this well.. when
MatrixProject.getDynamic is called it receives token = "MyParam=test".. it seems
stapler decoded %2F into / and still treated it as a path separator, rather than
"MyParam=test/slash" being one token.
3) Matrix job also uses the axis value for storing on the filesystem, so it
wrote stuff into configurations/axis-MyParam/test/slash/ directory.. this extra
depth (2 levels under axis-MyParam instead of one) seems to confuse things, as
the status for these items shows "Pending" instead of "Success".
4) MatrixProject/ajaxMatrix.jelly and MatrixBuild/ajaxMatrix.jelly use different
sources for the URL, so each should be fixed up.
Hope this helps....
jenkins-infra-bot commentedon Aug 30, 2009
Raw content of original comment:
taking another crack at this one
jenkins-infra-bot commentedon Aug 30, 2009
Raw content of original comment:
I filed STAPLER-8 (https://stapler.dev.java.net/issues/show_bug.cgi?id=8) to
make this fix possible, and I have local changes ready to commit to fix things
on the Hudson side.
jenkins-infra-bot commentedon Aug 30, 2009
Raw content of original comment:
Created an attachment (id=877)
Proposed fix
jenkins-infra-bot commentedon Aug 31, 2009
Raw content of original comment:
Code changed in stapler
User: : mindless
Path:
trunk/stapler/core/src/main/java/org/kohsuke/stapler/AncestorImpl.java
https://stapler.dev.java.net/source/browse/stapler/trunk/stapler/core/src/main/java/org/kohsuke/stapler/AncestorImpl.java?view=diff&rev=1102&p1=trunk/stapler/core/src/main/java/org/kohsuke/stapler/AncestorImpl.java&p2=trunk/stapler/core/src/main/java/org/kohsuke/stapler/AncestorImpl.java&r1=1101&r2=1102
trunk/stapler/core/src/main/java/org/kohsuke/stapler/Stapler.java
https://stapler.dev.java.net/source/browse/stapler/trunk/stapler/core/src/main/java/org/kohsuke/stapler/Stapler.java?view=diff&rev=1102&p1=trunk/stapler/core/src/main/java/org/kohsuke/stapler/Stapler.java&p2=trunk/stapler/core/src/main/java/org/kohsuke/stapler/Stapler.java&r1=1101&r2=1102
trunk/stapler/core/src/main/java/org/kohsuke/stapler/TokenList.java
https://stapler.dev.java.net/source/browse/stapler/trunk/stapler/core/src/main/java/org/kohsuke/stapler/TokenList.java?view=diff&rev=1102&p1=trunk/stapler/core/src/main/java/org/kohsuke/stapler/TokenList.java&p2=trunk/stapler/core/src/main/java/org/kohsuke/stapler/TokenList.java&r1=1101&r2=1102
Log:
[FIXED STAPLER-8] In looking at
JENKINS-2670I found that stapler did not recognizethe difference between abc/def and abc%2Fdef in a url.. it would always try to map
the request to "abc" instead of "abc/def" as a single entity.
jenkins-infra-bot commentedon Sep 1, 2009
Raw content of original comment:
Code changed in hudson
User: : mindless
Path:
trunk/hudson/main/core/src/main/java/hudson/Util.java
trunk/hudson/main/core/src/main/java/hudson/matrix/MatrixBuild.java
trunk/hudson/main/core/src/main/java/hudson/matrix/MatrixProject.java
trunk/hudson/main/core/src/main/java/hudson/model/AbstractItem.java
trunk/hudson/main/core/src/main/resources/hudson/matrix/MatrixBuild/ajaxMatrix.jelly
http://fisheye4.cenqua.com/changelog/hudson/?cs=21321
Log:
[FIXED JENKINS-2670] Matrix project includes axis values in URLs..
add encoding when needed for characters in these values, particularly /
jenkins-infra-bot commentedon Nov 21, 2014
Raw content of original comment:
I just observed exactly this issue with Jenkins LTS version 1.580.1
Do you need more information on this? I'm happy to help.
jenkins-infra-bot commentedon Dec 1, 2014
Raw content of original comment:
Please check existing issues before reopening unrelated ones