Bug 724160 (BRMS-103) - RSS feeds on BRMS elements (e.g, packages) not working
Summary: RSS feeds on BRMS elements (e.g, packages) not working
Keywords:
Status: CLOSED NEXTRELEASE
Alias: BRMS-103
Product: JBoss Enterprise BRMS Platform 5
Classification: JBoss
Component: User Interface
Version: 5.0.0 CR1
Hardware: Unspecified
OS: Unspecified
high
unspecified
Target Milestone: ---
: 5.0.1,5.0.1 CR2
Assignee: Jervis Liu
QA Contact:
URL: http://jira.jboss.org/jira/browse/BRM...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-05-01 14:50 UTC by Len DiMaggio
Modified: 2013-11-07 22:09 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
April 17 CR1 build
Last Closed: 2009-09-17 14:38:21 UTC
Type: Bug


Attachments (Terms of Use)
bug.html (6.03 KB, text/html)
2009-09-02 15:59 UTC, Len DiMaggio
no flags Details
bug.swf (840.09 KB, application/x-shockwave-flash)
2009-09-02 15:59 UTC, Len DiMaggio
no flags Details
server.log (1.63 MB, text/x-log)
2009-09-02 18:20 UTC, Len DiMaggio
no flags Details
BRMS-103.jpg (331.96 KB, image/jpeg)
2009-09-17 14:37 UTC, Len DiMaggio
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 724192 0 high CLOSED AtomFeed has incorrect XML base 2021-02-22 00:41:40 UTC
Red Hat Issue Tracker BRMS-103 0 None None None Never

Internal Links: 724192

Description Len DiMaggio 2009-05-01 14:50:16 UTC
Date of First Response: 2009-10-02 01:55:17
securitylevel_name: Public

BRMS product issue for GUVNOR project JIRA: GUVNOR-285

Comment 1 Len DiMaggio 2009-05-01 14:52:04 UTC
Link: Added: This issue depends GUVNOR-285


Comment 2 Len DiMaggio 2009-08-28 23:51:30 UTC
Still an issue for 5.0.1 CR1 (5.0.1.BRMS 28909:28910M)

2009-08-28 17:37:31,644 INFO  [STDOUT] ERROR 28-08 17:37:31,633 (RulesRepository.java:loadPackage:369)   Unable to load a rule package. 
javax.jcr.RepositoryException: failed to resolve path null relative to /drools:repository/drools:package_area: empty path: empty path
        at org.apache.jackrabbit.core.NodeImpl.resolveRelativeNodePath(NodeImpl.java:237)
        at org.apache.jackrabbit.core.NodeImpl.getNode(NodeImpl.java:2468)
        at org.drools.repository.RulesRepository.loadPackage(RulesRepository.java:364)
        at org.drools.guvnor.server.files.FeedServlet.doPackageFeed(FeedServlet.java:80)
        at org.drools.guvnor.server.files.FeedServlet.access$000(FeedServlet.java:26)
        at org.drools.guvnor.server.files.FeedServlet$1.a(FeedServlet.java:37)
        at org.drools.guvnor.server.files.RepositoryServlet.doAuthorizedAction(RepositoryServlet.java:93)
        at org.drools.guvnor.server.files.FeedServlet.doGet(FeedServlet.java:35)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
        at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)
        at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.jackrabbit.spi.commons.conversion.MalformedPathException: empty path
        at org.apache.jackrabbit.spi.commons.conversion.PathParser.parse(PathParser.java:90)
        at org.apache.jackrabbit.spi.commons.conversion.PathParser.parse(PathParser.java:57)
        at org.apache.jackrabbit.spi.commons.conversion.ParsingPathResolver.getQPath(ParsingPathResolver.java:60)
        at org.apache.jackrabbit.spi.commons.conversion.CachingPathResolver.getQPath(CachingPathResolver.java:77)
        at org.apache.jackrabbit.spi.commons.conversion.DefaultNamePathResolver.getQPath(DefaultNamePathResolver.java:69)
        at org.apache.jackrabbit.core.SessionImpl.getQPath(SessionImpl.java:649)
        at org.apache.jackrabbit.core.NodeImpl.resolveRelativeNodePath(NodeImpl.java:209)
        ... 32 more
