1
Vote

iPDC segmentation fault when encountering errors

description

First of all, great work on the project. It works great and the inclusion of a PMU simulator makes testing much easier.

While running iPDC in redhat and encountering errors (specifically the "Configuration Change" error and the "PMU error may includ configuration error") the program crashed, reporting a segmentation fault. Using gdb I tracked the fault to line 137 of dallocate.c in the function free_dataframe_object.

As it turns out, when one of the above errors is encountered the program skips an iteration of a loop and in doing so skips a couple of malloc's. When the program later tries to free the unallocated spaces it throws a segmentation fault.

I was able to solve the issue by adding the skipped mallocs and setting phnmr, annmr, and dgnmr to 0.

I've attached the altered parser.c. The changes I've made appear on lines 1058 and 1085. The edit on line 1085 is to directly address the problem I was having, while the edit on line 1058 is made because while I haven't had issues with that error number (16-> data has not arrived yet), it is likely that the same problem exists there.

file attachments

comments