[MAGNOLIA-582] Cannot change node data title from untitled on 2.1.2 Created: 19/Oct/05  Updated: 23/Jan/13  Due: 20/Oct/05  Resolved: 27/Oct/05

Status: Closed
Project: Magnolia
Component/s: core
Affects Version/s: 2.1.1, 2.1.2
Fix Version/s: 2.1.4, 3.0 Beta 1

Type: Bug Priority: Blocker
Reporter: Jeff Sutherland Assignee: Philipp Bärfuss
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows XP Professional, Tomcat that came with the Magnolia 2.1.2 distribution. I am testing on my local PC before deploying on the server.


Issue Links:
relation
is related to MAGNOLIA-583 Move, Copy and Delete commands should... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

In Config -> Modules -> Templating -> Templates, I will create a new content node. Then I will add new node data. I will try to rename the node data from "untitled" to something else. i will then get a javax.jcr.PathNotFoundException. Here is the complete stack trace. This happens in other areas as well.

INFO info.magnolia.cms.beans.config.Template Template.java(update:126) 19.10.2005 13:02:35 Config : loading Template
info - modules/templating
WARN org.apache.jackrabbit.core.observation.ObservationManagerFactory ObservationManagerFactory.java(run:163) 19.10.20
05 13:02:35 EventConsumer threw exception: java.lang.NullPointerException
ERROR info.magnolia.cms.exchange.simple.Syndicator Syndicator.java(deActivate:282) 19.10.2005 13:02:39 Failed to remov
e [ /modules/templating/Templates/blah/untitled ] from [ localhost:8081/tnl ]
ERROR info.magnolia.cms.exchange.simple.Syndicator Syndicator.java(deActivate:283) 19.10.2005 13:02:39 modules/templat
ing/Templates/blah/untitled
javax.jcr.PathNotFoundException: modules/templating/Templates/blah/untitled
at org.apache.jackrabbit.core.NodeImpl.getNode(NodeImpl.java:2231)
at info.magnolia.cms.core.Content.<init>(Content.java:110)
at info.magnolia.cms.core.HierarchyManager.getContent(HierarchyManager.java:258)
at info.magnolia.cms.exchange.simple.Syndicator.updateDeActivationDetails(Syndicator.java:384)
at info.magnolia.cms.exchange.simple.Syndicator.deActivate(Syndicator.java:301)
at info.magnolia.cms.exchange.simple.Syndicator.deActivate(Syndicator.java:279)
at info.magnolia.cms.exchange.simple.Syndicator.deActivate(Syndicator.java:239)
at info.magnolia.cms.gui.control.Tree.deActivateNode(Tree.java:908)
at info.magnolia.cms.gui.control.Tree.renameNode(Tree.java:829)
at info.magnolia.module.admininterface.AdminTreeMVCHandler.rename(AdminTreeMVCHandler.java:326)
at info.magnolia.module.admininterface.AdminTreeMVCHandler.saveValue(AdminTreeMVCHandler.java:296)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at info.magnolia.cms.servlets.MVCServletHandlerImpl.execute(MVCServletHandlerImpl.java:70)
at info.magnolia.cms.servlets.MVCServlet.doGet(MVCServlet.java:108)
at info.magnolia.cms.servlets.MVCServlet.doPost(MVCServlet.java:48)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at info.magnolia.cms.servlets.EntryServlet.redirect(EntryServlet.java:214)
at info.magnolia.cms.servlets.EntryServlet.doGet(EntryServlet.java:126)
at info.magnolia.cms.servlets.EntryServlet.doPost(EntryServlet.java:182)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at info.magnolia.cms.filters.SecurityFilter.doFilter(SecurityFilter.java:73)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at info.magnolia.cms.filters.MultipartRequestFilter.doFilter(MultipartRequestFilter.java:80)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)



 Comments   
Comment by Adam Cooper [ 19/Oct/05 ]

I am experiencing the same problem using Magnolia v2.1.2 with the stock version of tomcat on Windows 2000 Professional. I have yet to test is on my production sun server. I added a new node data item in /config/modules/templating/dialogs/..... to configure the rich text editor and when I tried to change the name from untitled I got a pathNotFoundException with the exact same stack trace as described here. I also can not delete the node data to the same end. I can only guess that this probably has something to do with the new subscriber checking features added in 2.1+.

Comment by Shai Bentin [ 19/Oct/05 ]

I have got the same exact problem on my version which is 2.1.1

I'm running the author instance on JBoss 3.2.7

Comment by Shai Bentin [ 19/Oct/05 ]

