Change By: Espen Jervidalo (08/Jul/13 5:17 PM)
Description: When an app encounters a problem, either because of a configuration error, such as starting an app that is not correctly configured or when it throws an exception because of a programming error, admincentral breaks because it gets stalled in app loading mode.

We need a plan for how we deal with this, either just close the app and go back to app launcher, or insert a view that informs the user about the error.

Here's two scenarios in which this happens:

Launching an app that doesn't have any sub apps

{noformat}
java.lang.NullPointerException
at info.magnolia.ui.framework.app.AppControllerImpl.updateLocation(AppControllerImpl.java:358)
at info.magnolia.ui.framework.app.AppControllerImpl.onLocationChanged(AppControllerImpl.java:324)
at info.magnolia.ui.api.location.LocationChangedEvent.dispatch(LocationChangedEvent.java:64)
at info.magnolia.ui.api.location.LocationChangedEvent.dispatch(LocationChangedEvent.java:42)
at info.magnolia.event.SimpleEventBus.fireEvent(SimpleEventBus.java:78)
at info.magnolia.ui.api.location.LocationController.goToWithoutChecks(LocationController.java:105)
at info.magnolia.ui.api.location.LocationController.goTo(LocationController.java:99)
at info.magnolia.ui.api.location.LocationHistoryHandler.handleFragment(LocationHistoryHandler.java:120)
at info.magnolia.ui.api.location.LocationHistoryHandler.access$100(LocationHistoryHandler.java:49)
at info.magnolia.ui.api.location.LocationHistoryHandler$1.onFragmentChanged(LocationHistoryHandler.java:79)
at info.magnolia.ui.api.shell.FragmentChangedEvent.dispatch(FragmentChangedEvent.java:55)
at info.magnolia.ui.api.shell.FragmentChangedEvent.dispatch(FragmentChangedEvent.java:41)
at info.magnolia.event.EventHandlerCollection.dispatch(EventHandlerCollection.java:72)
at info.magnolia.ui.framework.shell.ShellImpl$2.onFragmentChanged(ShellImpl.java:132)
at info.magnolia.ui.vaadin.magnoliashell.MagnoliaShell.notifyOnFragmentChanged(MagnoliaShell.java:272)
at info.magnolia.ui.framework.shell.ShellImpl.goToApp(ShellImpl.java:263)
at info.magnolia.ui.framework.shell.ShellImpl.access$500(ShellImpl.java:80)
at info.magnolia.ui.framework.shell.ShellImpl$2.goToApp(ShellImpl.java:152)
at info.magnolia.ui.vaadin.magnoliashell.MagnoliaShell.goToApp(MagnoliaShell.java:131)
at info.magnolia.ui.vaadin.magnoliashell.rpc.MagnoliaShellRpcDelegate.activateApp(MagnoliaShellRpcDelegate.java:68)
at sun.reflect.GeneratedMethodAccessor278.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:168)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118)
at com.vaadin.server.AbstractCommunicationManager.handleBurst(AbstractCommunicationManager.java:1680)
at com.vaadin.server.AbstractCommunicationManager.handleVariables(AbstractCommunicationManager.java:1566)
at com.vaadin.server.AbstractCommunicationManager.handleUidlRequest(AbstractCommunicationManager.java:582)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:315)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:201)
{noformat}

Launching an app that has sub apps but no app class set

{noformat}
java.lang.NullPointerException
at info.magnolia.objectfactory.ObjectManufacturer.newInstance(ObjectManufacturer.java:59)
at info.magnolia.objectfactory.guice.GuiceComponentProvider.newInstanceWithParameterResolvers(GuiceComponentProvider.java:118)
at info.magnolia.objectfactory.guice.GuiceComponentProvider.newInstance(GuiceComponentProvider.java:108)
at info.magnolia.ui.framework.app.AppInstanceControllerImpl.start(AppInstanceControllerImpl.java:212)
at info.magnolia.ui.framework.app.AppControllerImpl.doStartIfNotAlreadyRunning(AppControllerImpl.java:254)
at info.magnolia.ui.framework.app.AppControllerImpl.onLocationChanged(AppControllerImpl.java:335)
at info.magnolia.ui.api.location.LocationChangedEvent.dispatch(LocationChangedEvent.java:64)
at info.magnolia.ui.api.location.LocationChangedEvent.dispatch(LocationChangedEvent.java:42)
at info.magnolia.event.SimpleEventBus.fireEvent(SimpleEventBus.java:78)
at info.magnolia.ui.api.location.LocationController.goToWithoutChecks(LocationController.java:105)
at info.magnolia.ui.api.location.LocationController.goTo(LocationController.java:99)
at info.magnolia.ui.api.location.LocationHistoryHandler.handleFragment(LocationHistoryHandler.java:120)
at info.magnolia.ui.api.location.LocationHistoryHandler.access$100(LocationHistoryHandler.java:49)
at info.magnolia.ui.api.location.LocationHistoryHandler$1.onFragmentChanged(LocationHistoryHandler.java:79)
at info.magnolia.ui.api.shell.FragmentChangedEvent.dispatch(FragmentChangedEvent.java:55)
at info.magnolia.ui.api.shell.FragmentChangedEvent.dispatch(FragmentChangedEvent.java:41)
at info.magnolia.event.EventHandlerCollection.dispatch(EventHandlerCollection.java:72)
at info.magnolia.ui.framework.shell.ShellImpl$2.onFragmentChanged(ShellImpl.java:132)
at info.magnolia.ui.vaadin.magnoliashell.MagnoliaShell.notifyOnFragmentChanged(MagnoliaShell.java:272)
at info.magnolia.ui.framework.shell.ShellImpl.goToApp(ShellImpl.java:263)
at info.magnolia.ui.framework.shell.ShellImpl.access$500(ShellImpl.java:80)
at info.magnolia.ui.framework.shell.ShellImpl$2.goToApp(ShellImpl.java:152)
at info.magnolia.ui.vaadin.magnoliashell.MagnoliaShell.goToApp(MagnoliaShell.java:131)
at info.magnolia.ui.vaadin.magnoliashell.rpc.MagnoliaShellRpcDelegate.activateApp(MagnoliaShellRpcDelegate.java:68)
at sun.reflect.GeneratedMethodAccessor278.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:168)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118)
at com.vaadin.server.AbstractCommunicationManager.handleBurst(AbstractCommunicationManager.java:1680)
at com.vaadin.server.AbstractCommunicationManager.handleVariables(AbstractCommunicationManager.java:1566)
at com.vaadin.server.AbstractCommunicationManager.handleUidlRequest(AbstractCommunicationManager.java:582)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:315)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:201)
{noformat}


Launching a content app with none of the configured content views set as "active" will break the admin central:

2013-07-08 17:03:33,492 WARN  info.magnolia.event.SimpleEventBus                : Exception caught when dispatching event: null
java.lang.NullPointerException
at info.magnolia.ui.workbench.WorkbenchPresenter.setViewType(WorkbenchPresenter.java:165)
at info.magnolia.ui.workbench.WorkbenchPresenter.resynch(WorkbenchPresenter.java:247)
at info.magnolia.ui.contentapp.browser.BrowserPresenter.resync(BrowserPresenter.java:239)
at info.magnolia.ui.contentapp.browser.BrowserSubApp.restoreBrowser(BrowserSubApp.java:209)
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



----------------------------------------------------------------
For list details, see: http://www.magnolia-cms.com/community/mailing-lists.html
Alternatively, use our forums: http://forum.magnolia-cms.com/
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------

Reply via email to