-
Notifications
You must be signed in to change notification settings - Fork 908
Closed
Labels
Description
When configured statically on a Linux x86_64 machine, make check
fails the unpack_hetero
test with a segv. Here's the backtrace:
(gdb) bt
#0 0x000000000040fd7c in opal_datatype_compute_ptypes (datatype=0x5810c0 <opal_datatype_int4>) at opal_datatype_get_count.c:163
#1 0x000000000040b714 in opal_datatype_compute_remote_size (pData=0x5810c0 <opal_datatype_int4>, sizes=0x7f48c8) at opal_convertor.c:456
#2 0x000000000040b82f in opal_convertor_compute_remote_size (pConvertor=0x7f4760) at opal_convertor.c:483
#3 0x000000000040ba3e in opal_convertor_prepare_for_recv (convertor=0x7f4760, datatype=0x5810c0 <opal_datatype_int4>, count=1, pUserBuf=0x7fffffffca40) at opal_convertor.c:569
#4 0x0000000000405d3d in main (argc=1, argv=0x7fffffffcb68) at unpack_hetero.c:61
The code in question is:
163 => datatype->ptypes = (size_t*)calloc(OPAL_DATATYPE_MAX_SUPPORTED, sizeof(size_t));
gdb shows:
(gdb) p datatype
$2 = (opal_datatype_t *) 0x5810c0 <opal_datatype_int4>
(gdb) p datatype->ptypes
$3 = (size_t *) 0x0
I'm not quite sure why this is a segv. Is this read-only member, perchance?