Search code examples
c#asp.netdotnetnukedotnetnuke-5dotnetnuke-6

DotNetNuke crashed after updating to v6.1.1 from 5.3.1


After updating DNN to the latest version, my site is not working. I suspect it to be a theme-related issue as I have been doing some debugging. But I can not narrow it down further.

The current stacktrace from my site looks like this:

[NullReferenceException: Object reference not set to an instance of an object.]
    DotNetNuke.UI.Containers.ActionBase.get_ModuleContext() +6
    DotNetNuke.UI.Containers.ActionBase.get_ActionRoot() +30
    DotNetNuke.UI.Containers.ActionBase.OnLoad(EventArgs e) +42

[ModuleLoadException: An error has occurred.]
    DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(String FriendlyMessage, Control ctrl, Exception exc, Boolean DisplayErrorMessage) +400

[PageLoadException: An error has occurred.]
    DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc, String URL) +323
    DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc) +89
    DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(String FriendlyMessage, Control ctrl, Exception exc, Boolean DisplayErrorMessage) +525
    DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(Control ctrl, Exception exc, Boolean DisplayErrorMessage) +189
    DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(Control ctrl, Exception exc) +40
    DotNetNuke.UI.Containers.ActionBase.OnLoad(EventArgs e) +85
    DotNetNuke.Web.DDRMenu.Actions.OnLoad(EventArgs e) +67
    System.Web.UI.Control.LoadRecursive() +50
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

[PageLoadException: An error has occurred.]
    DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc, String URL) +323
    DotNetNuke.Framework.PageBase.OnError(EventArgs e) +450
    System.Web.UI.Page.HandleError(Exception e) +84
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6776
    System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242
    System.Web.UI.Page.ProcessRequest() +80
    System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
    System.Web.UI.Page.ProcessRequest(HttpContext context) +49
    ASP.default_aspx.ProcessRequest(HttpContext context) in c:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\84194812\86a29f2c\App_Web_toxjy2nh.0.cs:0
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

From this I can see it has something to do with the DDRMenu component. I've tried my own skins for the site, and for those the exact same line says something about SolPartMenu/Action.

Help is much appreciated!


Solution

  • I had same problem during testing for a move to 6.x and you need to have the latest version of DDR menu, but I suspect that because you can't log-in, you can't install it.

    I'm not sure which steps, if any you can cut out of this, but this is what I did.

    1. revert to 5.6.3 from backups
    2. Turn off compression in host settings
    3. Set Minimal Extropy as default skin
    4. set en-US as default language (not sure if this is necessary, it was for one upgrade and I tend to do it for major upgrades now)
    5. Set DNN Nav as the defaut navigation provider in web.config
    6. Change containers to use <%@ Register TagPrefix="dnn" TagName="ACTIONS" Src="~/Admin/Containers/Actions.ascx" %>
    7. Uninstall DDRmenu 1.2.2
    8. Remove DDRMenuNavigationProvider in web.config
    9. Take new backups of database and file system
    10. Upgrade to 6.x
    11. Upgrade to DDR Menu v2.00.0
    12. Set application pool to use .Net4
    13. Re-apply skin to a couple of pages to check all works, if ok reset default skin
    14. Reset compression and default language if necessary

    Hope this helps