I've looked a little into the log, before we get the exception we have a 'nullPointerException' which afterwards reinitialized the template info. I don't really know how things operate under the hood but maybe there is a context which reinitialized to a state before the untitled was created thus it can no longer find it when trying to rename.... Here is the log I've seen:

23:43:09,171 INFO [Syndicator] Exchange : activation request received by 0001
23:43:09,171 INFO [Template] Config : re-initializing Template info
23:43:09,171 INFO [Template] Config : initializing Template info
23:43:09,171 INFO [Template] Config : loading Template info - modules/templating
23:43:09,171 INFO [Template] Registering template [sampleTwoColumns]
23:43:09,171 INFO [Template] Registering template [sampleOneColumn]
23:43:09,171 INFO [Template] Registering template [sampleDevShow]
23:43:09,171 INFO [Template] Registering template [sampleForm]
23:43:09,187 INFO [Template] Registering template [sampleSearch]
23:43:09,187 WARN [ObservationManagerFactory] EventConsumer threw exception: java.lang.NullPointerException
23:43:37,140 INFO [Template] Config : re-initializing Template info
23:43:37,140 INFO [Template] Config : initializing Template info
23:43:37,140 INFO [Template] Config : loading Template info - modules/templating
23:43:37,140 INFO [Template] Registering template [sampleTwoColumns]
23:43:37,140 INFO [Template] Registering template [sampleOneColumn]
23:43:37,140 INFO [Template] Registering template [sampleDevShow]
23:43:37,140 INFO [Template] Registering template [sampleForm]
23:43:37,140 INFO [Template] Registering template [sampleSearch]
23:43:37,171 WARN [ObservationManagerFactory] EventConsumer threw exception: java.lang.NullPointerException
23:43:54,953 INFO [Syndicator] Exchange : activation request received by 0001
23:43:54,953 INFO [Template] Config : re-initializing Template info
23:43:54,953 INFO [Template] Config : initializing Template info
23:43:54,953 INFO [Template] Config : loading Template info - modules/templating
23:43:54,953 INFO [Template] Registering template [sampleTwoColumns]
23:43:54,953 INFO [Template] Registering template [sampleOneColumn]
23:43:54,953 INFO [Template] Registering template [sampleDevShow]
23:43:54,953 INFO [Template] Registering template [sampleForm]
23:43:54,968 INFO [Template] Registering template [sampleSearch]
23:43:54,968 WARN [ObservationManagerFactory] EventConsumer threw exception: java.lang.NullPointerException
23:44:00,968 ERROR [Syndicator] Failed to remove [ /modules/templating/Templates/samples/quickstart/untitled ] from [ 12
.0.0.1:8080/magnoliaPublic ]
23:44:00,968 ERROR [Syndicator] modules/templating/Templates/samples/quickstart/untitled
javax.jcr.PathNotFoundException: modules/templating/Templates/samples/quickstart/untitled
at org.apache.jackrabbit.core.NodeImpl.getNode(NodeImpl.java:2240)
at info.magnolia.cms.core.Content.<init>(Content.java:110)
at info.magnolia.cms.core.HierarchyManager.getContent(HierarchyManager.java:258)
at info.magnolia.cms.exchange.simple.Syndicator.updateDeActivationDetails(Syndicator.java:384)
at info.magnolia.cms.exchange.simple.Syndicator.deActivate(Syndicator.java:301)

Comment by Philipp Bracher [ 20/Oct/05 ]

This is a blocker will solve it today

Comment by Philipp Bracher [ 20/Oct/05 ]

Since 2.1.1 all the activation exceptions in the public instance are sended back to the author instance.

Because every rename triggers a deactivation the sender gets now an exception if the renamed node was not activated before.

To solve it quickly (we make a 2.1.3 release for that reason) we will do the following:

  • if the node has the activated flag: write an error message
  • if the node hasn't the acitvated flas: write a debug message

Workaround: switch off the subscribers, rename

Since we must only change some classes the user can upgrade by coping the the new jar to the lib directory.

Comment by Jay Moskos [ 24/Oct/05 ]

I noticed 2.1.3 is out. While it appears to fix the renaming issue, a related issue, deletion of nodes, seems to have the same problem. It doesn't seem possible to delete a node while activation is enabled. When activation is disabled it works just fine.

Comment by Philipp Bracher [ 25/Oct/05 ]

is the same

Comment by Philipp Bracher [ 27/Oct/05 ]
  • alerts now if a false subscriber is the cause
  • if the subscriber is switched off or configured properly it works properly
Generated at Mon Feb 12 03:18:51 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.