Question

Photo of Casey Dierking

0

Member can't view account page, throws exception error only on that person

I'm not sure what is going on here. A church member cannot view their account page as it throws an error. Internally, Rock is giving me the exception of "Object reference not set to an instance of an object". I've tested other people and they can view the page just fine, but it is only borked on her page.



Any suggestions?

  • Photo of Jim Michael

    0

    Can you view this person's record in Rock normally? Is there anything odd about her record? (kids in multiple families, etc?)

    • Casey Dierking

      Here is the exception I'm getting.
      Exception Log:
      NullReferenceException in App_Web_ap3ii2hv


      Message
      Object reference not set to an instance of an object.
      Stack Trace
      at RockWeb.Blocks.Cms.PublicProfileEdit.<>c__DisplayClass3a.<ShowDetail>b__26(PhoneNumber pn) in c:\inetpub\wwwroot\Blocks\Cms\PublicProfileEdit.ascx.cs:line 823
      at System.Linq.Enumerable.WhereEnumerableIterator1.MoveNext() at System.Collections.Generic.List1..ctor(IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source)
      at RockWeb.Blocks.Cms.PublicProfileEdit.ShowDetail() in c:\inetpub\wwwroot\Blocks\Cms\PublicProfileEdit.ascx.cs:line 823
      at RockWeb.Blocks.Cms.PublicProfileEdit.BindFamilies() in c:\inetpub\wwwroot\Blocks\Cms\PublicProfileEdit.ascx.cs:line 129
      at RockWeb.Blocks.Cms.PublicProfileEdit.OnLoad(EventArgs e) in c:\inetpub\wwwroot\Blocks\Cms\PublicProfileEdit.ascx.cs:line 79
      at System.Web.UI.Control.LoadRecursive()
      at System.Web.UI.Control.LoadRecursive()
      at System.Web.UI.Control.LoadRecursive()
      at System.Web.UI.Control.LoadRecursive()
      at System.Web.UI.Control.LoadRecursive()
      at System.Web.UI.Control.LoadRecursive()
      at System.Web.UI.Control.LoadRecursive()
      at System.Web.UI.Control.LoadRecursive()
      at System.Web.UI.Control.LoadRecursive()
      at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

    • Daniel Hazelbaker

      Casey, hmm. Looking at the stack trace and the code lines indicated, it is something to do with displaying that person's phone number. I would check their phone numbers on the internal staff person detail page and verify everything looks correct. If it does, try deleting all the phone numbers (maybe write them down first) and then see if it works on the public portal. If it still isn't working you might have to dig into SQL and see if there are, somehow, phone numbers for that person that are in SQL but not showing up in the person detail page on the staff side that is causing the public side to crash.

    • Casey Dierking

      Daniel, I think we might be on to something here. So I deleted her phone numbers, and in the person edit screen, it does not show up. But on her profile page, it does show a phone number.

  • Photo of Casey Dierking

    0

    I'm following up on this because I'm still at a loss. I was able to dig into the SQL and delete the phone number attached to her account, but we're still getting the same error. Here is the most current stack trace.



    at RockWeb.Blocks.Cms.PublicProfileEdit.<>c__DisplayClass9.b__0(PhoneNumber pn) in c:\inetpub\wwwroot\Blocks\Cms\PublicProfileEdit.ascx.cs:line 267
    at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
    at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
    at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
    at RockWeb.Blocks.Cms.PublicProfileEdit.rptGroupMembers_ItemDataBound(Object sender, RepeaterItemEventArgs e) in c:\inetpub\wwwroot\Blocks\Cms\PublicProfileEdit.ascx.cs:line 267
    at System.Web.UI.WebControls.Repeater.OnItemDataBound(RepeaterItemEventArgs e)
    at System.Web.UI.WebControls.Repeater.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem)
    at System.Web.UI.WebControls.Repeater.AddDataItemsIntoItemsArray(IEnumerable dataSource, Boolean useDataSource)
    at System.Web.UI.WebControls.Repeater.PostGetDataAction(IEnumerable dataSource)
    at System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e)
    at RockWeb.Blocks.Cms.PublicProfileEdit.ShowDetail() in c:\inetpub\wwwroot\Blocks\Cms\PublicProfileEdit.ascx.cs:line 907
    at RockWeb.Blocks.Cms.PublicProfileEdit.BindFamilies() in c:\inetpub\wwwroot\Blocks\Cms\PublicProfileEdit.ascx.cs:line 129
    at RockWeb.Blocks.Cms.PublicProfileEdit.OnLoad(EventArgs e) in c:\inetpub\wwwroot\Blocks\Cms\PublicProfileEdit.ascx.cs:line 79
    at System.Web.UI.Control.LoadRecursive()
    at System.Web.UI.Control.LoadRecursive()
    at System.Web.UI.Control.LoadRecursive()
    at System.Web.UI.Control.LoadRecursive()
    at System.Web.UI.Control.LoadRecursive()
    at System.Web.UI.Control.LoadRecursive()
    at System.Web.UI.Control.LoadRecursive()
    at System.Web.UI.Control.LoadRecursive()
    at System.Web.UI.Control.LoadRecursive()
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

    • Daniel Hazelbaker

      It's still something related to phone numbers on that person (or maybe a family member). That is about the only information we can gather from the stack trace...