During the investigation of JDK-8153843 we noticed that the code for printing gc+humongous logging accesses the klass of the objects that are reclaimed via the size() method during eager reclaim.
At the moment this is not critical as eager reclaim only over selects humongous objects of typeArray kind, which is never unloaded.
However this should be fixed in preparation for more extensive reclamation.
One idea would be to only access obj->size() in the log message if it is safe to do so, otherwise print an estimate (using regions), or just the number of regions.