I think that TupIsNull macro is no longer appropriate, to protect
ExecCopySlot.
See at tuptable.h:
#define TupIsNull(slot) \
((slot) == NULL || TTS_EMPTY(slot))
If var node->group_pivot is NULL, ExecCopySlot will
dereference a null pointer (first arg).
Maybe, this can be related to a bug reported in the btree deduplication.
regards,
Ranier Vilela