I'm getting mutex contention on the global GDAL_SCOPED_LOCK between the databasePager threads and my application thread.
The database pager threads are incrementally loading the large towers.shp file and the application thread is updating a PlaceNode and a LocalGeometry node with node->setPosition(GeoPoint()). The setPosition() call goes through and does a srs->transform() which also uses the GDAL_SCOPED_LOCK.
This global lock completely breaks the intended behavior of the database pager (loading stuff in the background) by serializing access between the two threads.
In you infer from the vague statements in the FAQ that GDAL is now in fact thread-safe in "most situations," then indeed we should be able to re-architect various parts of osgEarth that rely on the mutex in order to function without crashing. I would like to make it happen; it is a chunk of work, and we will need to find some sponsorship to take it on and do it properly.