org.apache.jackrabbit.spi.commons.conversion.MalformedPathException: empty path
        at org.apache.jackrabbit.spi.commons.conversion.PathParser.parse(PathParser.java:90)
        at org.apache.jackrabbit.spi.commons.conversion.PathParser.parse(PathParser.java:57)
        at org.apache.jackrabbit.spi.commons.conversion.ParsingPathResolver.getQPath(ParsingPathResolver.java:60)
        at org.apache.jackrabbit.spi.commons.conversion.CachingPathResolver.getQPath(CachingPathResolver.java:77)
        at org.apache.jackrabbit.spi.commons.conversion.DefaultNamePathResolver.getQPath(DefaultNamePathResolver.java:69)
        at org.apache.jackrabbit.core.SessionImpl.getQPath(SessionImpl.java:649)
        at org.apache.jackrabbit.core.NodeImpl.resolveRelativeNodePath(NodeImpl.java:209)
        at org.apache.jackrabbit.core.NodeImpl.getNode(NodeImpl.java:2468)
        at org.drools.repository.RulesRepository.loadPackage(RulesRepository.java:364)
        at org.drools.guvnor.server.files.FeedServlet.doPackageFeed(FeedServlet.java:80)
        at org.drools.guvnor.server.files.FeedServlet.access$000(FeedServlet.java:26)
        at org.drools.guvnor.server.files.FeedServlet$1.a(FeedServlet.java:37)
        at org.drools.guvnor.server.files.RepositoryServlet.doAuthorizedAction(RepositoryServlet.java:93)
        at org.drools.guvnor.server.files.FeedServlet.doGet(FeedServlet.java:35)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
        at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)
        at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
2009-08-28 17:37:31,646 INFO  [STDOUT] ERROR 28-08 17:37:31,645 (RepositoryServlet.java:doAuthorizedAction:95)   org.drools.repository.RulesRepositoryException: Unable to load a rule package. 
2009-08-28 17:37:31,681 ERROR [org.apache.catalina.core.ContainerBase] Servlet.service() for servlet FeedServlet threw exception
org.apache.jackrabbit.spi.commons.conversion.MalformedPathException: empty path
        at org.apache.jackrabbit.spi.commons.conversion.PathParser.parse(PathParser.java:90)
        at org.apache.jackrabbit.spi.commons.conversion.PathParser.parse(PathParser.java:57)
        at org.apache.jackrabbit.spi.commons.conversion.ParsingPathResolver.getQPath(ParsingPathResolver.java:60)
        at org.apache.jackrabbit.spi.commons.conversion.CachingPathResolver.getQPath(CachingPathResolver.java:77)
        at org.apache.jackrabbit.spi.commons.conversion.DefaultNamePathResolver.getQPath(DefaultNamePathResolver.java:69)
        at org.apache.jackrabbit.core.SessionImpl.getQPath(SessionImpl.java:649)
        at org.apache.jackrabbit.core.NodeImpl.resolveRelativeNodePath(NodeImpl.java:209)
        at org.apache.jackrabbit.core.NodeImpl.getNode(NodeImpl.java:2468)
        at org.drools.repository.RulesRepository.loadPackage(RulesRepository.java:364)
        at org.drools.guvnor.server.files.FeedServlet.doPackageFeed(FeedServlet.java:80)
        at org.drools.guvnor.server.files.FeedServlet.access$000(FeedServlet.java:26)
        at org.drools.guvnor.server.files.FeedServlet$1.a(FeedServlet.java:37)
        at org.drools.guvnor.server.files.RepositoryServlet.doAuthorizedAction(RepositoryServlet.java:93)
        at org.drools.guvnor.server.files.FeedServlet.doGet(FeedServlet.java:35)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
        at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)
        at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)


======================


HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: org.drools.repository.RulesRepositoryException: Unable to load a rule package. 
	org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:74)
	org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause

org.drools.repository.RulesRepositoryException: Unable to load a rule package. 
	org.drools.repository.RulesRepository.loadPackage(RulesRepository.java:372)
	org.drools.guvnor.server.files.FeedServlet.doPackageFeed(FeedServlet.java:80)
	org.drools.guvnor.server.files.FeedServlet.access$000(FeedServlet.java:26)
	org.drools.guvnor.server.files.FeedServlet$1.a(FeedServlet.java:37)
	org.drools.guvnor.server.files.RepositoryServlet.doAuthorizedAction(RepositoryServlet.java:93)
	org.drools.guvnor.server.files.FeedServlet.doGet(FeedServlet.java:35)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
	org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)
	org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause

