Skip to content

Crash when using a load expression within ZPT-Sharp MVC #239

@craigfowler

Description

@craigfowler

This has been reproduced whilst working on #98, using Profile Three in ZPT mode.

CSF.Zpt.Rendering.ModelEvaluationException: An error was encountered evaluating an expression whilst processing a '[(tal):(http://xml.zope.org/namespaces/tal)]:define' attribute on element 'p', see the inner exception for more details.
Source expression:load:CONTEXTS/Views/Shared/SharedZptComponent/macros/shared ---> System.ArgumentNullException: Value cannot be null.
Parameter name: value
  at CSF.Zpt.MVC.Tales.MvcTalesModel.set_ViewContext (System.Web.Mvc.ViewContext value) [0x00009] in /home/craig/Projects/CSF.Zpt/CSF.Zpt.MVC5/Tales/MvcTalesModel.cs:27 
  at CSF.Zpt.MVC.Tales.MvcTalesModel.CreateChildModel () [0x00001] in /home/craig/Projects/CSF.Zpt/CSF.Zpt.MVC5/Tales/MvcTalesModel.cs:81 
  at CSF.Zpt.Rendering.RenderingContext.<GetChildContexts>b__23_0 (CSF.Zpt.Rendering.IZptElement x) [0x00000] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Rendering/RenderingContext.cs:119 
  at System.Linq.Enumerable+SelectArrayIterator`2[TSource,TResult].ToArray () [0x00012] in <9cf10939da67463f9bbe1799644fd07e>:0 
  at System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x0001f] in <9cf10939da67463f9bbe1799644fd07e>:0 
  at CSF.Zpt.Rendering.RenderingContext.GetChildContexts () [0x00001] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Rendering/RenderingContext.cs:117 
  at CSF.Zpt.Rendering.ContextVisitorBase+<>c.<VisitRecursively>b__1_0 (CSF.Zpt.Rendering.IRenderingContext x) [0x00000] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Rendering/ContextVisitorBase.cs:40 
  at System.Linq.Enumerable+SelectManySingleSelectorIterator`2[TSource,TResult].MoveNext () [0x00051] in <9cf10939da67463f9bbe1799644fd07e>:0 
  at CSF.Zpt.Rendering.ContextVisitorBase.VisitRecursively (CSF.Zpt.Rendering.IRenderingContext context) [0x00060] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Rendering/ContextVisitorBase.cs:41 
  at CSF.Zpt.Rendering.ContextVisitorBase.VisitContext (CSF.Zpt.Rendering.IRenderingContext context) [0x00001] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Rendering/ContextVisitorBase.cs:56 
  at CSF.Zpt.Rendering.ElementRenderer.RenderElement (System.Object model, CSF.Zpt.Rendering.IZptElement element, CSF.Zpt.Rendering.IRenderingSettings options, System.Action`1[T] contextConfigurator) [0x00135] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Rendering/ElementRenderer.cs:71 
  at CSF.Zpt.ZptDocument.Render (System.Object model, System.IO.TextWriter writer, CSF.Zpt.Rendering.IRenderingSettings options, System.Action`1[T] contextConfigurator) [0x00024] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/ZptDocument.cs:125 
  at CSF.Zpt.ZptDocument.Render (System.Object model, CSF.Zpt.Rendering.IRenderingSettings options, System.Action`1[T] contextConfigurator) [0x00024] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/ZptDocument.cs:87 
  at CSF.Zpt.ZptDocument.Render (CSF.Zpt.Rendering.IRenderingSettings options, System.Action`1[T] contextConfigurator) [0x00001] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/ZptDocument.cs:49 
  at CSF.Zpt.ExpressionEvaluators.LoadExpressions.LoadExpressionEvaluator.Render (CSF.Zpt.IZptDocument document, CSF.Zpt.Rendering.IRenderingContext context) [0x0003b] in /home/craig/Projects/CSF.Zpt/ExpressionEvaluators/CSF.Zpt.ExpressionEvaluators.LoadExpressions/LoadExpressionEvaluator.cs:159 
  at CSF.Zpt.ExpressionEvaluators.LoadExpressions.LoadExpressionEvaluator.Render (CSF.Zpt.Rendering.IZptElement element, CSF.Zpt.Rendering.IRenderingContext context) [0x00021] in /home/craig/Projects/CSF.Zpt/ExpressionEvaluators/CSF.Zpt.ExpressionEvaluators.LoadExpressions/LoadExpressionEvaluator.cs:208 
  at CSF.Zpt.ExpressionEvaluators.LoadExpressions.LoadExpressionEvaluator.RenderDocument (System.Object targetToRender, CSF.Zpt.Rendering.IRenderingContext context) [0x0009b] in /home/craig/Projects/CSF.Zpt/ExpressionEvaluators/CSF.Zpt.ExpressionEvaluators.LoadExpressions/LoadExpressionEvaluator.cs:132 
  at CSF.Zpt.ExpressionEvaluators.LoadExpressions.LoadExpressionEvaluator.Evaluate (CSF.Zpt.Tales.Expression expression, CSF.Zpt.Rendering.IRenderingContext context, CSF.Zpt.Tales.ITalesModel model) [0x00067] in /home/craig/Projects/CSF.Zpt/ExpressionEvaluators/CSF.Zpt.ExpressionEvaluators.LoadExpressions/LoadExpressionEvaluator.cs:74 
  at CSF.Zpt.Tales.TalesModel.Evaluate (CSF.Zpt.Tales.Expression talesExpression, CSF.Zpt.Rendering.IRenderingContext context) [0x00036] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Tales/TalesModel.cs:97 
  at CSF.Zpt.Tales.TalesModel.Evaluate (System.String expression, CSF.Zpt.Rendering.IRenderingContext context) [0x00022] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Tales/TalesModel.cs:77 
  at CSF.Zpt.Tal.DefineAttributeHandler.Handle (CSF.Zpt.Rendering.IRenderingContext context) [0x00151] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Tal/DefineAttributeHandler.cs:79 
   --- End of inner exception stack trace ---
  at CSF.Zpt.Tal.DefineAttributeHandler.Handle (CSF.Zpt.Rendering.IRenderingContext context) [0x001a1] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Tal/DefineAttributeHandler.cs:88 
  at CSF.Zpt.Tal.TalVisitor.Visit (CSF.Zpt.Rendering.IRenderingContext context) [0x00090] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Tal/TalVisitor.cs:56 
  at CSF.Zpt.Rendering.ContextVisitorBase.VisitRecursively (CSF.Zpt.Rendering.IRenderingContext context) [0x00015] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Rendering/ContextVisitorBase.cs:38 
  at CSF.Zpt.Tal.TalVisitor.VisitRecursively (CSF.Zpt.Rendering.IRenderingContext context) [0x0004b] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Tal/TalVisitor.cs:102 
  at CSF.Zpt.Rendering.ContextVisitorBase.VisitRecursively (CSF.Zpt.Rendering.IRenderingContext context) [0x00056] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Rendering/ContextVisitorBase.cs:43 
  at CSF.Zpt.Tal.TalVisitor.VisitRecursively (CSF.Zpt.Rendering.IRenderingContext context) [0x0004b] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Tal/TalVisitor.cs:102 
  at CSF.Zpt.Rendering.ContextVisitorBase.VisitRecursively (CSF.Zpt.Rendering.IRenderingContext context) [0x00056] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Rendering/ContextVisitorBase.cs:43 
  at CSF.Zpt.Tal.TalVisitor.VisitRecursively (CSF.Zpt.Rendering.IRenderingContext context) [0x0004b] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Tal/TalVisitor.cs:102 
  at CSF.Zpt.Rendering.ContextVisitorBase.VisitRecursively (CSF.Zpt.Rendering.IRenderingContext context) [0x00056] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Rendering/ContextVisitorBase.cs:43 
  at CSF.Zpt.Tal.TalVisitor.VisitRecursively (CSF.Zpt.Rendering.IRenderingContext context) [0x0004b] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Tal/TalVisitor.cs:102 
  at CSF.Zpt.Rendering.ContextVisitorBase.VisitRecursively (CSF.Zpt.Rendering.IRenderingContext context) [0x00056] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Rendering/ContextVisitorBase.cs:43 
  at CSF.Zpt.Tal.TalVisitor.VisitRecursively (CSF.Zpt.Rendering.IRenderingContext context) [0x0004b] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Tal/TalVisitor.cs:102 
  at CSF.Zpt.Rendering.ContextVisitorBase.VisitRecursively (CSF.Zpt.Rendering.IRenderingContext context) [0x00056] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Rendering/ContextVisitorBase.cs:43 
  at CSF.Zpt.Tal.TalVisitor.VisitRecursively (CSF.Zpt.Rendering.IRenderingContext context) [0x0004b] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Tal/TalVisitor.cs:102 
  at CSF.Zpt.Rendering.ContextVisitorBase.VisitContext (CSF.Zpt.Rendering.IRenderingContext context) [0x00001] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Rendering/ContextVisitorBase.cs:56 
  at CSF.Zpt.Rendering.ElementRenderer.RenderElement (System.Object model, CSF.Zpt.Rendering.IZptElement element, CSF.Zpt.Rendering.IRenderingSettings options, System.Action`1[T] contextConfigurator) [0x00135] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/Rendering/ElementRenderer.cs:71 
  at CSF.Zpt.ZptDocument.Render (System.Object model, System.IO.TextWriter writer, CSF.Zpt.Rendering.IRenderingSettings options, System.Action`1[T] contextConfigurator) [0x00024] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/ZptDocument.cs:125 
  at CSF.Zpt.ZptDocument.Render (System.IO.TextWriter writer, CSF.Zpt.Rendering.IRenderingSettings options, System.Action`1[T] contextConfigurator) [0x00001] in /home/craig/Projects/CSF.Zpt/CSF.Zpt/ZptDocument.cs:62 
  at CSF.Zpt.MVC.ZptView.Render (System.Web.Mvc.ViewContext viewContext, System.IO.TextWriter writer) [0x00009] in /home/craig/Projects/CSF.Zpt/CSF.Zpt.MVC5/ZptView.cs:59 

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is not working and should be fixeddo nextA high priority issue which must be resolved ASAP

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions