11.10 - Orphaned Dependencies - Velocity Macro Error

Upgrading to 11.10, during the DW’s new screen, “Step 3 - Orphaned dependencies”, I got an error that the velocity macro failed. That happened again with 11.10.1.

image

Could you click on the message to get the detailed error? In any case it would be great if you could create a BUG issue on https://jira.xwiki.org/browse/XWIKI with all the details you can think of to reproduce the issue.

I did not realize the issue was clickable and I already clicked continue. Is there a way to get back to that screen?

Given the message I see I don’t think so (no orphaned dependency anymore so you won’t get back this step).

https://jira.xwiki.org/browse/XWIKI-16923

@laurin1 could you try to reproduce it? That would help us a lot. Also we need more details like what what version of XWiki you upgraded from. It would really help a lot to know if you can systematically reproduce it or not with your setup. Thanks

EDIT: Also the xwiki logs would help too. It would help to know if you had orphaned extensions and what they were too.

If I had any idea how to reproduce it, sure, but seems to happen during the normal upgrade. If the pattern holds, it will happen again at the next upgrade (happened on 11.10 and 11.10.1).

As for the logs, this is a like the the movie, “Never-Ending Story”. :slight_smile: I really have no idea which logs are useful. I seem to be running an uncommon configuration for XWiki (Apache Tomcat on Windows Server), as nobody can really tell me which logs should contain this info.

Maybe you could start by answering the few questions I asked above? :slight_smile: (version of XWiki you’re upgrading from, orphaned extensions, etc) and provide the max info you can (what config you have compared to the default config, etc).

If there’s a way for you to provide one of the xwiki devs with access to your original instance that would be awesome too.

So we need:

  1. the stacktrace (you need to click on the message). Could you please try to redo a migration to reproduce the problem and this time click on the message?
  2. the xwiki logs, see https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Logging#HLogLocation to find them

Thanks for your help!

Upgraded from 11.9 to 11.10 - we never miss a release, unless one fails completely (which has not happened in a long time). How would I know I have orphaned dependencies (if this tool is not working)?

Without restoring a database backup, I have no idea how to do that (and a restore would be too time consuming, I’m short-staffed as it is).

I’ve read that page many times in an attempt to get these logs and I still don’t know for certain I’m getting the correct logs. I guess this is the one that applies to me:

If you use the Manual WAR packaging, then it depends on the Servlet engine you’ve used and how you’ve configured it. You could check in /var/log/tomcat*/catalina.out on unix or /logs/catalina.out for Tomcat.

I don’t have a catalina.out log file. I have this:

image

Attached these 3 to the issue:

image

Those log files do contain Tomcat log but not XWiki one it seems. Maybe each application get its own file in your setup.

If so, I have no idea where, and I’ve searched the whole system looking.

These contain some xwiki references, including a error that might be related to this issue (hard for me to tell).

image

