I do not get a 500, but rather a warning in the logs
… WARNING h.ExpressionFactory2$JexlExpression#evaluate: Caught exception evaluating: it.properties in /me/configure. Reason: java.lang.reflect.InvocationTargetException
java.lang.AssertionError: class org.jenkinsci.plugins.googlelogin.GoogleUserInfo is missing its descriptor
at jenkins.model.Jenkins.getDescriptorOrDie(Jenkins.java:1521)
at hudson.model.UserProperty.getDescriptor(UserProperty.java:67)
at hudson.model.UserProperty.getDescriptor(UserProperty.java:52)
at hudson.model.Descriptor.toMap(Descriptor.java:987)
at hudson.model.User.getProperties(User.java:272)
and then the rest of the page is broken because instance == null for other SomeUserProperty/config.jelly; in particular for MyViewsProperty this results in /viewExistsCheck?value=&exists=true being called rather than /user/dev/my-views/viewExistsCheck?value=&exists=true, with the result that Jenkins.doViewExistsCheck is called rather than MyViewsProperty.doViewExistsCheck, and while the View.CREATE check in the latter should always pass (since you have admin permission on your own User), on the former it will fail if you lack View.CREATE on Jenkins. Thus a 403 is returned from the AJAX call rather than a form validation response, and thus other AJAX calls on the same page are skipped and the whole form is more or less broken.
How can we fix this? Seems like we cannot just replace getDescriptorOrDie with getDescriptor. What's the expected behavior if no descriptor found?