We were not instantiating procedure pointer components.  If the instantiation
contained errors, we were not reporting them.  This resulted in internal errors
in later processing.
I fixed this by adding code in .../lib/Semantics/type.cpp in
InstantiateComponent() to handle a component with ProcEntityDetails.  I also
added several tests for various good and bad instantiations of procedure
pointer components.
One of the tests caused a redundant context message to appear.  I fixed this by
removing a call to set_instantiationContext() from
DerivedTypeSpec::Instantiate().
Why is the scope's instantiation context no longer needing to be set? Are you somehow setting it elsewhere?