2019-12-17 08:48:01,691 [main] INFO iPropertiesConfigurationSource - loading xwiki.properties from file:/C:/apache-tomcat/webapps/xwiki/WEB-INF/xwiki.properties
2019-12-17 08:48:02,206 [main] INFO o.x.e.i.ServletEnvironment - Using permanent directory [\opt\tomcat7\data]
2019-12-17 08:49:05,091 [main] WARN .e.r.i.l.LocalExtensionStorage - Failed to load extension from file [\opt\tomcat7\data\extension\repository\org%2Exwiki%2Eplatform%3Axwiki-platform-messagestream-ui\11%2E6%2E1\org%2Exwiki%2Eplatform%3Axwiki-platform-messagestream-ui-11%2E6%2E1.xed] in local repository
org.xwiki.extension.InvalidExtensionException: Failed to parse descriptor
at org.xwiki.extension.repository.internal.DefaultExtensionSerializer.getExtensionElement(DefaultExtensionSerializer.java:271)
at org.xwiki.extension.repository.internal.DefaultExtensionSerializer.loadLocalExtensionDescriptor(DefaultExtensionSerializer.java:248)
at org.xwiki.extension.repository.internal.local.LocalExtensionStorage.loadDescriptor(LocalExtensionStorage.java:170)
at org.xwiki.extension.repository.internal.local.LocalExtensionStorage.loadExtensions(LocalExtensionStorage.java:142)
at org.xwiki.extension.repository.internal.local.LocalExtensionStorage.loadExtensions(LocalExtensionStorage.java:139)
at org.xwiki.extension.repository.internal.local.LocalExtensionStorage.loadExtensions(LocalExtensionStorage.java:139)
at org.xwiki.extension.repository.internal.local.LocalExtensionStorage.loadExtensions(LocalExtensionStorage.java:111)
at org.xwiki.extension.repository.internal.local.DefaultLocalExtensionRepository.initialize(DefaultLocalExtensionRepository.java:107)
at org.xwiki.component.embed.InitializableLifecycleHandler.handle(InitializableLifecycleHandler.java:39)
at org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:365)
at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:451)
at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:201)
at org.xwiki.component.embed.EmbeddableComponentManager.getDependencyInstance(EmbeddableComponentManager.java:406)
at org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:355)
at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:451)
at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:201)
at org.xwiki.component.embed.EmbeddableComponentManager.getDependencyInstance(EmbeddableComponentManager.java:406)
at org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:355)
at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:451)
at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:201)
at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:189)
at org.xwiki.container.servlet.XWikiServletContextListener.contextInitialized(XWikiServletContextListener.java:120)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4682)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5143)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1133)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1867)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1045)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:429)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:932)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:344)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121)
at org.xwiki.extension.repository.internal.DefaultExtensionSerializer.getExtensionElement(DefaultExtensionSerializer.java:269)
… 62 common frames omitted
2019-12-17 08:50:00,628 [main] WARN ltInstalledExtensionRepository - Invalid extension [org.xwiki.platform:xwiki-platform-rendering-macro-container/9.5.1] (InvalidExtensionException: Extension [org.xwiki.platform:xwiki-platform-rendering-macro-container/9.5.1] already exists as a core extension)
2019-12-17 08:50:00,628 [main] WARN ltInstalledExtensionRepository - Invalid extension [org.xwiki.platform:xwiki-platform-activitystream-api/11.3] on namespace [wiki:xwiki] (InvalidExtensionException: Extension [org.xwiki.platform:xwiki-platform-activitystream-api/11.3] already exists as a core extension)

This is definitely XWiki log. It does not seems related to the issue you got in the wizard but you definitely have some issue with your extensions. For example having xwiki-platform-rendering-macro-container installed as extension does not make much sense.

You should take a look at your installed extensions in the Extension Manager UI and probably remove everything tagged as invalid. You can ask here for confirmation when you have the list.

Also you should probably delete \opt\tomcat7\data\extension\repository\org%2Exwiki%2Eplatform%3Axwiki-platform-messagestream-ui\11%2E6%2E1\ folder since it seems broken and you definitely don’t need that in XWiki 11.10.1 so no risk.

You log also suggest you have the watchlist installed which is most probably not really what you want since it’s not really working in recent version of XWiki and was replaced by the new notifications.

The only one that flagged as invalid is “Activity Stream Plugin”. I removed that one.

Why does that not make sense? It does not show as invalid.

As an extension? I don’t see that in the extension list. How do I remove it?

I see the following in your log:

