Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
Using drbdadm with environment variable MALLOC_CHECK_ set to not zero result in segmentation fault. Reason is the handling of most free operations in drbdadm_main.c, notably in functions free_config, free_host_info and maybe some other more. Example: function free_host_info for_each_volume(vol, hi->volumes) free_volume(vol); Function free_volume call as last libc function free(vol), which instructs libc in case of MALLOC_CHECK_ not zero to initialize memory with 0xcc. The macro for_each_volume take vol->next (which is now 0xcccccccc) as next vol and calls free_volume again which try to free the memory and this cause the segmentation fault. Example of correct behaviour is function free_options, which temporary stores the next element before freeing it. There is currently no race condition in free before next, because this part is not multi threaded. Questions: Is there a specific reason for doing that (DRBD 8.3.11 works fine with MALLOC_CHECK_) in DRBD 8.4.1 ? Is it planned or a bug ? Patch ? Rainer