Details
-
Bug
-
Resolution: Fixed
-
Medium
-
2.10
-
CAC, EAC
Description
The Widget Connector was disabled recently (~01/12/08) on CAC but noone knows who did it. Trawling through the logs, I found this:
2008-11-26 18:58:59,615 WARN [TP-Processor4144] [com.atlassian.plugin.DefaultPluginManager] isPluginEnabled Plugin com.atlassian.confluence.extra.widgetconnector is out of sync with the plugin system, disabling -- url: /plugins/pagetree/naturalchildren.action | userName: anonymous | referer: http://confluence.atlassian.com/pages/viewpage.action?pageId=58656151 2008-11-26 18:59:01,995 WARN [TP-Processor3849] [com.atlassian.plugin.DefaultPluginManager] isPluginEnabled Plugin com.atlassian.confluence.extra.widgetconnector is out of sync with the plugin system, disabling -- url: /display/DOC/Displaying+an+Image | page: 139500 | userName: anonymous | referer: http://confluence.atlassian.com/display/DOC/Attaching+Files+to+a+Page | action: viewpage
There are about 100 more between 18:58:59 and 18:59:03, but no other log lines in sysout.log.
In the access log, though, we find:
150.101.48.40 - - [26/Nov/2008:18:58:59 -0600] "GET /plugins/pagetree/naturalchildren.action?decorator=none&excerpt=false&sort=position&reverse=false&disableLinks=false&hasRoot=true&pageId=16482400&treeId=1&startDepth=0&ancestors=58656083&ancestors=58656009&ancestors=16482400 HTTP/1.1" 200 1172 "http://con fluence.atlassian.com/pages/viewpage.action?pageId=58656151" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-GB; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4" 234580 70.102.8.226 - - [26/Nov/2008:18:59:01 -0600] "GET /display/DOC/Displaying+an+Image HTTP/1.1" 200 14848 "http://confluence.atlassian.com/display/DOC/Attaching+Files+to+a+Page" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3" 2097546 70.102.8.226 - - [26/Nov/2008:18:59:04 -0600] "GET /s/1513/13/1.0/_/download/resources/confluence.web.resources%3Adwr/engine.js HTTP/1.1" 200 11911 "http://confluence.atlassian.com/display/DOC/Displaying+an+Image" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3" 28176 203.63.130.33 - - [26/Nov/2008:18:58:58 -0600] "POST /plugins/servlet/plugin-repository/dwr/exec/RepositoryDWR.installPlugin.dwr HTTP/1.1" 200 1127 "http://confluence.atlassian.com/admin/plugin-repository/plugins.action" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-GB; rv:1.9.0.4) Gecko/2008102920 F irefox/3.0.4" 5506545 203.63.130.33 - - [26/Nov/2008:18:59:04 -0600] "POST /plugins/servlet/plugin-repository/dwr/exec/RepositoryDWR.getTransferStatus.dwr HTTP/1.1" 200 182 "http://confluence.atlassian.com/admin/plugin-repository/plugins.action" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-GB; rv:1.9.0.4) Gecko/200810292 0 Firefox/3.0.4" 107425
Looks like someone (can't tell who due to zero logging in com.atlassian.plugin.repository.logic.AbstractRepositoryPluginManager.installPlugin : ) tried to install/update the widgetconnector plugin at the same time as a plugin was checked (not rendered, just checked). The check code is:
public boolean isPluginEnabled(String key) { Plugin plugin = plugins.get(key); boolean shouldBeEnabled = plugin != null && getState().isEnabled(plugin); // Detect if the plugin state is out of sync with the plugin state store if (shouldBeEnabled && !plugin.isEnabled()) { log.warn("Plugin "+key+" is out of sync with the plugin system, disabling"); // Just changing the state in the store to prevent a stack overflow as disabling modules requires the // plugin to be enabled, thus calling this method in a infinite loop. disablePluginState(plugin, getStore()); shouldBeEnabled = false; } return shouldBeEnabled; }
and the upgrade code is:
public final AtlassianPlugin installPlugin(File pluginFile, String pluginLocation, boolean suppressKeyChecks, boolean suppressVersionChecks, String pluginKey, Version version) throws RepositoryException { try { // Get the plugin manager PluginAccessor pluginAccessor = getPluginAccessor(); checkPluginFile(pluginFile, pluginLocation, suppressKeyChecks,suppressVersionChecks, pluginKey, version); // Check for an existing plugin Plugin existingPlugin = pluginAccessor.getPlugin(pluginKey); if (existingPlugin != null && !existingPlugin.isBundledPlugin()) { // upgradePlugin should have been called, but wasn't. do the right thing anyways return upgrade(existingPlugin, pluginFile); } // Install the plugin return install(pluginFile, pluginKey, version); } finally { pluginFile.delete(); } }
Somewhere in here is the culprit... the workaround would be to not update plugins when Confluence is being used.
Attachments
Issue Links
- is caused by
-
CONFSERVER-13900 Plugin being disabled after being upgraded or re-enabled
- Closed
- is incorporated by
-
CONFSERVER-14026 Upgrade to Atlassian Plugins 2.1.3
- Closed