2019-12-17 08:50:00,628 [main] WARN  ltInstalledExtensionRepository - Invalid extension [org.xwiki.platform:xwiki-platform-rendering-macro-container/9.5.1] (InvalidExtensionException: Extension [org.xwiki.platform:xwiki-platform-rendering-macro-container/9.5.1] already exists as a core extension) 
2019-12-17 08:50:00,628 [main] WARN  ltInstalledExtensionRepository - Invalid extension [org.xwiki.platform:xwiki-platform-activitystream-api/11.3] on namespace [wiki:xwiki] (InvalidExtensionException: Extension [org.xwiki.platform:xwiki-platform-activitystream-api/11.3] already exists as a core extension) 
2019-12-17 08:50:00,628 [main] WARN  ltInstalledExtensionRepository - Invalid extension [org.xwiki.platform:xwiki-platform-chart-renderer/9.5.1] (InvalidExtensionException: Extension [org.xwiki.platform:xwiki-platform-chart-renderer/9.5.1] already exists as a core extension) 
2019-12-17 08:50:00,628 [main] WARN  ltInstalledExtensionRepository - Invalid extension [org.jfree:jfreechart/1.0.19] (InvalidExtensionException: Extension [org.jfree:jfreechart/1.0.19] already exists as a core extension) 
2019-12-17 08:50:00,628 [main] WARN  ltInstalledExtensionRepository - Invalid extension [org.xwiki.platform:xwiki-platform-rendering-macro-groovy/9.5.1] (InvalidExtensionException: Extension [org.xwiki.platform:xwiki-platform-rendering-macro-groovy/9.5.1] already exists as a core extension) 
2019-12-17 08:50:00,628 [main] WARN  ltInstalledExtensionRepository - Invalid extension [org.xwiki.platform:xwiki-platform-groovy/9.5.1] (InvalidExtensionException: Extension [org.xwiki.platform:xwiki-platform-groovy/9.5.1] already exists as a core extension) 
2019-12-17 08:50:00,628 [main] WARN  ltInstalledExtensionRepository - Invalid extension [org.xwiki.platform:xwiki-platform-dashboard-macro/9.5.1] (InvalidExtensionException: Extension [org.xwiki.platform:xwiki-platform-dashboard-macro/9.5.1] already exists as a core extension) 
2019-12-17 08:50:00,628 [main] WARN  ltInstalledExtensionRepository - Invalid extension [org.xwiki.platform:xwiki-platform-chart-macro/9.5.1] (InvalidExtensionException: Extension [org.xwiki.platform:xwiki-platform-chart-macro/9.5.1] already exists as a core extension) 
2019-12-17 08:50:00,628 [main] WARN  ltInstalledExtensionRepository - Invalid extension [org.apache.ivy:ivy/2.3.0] (InvalidExtensionException: Extension [org.apache.ivy:ivy/2.3.0] already exists as a core extension) 
2019-12-17 08:50:00,628 [main] WARN  ltInstalledExtensionRepository - Invalid extension [org.xwiki.commons:xwiki-commons-groovy/9.5.1] (InvalidExtensionException: Extension [org.xwiki.commons:xwiki-commons-groovy/9.5.1] already exists as a core extension) 
2019-12-17 08:50:00,628 [main] WARN  ltInstalledExtensionRepository - Invalid extension [org.jfree:jcommon/1.0.23] (InvalidExtensionException: Extension [org.jfree:jcommon/1.0.23] already exists as a core extension) 

so all those should be tagged as invalid in the list of installed extensions. Seems they were installed as extension at some point and are now part of the WAR (it’s the case since quite a long time AFAIK).

Because it’s in WEB-INF/lib already so that extension is a duplicate.

What I exatly see in your log is:

2019-12-17 08:52:25,960 [XWiki Scheduler initialization] ERROR c.x.x.p.s.SchedulerPlugin      - Failed to restore job with in document [xwiki:Scheduler.WatchListHourlyNotifier] and wiki [xwiki] 
com.xpn.xwiki.plugin.scheduler.SchedulerPluginException: Error number 90006 in 5: Exception in plugin [com.xpn.xwiki.plugin.scheduler.SchedulerPlugin]: Error while loading job class for job : WatchList hourly notifier

Which is a page generated by the Watchlist, maybe you uninstalled later but the watchlist scheduler were left and are unusable (they don’t any other arm that errors in the log but still…). If you can’t find the watchlist in the installed extension then simply go to the Scheduler app home page and delete the watchlist related scheduler (there should be 3).

So what does it mean that these are invalid, but the extension list does not indicate they are invalid? FYI, all of these, instead of having the “Uninstall” button:

image

Have “Repair on farm” button:

image

I’ve uninstalled all of the invalid ones listed (which was all the ones with the “Repair on farm” button).

image

This definitely means they are invalid. Looks like only one of “dependency” or “invalid” is displayed but I tough the pirority was on “invalid”.

In 11.10.2, it’s fixed:

image

1 Like

Cool! Thanks for confirming :slight_smile: