When there is no color layer available,
BKE_sculpt_update_object_for_edit creates a new one and tags the mesh
with ID_RECLAC_GEOMETRY, so this layer is inmediatly available when the
tool starts. This also deletes the PBVH and when it is created again in
BKE_sculpt_update_object_after_eval, the pmap is not initialized, making
the tool crash.
Most of the tools need the pmap, so I would rather have it always
initialized and remove all checks for pmap all over the code, (also,
multires and dyntopo have connectivity info always available), but I'm
not sure how doing this will affect performance/memory ussage. For now,
this always request the connectivity info when updating objects after
eval, so this should not happen again.