StackOverflowError caused by Secure Catalog decorators
Description
In the context of a Boundless Exchange deployment, over time, Layers in GeoServer would start to throw StackOverflowErrors when performing GetCapabilities and GetMap calls. If unaddressed, eventually trying to navigate to the Layer list page or the Layer Preview page in GeoServer would cause StackOverflowErrors as well. It was discovered that reloading the Catalog would alleviate the symptoms for a while. However, over time, the symptoms would pop back up.
The StackOverflowErrors were observed in both Java serialization and deserialization of DataStoreInfo objects related to the layers, specifically SecuredDataStoreInfo object instances (see attached logs).
Environment
OS: Centos 7 GeoServer: 2.12.2 Java: 1.8.0_161
This is in the context of a Boundless Exchange deployment based on GeoNode.
Attachments
2
Activity
Erik Merkle
May 11, 2018 at 7:32 PM
Thanks Andrea!
Erik Merkle
May 11, 2018 at 6:38 PM
Based on the tags, the fix for this is fully in 2.12.3. Release 2.13.0 did not get all of the fix, but 2.13.1 will have all the commits. All the commits are in 2.14.x, which has not had a release as of yet that I can see.
In the context of a Boundless Exchange deployment, over time, Layers in GeoServer would start to throw StackOverflowErrors when performing GetCapabilities and GetMap calls. If unaddressed, eventually trying to navigate to the Layer list page or the Layer Preview page in GeoServer would cause StackOverflowErrors as well. It was discovered that reloading the Catalog would alleviate the symptoms for a while. However, over time, the symptoms would pop back up.
The StackOverflowErrors were observed in both Java serialization and deserialization of DataStoreInfo objects related to the layers, specifically SecuredDataStoreInfo object instances (see attached logs).