Going through the Become a Rapid Developer tutorial, changing security level produced unrecoverable error

1
When I was going through the ‘Become a Rapid Developer’ tutorial, things were going fine until I reached chapter: 9.4.4 – Set Up a Role-Based Home Page.   After reaching the step: Open App Security and set the security level to Production. The application then did not follow the tutorial.  I received no error messages as the tutorial suggested.  I went forward with the tutorial, and the next time I saved the application I received this error message:   System.AggregateException: One or more errors occurred. (Value cannot be null. (Parameter 'context'))  ---> System.ArgumentNullException: Value cannot be null. (Parameter 'context')    at Mendix.Modeler.Common.IdentifierUtil.Resolve[T](IIdentifier`1 identifier, IHasContext context) in Mendix.Modeler.Core\Common\Usages\IdentifierUtil.cs:line 17    at Mendix.Modeler.WebUI.Export.Security.AccessChecker.CheckEntityPath(EntityPath entityPath, IEntity enclosingEntity, IUserRole userRole) in Mendix.Modeler.WebUI.Export\Security\AccessChecker.cs:line 22    at Mendix.Modeler.WebUI.Export.Security.SecurityCheckVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Security\SecurityCheckVisitor.cs:line 0    at Mendix.Common.Util.EnumerableUtil.ForEach[T](IEnumerable`1 source, Action`1 action) in Mendix.Common\Util\EnumerableUtil.cs:line 51    at Mendix.Modeler.WebUI.Export.Visitors.ProjectVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Visitors\ProjectVisitor.cs:line 0    at Mendix.Modeler.WebUI.Export.Security.SecurityCheckVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Security\SecurityCheckVisitor.cs:line 109    at Mendix.Common.Util.EnumerableUtil.ForEach[T](IEnumerable`1 source, Action`1 action) in Mendix.Common\Util\EnumerableUtil.cs:line 51    at Mendix.Modeler.WebUI.Export.Visitors.ProjectVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Visitors\ProjectVisitor.cs:line 0    at Mendix.Modeler.WebUI.Export.Security.SecurityCheckVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Security\SecurityCheckVisitor.cs:line 109    at Mendix.Common.Util.EnumerableUtil.ForEach[T](IEnumerable`1 source, Action`1 action) in Mendix.Common\Util\EnumerableUtil.cs:line 51    at Mendix.Modeler.WebUI.Export.Visitors.ProjectVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Visitors\ProjectVisitor.cs:line 0    at Mendix.Modeler.WebUI.Export.Security.SecurityCheckVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Security\SecurityCheckVisitor.cs:line 109    at Mendix.Common.Util.EnumerableUtil.ForEach[T](IEnumerable`1 source, Action`1 action) in Mendix.Common\Util\EnumerableUtil.cs:line 51    at Mendix.Modeler.WebUI.Export.Visitors.ProjectVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Visitors\ProjectVisitor.cs:line 0    at Mendix.Modeler.WebUI.Export.Security.SecurityCheckVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Security\SecurityCheckVisitor.cs:line 109    at Mendix.Common.Util.EnumerableUtil.ForEach[T](IEnumerable`1 source, Action`1 action) in Mendix.Common\Util\EnumerableUtil.cs:line 51    at Mendix.Modeler.WebUI.Export.Visitors.ProjectVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Visitors\ProjectVisitor.cs:line 0    at Mendix.Modeler.WebUI.Export.Security.SecurityCheckVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Security\SecurityCheckVisitor.cs:line 109    at Mendix.Modeler.WebUI.Export.Security.SecurityCheckVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Security\SecurityCheckVisitor.cs:line 75    at Mendix.Common.Util.EnumerableUtil.ForEach[T](IEnumerable`1 source, Action`1 action) in Mendix.Common\Util\EnumerableUtil.cs:line 51    at Mendix.Modeler.WebUI.Export.Visitors.ProjectVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Visitors\ProjectVisitor.cs:line 0    at Mendix.Modeler.WebUI.Export.Security.SecurityCheckVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Security\SecurityCheckVisitor.cs:line 109    at Mendix.Common.Util.EnumerableUtil.ForEach[T](IEnumerable`1 source, Action`1 action) in Mendix.Common\Util\EnumerableUtil.cs:line 51    at Mendix.Modeler.WebUI.Export.Visitors.ProjectVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Visitors\ProjectVisitor.cs:line 0    at Mendix.Modeler.WebUI.Export.Security.SecurityCheckVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Security\SecurityCheckVisitor.cs:line 109    at Mendix.Common.Util.EnumerableUtil.ForEach[T](IEnumerable`1 source, Action`1 action) in Mendix.Common\Util\EnumerableUtil.cs:line 51    at Mendix.Modeler.WebUI.Export.Visitors.ProjectVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Visitors\ProjectVisitor.cs:line 0    at Mendix.Modeler.WebUI.Export.Security.SecurityCheckVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Security\SecurityCheckVisitor.cs:line 109    at Mendix.Common.Util.EnumerableUtil.ForEach[T](IEnumerable`1 source, Action`1 action) in Mendix.Common\Util\EnumerableUtil.cs:line 51    at Mendix.Modeler.WebUI.Export.Visitors.ProjectVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Visitors\ProjectVisitor.cs:line 0    at Mendix.Modeler.WebUI.Export.Security.SecurityCheckVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Security\SecurityCheckVisitor.cs:line 109    at Mendix.Modeler.WebUI.Export.Security.SecurityCheckVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Security\SecurityCheckVisitor.cs:line 0    at Mendix.Common.Util.EnumerableUtil.ForEach[T](IEnumerable`1 source, Action`1 action) in Mendix.Common\Util\EnumerableUtil.cs:line 51    at Mendix.Modeler.WebUI.Export.Visitors.ProjectVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Visitors\ProjectVisitor.cs:line 0    at Mendix.Modeler.WebUI.Export.Security.SecurityCheckVisitor.Process(IDocumentObject obj, Trace trace) in Mendix.Modeler.WebUI.Export\Security\SecurityCheckVisitor.cs:line 109    at Mendix.Modeler.WebUI.Export.Visitors.ObjectVisitor.Visit(IDocumentObject startingPoint, Trace initialTrace) in Mendix.Modeler.WebUI.Export\Visitors\ObjectVisitor.cs:line 34    at Mendix.Modeler.WebUI.Export.Security.SecurityCheck.<>c__DisplayClass2_0.<Check>b__3(NavigationProfileBase p) in Mendix.Modeler.WebUI.Export\Security\SecurityCheck.cs:line 40    at Mendix.Common.Util.EnumerableUtil.ForEach[T](IEnumerable`1 source, Action`1 action) in Mendix.Common\Util\EnumerableUtil.cs:line 51    at Mendix.Modeler.WebUI.Export.Security.SecurityCheck.Check(IProject project, ProjectChanges changes, IProblems problems, CancellationToken cancellationToken) in Mendix.Modeler.WebUI.Export\Security\SecurityCheck.cs:line 36    at Mendix.Modeler.Projects.Checks.ProjectChecker.<>c__DisplayClass6_0.<RunProjectChecks>b__1(ProjectChanges changes) in Mendix.Modeler.Core\Projects\Checks\ProjectChecker.cs:line 62    at Mendix.Modeler.Projects.Changes.ChangedDocumentTracker.TryProcessChangesSync(Action`1 changeProcessor) in Mendix.Modeler.Core\Projects\Changes\ChangedDocumentTracker.cs:line 30    at Mendix.Modeler.Projects.Checks.ProjectChecker.<>c__DisplayClass6_0.<RunProjectChecks>b__0() in Mendix.Modeler.Core\Projects\Checks\ProjectChecker.cs:line 53    at Mendix.Modeler.Common.ResolveCache.<>c__DisplayClass10_0.<WithCache>b__0() in Mendix.Modeler.Core\Common\Problems\ResolveCache.cs:line 45    at Mendix.Modeler.Common.ResolveCache.WithCache[T](IProject project, Func`1 action) in Mendix.Modeler.Core\Common\Problems\ResolveCache.cs:line 62    at Mendix.Modeler.Common.ResolveCache.WithCache(IProject project, Action action) in Mendix.Modeler.Core\Common\Problems\ResolveCache.cs:line 43    at Mendix.Modeler.Projects.Checks.ProjectChecker.RunProjectChecks(IProject project, CancellationToken cancellationToken) in Mendix.Modeler.Core\Projects\Checks\ProjectChecker.cs:line 49    at Mendix.Modeler.Projects.Checks.ProjectChecker.<>c__DisplayClass5_0.<Check>b__0() in Mendix.Modeler.Core\Projects\Checks\ProjectChecker.cs:line 38    at Mendix.Modeler.ProtectedModules.ProtectedModulesUnlocker.ExecuteInContext[T](Boolean unlockImplementation, Func`1 code) in Mendix.Modeler.Core\ProtectedModules\ProtectedModulesUnlocker.cs:line 42    at Mendix.Modeler.ProtectedModules.ProtectedModulesUnlocker.Do[T](Boolean unlockImplementation, Func`1 action) in Mendix.Modeler.Core\ProtectedModules\ProtectedModulesUnlocker.cs:line 29    at Mendix.Modeler.Projects.Checks.ProjectChecker.Check(IProject project, CancellationToken cancellationToken) in Mendix.Modeler.Core\Projects\Checks\ProjectChecker.cs:line 38    at Mendix.Modeler.Core.View.Problems.BackgroundCheckRunner.Check(IProject project, CancellationToken cancellationToken) in Mendix.Modeler.Core.View.CrossPlatform\Problems\BackgroundCheckRunner.cs:line 41    at Mendix.Modeler.Core.View.Problems.BackgroundCheckRunner.Check(IProject project, CancellationToken cancellationToken) in Mendix.Modeler.Core.View.CrossPlatform\Problems\BackgroundCheckRunner.cs:line 50    --- End of inner exception stack trace ---   After receiving that message, I’ve been unable to continue with the tutorial.  While I could go back and redo the hours of work, I was thinking I could revert the security settings.  I put them back to Prototype / demo but still the same error.  I put them back to Off but still the same error.  At this point I’m not sure that this can be recovered but am fearful that this is something that could rear again later and since it does seem to corrupt the application I thought it needed to be put forward  
asked
4 answers
1

Hi Richard,

 

Luckily they have a download per chapter in the summary for the rapid developer course. You can try to create a new app with that package if you want to complete the full course: https://academy.mendix.com/link/modules/95/lectures/815/8.6-Summary

You can also download the full one from the chapter 9 summary and click through the changes without having to input it yourself.

In another forum post it does mention this is a bug for Mendix 10 which will be fixed soon. 

https://forum.mendix.com/link/space/academy/questions/127184

 

answered
0

Hi Richard,

Have you given production in app security? If yes, then try app-clean deployment directory in your application.

answered
0

Lavanya,

I appreciate the response.  I had given production in app security, yes.
I tried the app-clean deployment directory and received this:

 

So, I’m guessing that something was corrupted somehow, somewhere, but since I was going through the tutorial step-by-step, this was very disheartening.

answered
0

Patrick,

I did a search and didn’t see anything about this bug, so I appreciate that it’s a known entity and being worked.

answered