javax.jcr.RepositoryException: failed to resolve path null relative to /drools:repository/drools:package_area: empty path: empty path
	org.apache.jackrabbit.core.NodeImpl.resolveRelativeNodePath(NodeImpl.java:237)
	org.apache.jackrabbit.core.NodeImpl.getNode(NodeImpl.java:2468)
	org.drools.repository.RulesRepository.loadPackage(RulesRepository.java:364)
	org.drools.guvnor.server.files.FeedServlet.doPackageFeed(FeedServlet.java:80)
	org.drools.guvnor.server.files.FeedServlet.access$000(FeedServlet.java:26)
	org.drools.guvnor.server.files.FeedServlet$1.a(FeedServlet.java:37)
	org.drools.guvnor.server.files.RepositoryServlet.doAuthorizedAction(RepositoryServlet.java:93)
	org.drools.guvnor.server.files.FeedServlet.doGet(FeedServlet.java:35)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
	org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)
	org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause

org.apache.jackrabbit.spi.commons.conversion.MalformedPathException: empty path
	org.apache.jackrabbit.spi.commons.conversion.PathParser.parse(PathParser.java:90)
	org.apache.jackrabbit.spi.commons.conversion.PathParser.parse(PathParser.java:57)
	org.apache.jackrabbit.spi.commons.conversion.ParsingPathResolver.getQPath(ParsingPathResolver.java:60)
	org.apache.jackrabbit.spi.commons.conversion.CachingPathResolver.getQPath(CachingPathResolver.java:77)
	org.apache.jackrabbit.spi.commons.conversion.DefaultNamePathResolver.getQPath(DefaultNamePathResolver.java:69)
	org.apache.jackrabbit.core.SessionImpl.getQPath(SessionImpl.java:649)
	org.apache.jackrabbit.core.NodeImpl.resolveRelativeNodePath(NodeImpl.java:209)
	org.apache.jackrabbit.core.NodeImpl.getNode(NodeImpl.java:2468)
	org.drools.repository.RulesRepository.loadPackage(RulesRepository.java:364)
	org.drools.guvnor.server.files.FeedServlet.doPackageFeed(FeedServlet.java:80)
	org.drools.guvnor.server.files.FeedServlet.access$000(FeedServlet.java:26)
	org.drools.guvnor.server.files.FeedServlet$1.a(FeedServlet.java:37)
	org.drools.guvnor.server.files.RepositoryServlet.doAuthorizedAction(RepositoryServlet.java:93)
	org.drools.guvnor.server.files.FeedServlet.doGet(FeedServlet.java:35)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
	org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)
	org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

note The full stack trace of the root cause is available in the JBossWeb/2.0.0.GA_CP logs.
JBossWeb/2.0.0.GA_CP



Comment 3 Jaroslaw Kijanowski 2009-08-31 15:45:48 UTC
Link: Added: This issue related BRMS-135


Comment 5 Len DiMaggio 2009-09-02 15:59:54 UTC
SWF file illustrating how to reproduce this bug

Comment 6 Len DiMaggio 2009-09-02 15:59:54 UTC
Attachment: Added: bug.html
Attachment: Added: bug.swf


Comment 7 Len DiMaggio 2009-09-02 18:20:33 UTC
Attachment: Added: server.log


Comment 8 Len DiMaggio 2009-09-17 14:37:33 UTC
It's working in CR2 - see screenshot

Comment 9 Len DiMaggio 2009-09-17 14:37:33 UTC
Attachment: Added: BRMS-103.jpg


Comment 10 Len DiMaggio 2009-09-17 14:38:21 UTC
Verified in CR2 - see screenshot.

Comment 11 David Le Sage 2009-10-02 05:55:17 UTC
Please confirm the following for the Release Notes documentation and fill in the missing information.

Dot point explanations are fine:

The CAUSE (what was actually broken)
 *

CONSEQUENCES of the bug (how users might have encountered it)
 * RSS feeds produced 500 error.

The FIX (what was changed to eliminate this bug)
 *

RESULTS of the fix (what now happens for users)
* RSS feeds now work.

Comment 12 Dana Mison 2009-10-05 04:40:45 UTC
added to the 5.0.CP01 release notes as resolved:

GUVNOR-285
The RSS feeds were returning a Code 500 HTTP error instead of the expected RSS feed.

Comment 13 Jervis Liu 2009-10-06 11:41:18 UTC
The CAUSE (what was actually broken)
 * Feed XML contains ampersand (&). An ampersand (&) character must be followed by a valid entity name and then a semicolon (;). "&" characters must be HTML encoded as &, unless they precede an entity name, such as < or >.


CONSEQUENCES of the bug (how users might have encountered it)
 * URL for RSS feeds is not working. Open the URL, it results in a HTTP 500 error. Returned error message would look like this: 
A semi colon character was expected.  Line: 16 Character: 145 


The FIX (what was changed to eliminate this bug)
 *

RESULTS of the fix (what now happens for users)
* RSS feeds now work. 


Note You need to log in before you can comment on or make changes to this bug.