xforms exception after migrating

 

After migrating my site to 5.2 with the migration tool I get the following exception when opening the xforms dialog for a property in edit mode. 
/Björn Gullander
  
Serverfel i tillämpningsprogrammet /. 
--------------------------------------------------------------------------------
Objektreferensen har inte angetts till en instans av ett objekt.
Beskrivning: Ett undantag som inte kunde hanteras uppstod när den aktuella webbegäran kördes. Mer information om felet och var i koden det uppstod finns i stackspårningen. 
Undantagsinformation: System.NullReferenceException: Objektreferensen har inte angetts till en instans av ett objekt.
Källfel: 
Ett undantag som inte hanteras genererades vid körningen av den aktuella webbegäran. Information om undantagets ursprung och plats kan identifieras med undantagsstackspårningen nedan. 
Stackspårning: 
[NullReferenceException: Objektreferensen har inte angetts till en instans av ett objekt.]
   EPiServer.Util.XFormHelper.ListFormReferences(String formId) +178
   EPiServer.UI.Edit.XFormSelect.GetxFormUsedonPages(String formId) +23
   EPiServer.UI.Edit.XFormSelect.LoadForms(String folder, Boolean iListMyFormOnly, Boolean loadSelectedFormPageIndex) +665
   EPiServer.UI.Edit.XFormSelect.OnLoad(EventArgs e) +356
   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.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
 
--------------------------------------------------------------------------------
Versionsinformation: Microsoft .NET Framework-version:2.0.50727.3082; ASP.NET-version:2.0.50727.3082 
After migrating my site to 5.2 with the migration tool I get the following exception when opening the xforms dialog for a property in edit mode. 
/Björn Gullander
  Serverfel i tillämpningsprogrammet /. --------------------------------------------------------------------------------
Objektreferensen har inte angetts till en instans av ett objekt.Beskrivning: Ett undantag som inte kunde hanteras uppstod när den aktuella webbegäran kördes. Mer information om felet och var i koden det uppstod finns i stackspårningen. 
Undantagsinformation: System.NullReferenceException: Objektreferensen har inte angetts till en instans av ett objekt.
Källfel: 
Ett undantag som inte hanteras genererades vid körningen av den aktuella webbegäran. Information om undantagets ursprung och plats kan identifieras med undantagsstackspårningen nedan. 
Stackspårning: 
[NullReferenceException: Objektreferensen har inte angetts till en instans av ett objekt.]   EPiServer.Util.XFormHelper.ListFormReferences(String formId) +178   EPiServer.UI.Edit.XFormSelect.GetxFormUsedonPages(String formId) +23   EPiServer.UI.Edit.XFormSelect.LoadForms(String folder, Boolean iListMyFormOnly, Boolean loadSelectedFormPageIndex) +665   EPiServer.UI.Edit.XFormSelect.OnLoad(EventArgs e) +356   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.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
 

--------------------------------------------------------------------------------Versionsinformation: Microsoft .NET Framework-version:2.0.50727.3082; ASP.NET-version:2.0.50727.3082 
#37633 Mar 15, 2010 14:07
  • Erik Nordin Wahlberg
    Member since: 2004
     

    Hi Björn, did you solve this?

    #37843 Mar 22, 2010 16:11
  •  

    Nope, still same problem... Cant open to choose any x-form. Still getting the same error...

    Anyone got any idéa?

    [NullReferenceException: Object reference not set to an instance of an object.]
       EPiServer.Util.XFormHelper.ListFormReferences(String formId) +178
       EPiServer.UI.Edit.XFormSelect.GetxFormUsedonPages(String formId) +23
       EPiServer.UI.Edit.XFormSelect.LoadForms(String folder, Boolean iListMyFormOnly, Boolean loadSelectedFormPageIndex) +665
       EPiServer.UI.Edit.XFormSelect.OnLoad(EventArgs e) +356
       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.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

    #38944 Apr 26, 2010 10:56
  •  

    When looking at the code that throws the exception, could you please see below

    Hashtable defTypeNames = new Hashtable();

    ArrayList pageDefsWithNullTypes = new ArrayList();
    foreach (PageType type in PageType.List())
    foreach (PageDefinition def in type.Definitions)
    {
    if (def.Type == null)
    {
    pageDefsWithNullTypes.Add(def);
    continue;
    }
    if (def.Type.Name.IndexOf("XForm") != -1 && !defTypeNames.Contains(def.Name))
    defTypeNames.Add(def.Name, def.Name);
    }


    My guess is that something is wrong in some pagetype. E.g. it could be that for some reason some property misses a Type.
    My suggestion would be to try to run the following code under a debugger against your database

    #39154 Edited, May 05, 2010 5:23
  • Maryam Sarrafkia
    Member since: 2010
     

    Hi,

    I'm wonering how you solved this issue. Would be very helpful if you can help since I have the same problem after migration to CMS 6 R2.

    Best regards,

    Maryam

    #54901 Nov 09, 2011 9:45
  •  

    Hi,
    We're also facing the same problem and therefore very interested in a solution.
    Many thanks for any hints.

    Best Regards
    Xuan

    #66187 Feb 22, 2013 11:05
  • Kiran Hegde
    Member since: 2009
     

    We are also facing the same problem, Does anybody has a solution for this?

    #66503 Mar 01, 2013 18:15
  • Per Nergård
    Member since: 2007
     

    I think we had something like this and if I remember correctlu it was a broken pagetypedefinition in the databas. Strange enouggh both creating new and browsing already existing pages of the offending type worked. 

    #66504 Mar 01, 2013 19:41
  •  

    Thank you for your help. Especially Huy and Per Nergård. I didn't get your answers at the first sight. But after using reflection on the method EPiServer.Util.XFormHelper.ListFormReferences(string formId) and debugging its code I finally understood Huy's hint. 

    There could be any broken Pagetype which interferes with the xform functionality. That is really a painful side effect.

    So to wrap it up: Just click all the pagetype in the backend admin pagetype section to verify if they work. After identifying the culprit try to remove him carefully from the database. 

    #66565 Mar 05, 2013 11:42