comment out that line char *tap_state_rtl[fsdbtapdecoder->_num_tap_state + 1]. If the problem is there, it is likely that you are out of bounds on the array index.
what are you trying to do with the line char *tap_state_rtl[fsdbtapdecoder->_num_tap_state + 1] ?
firstly, it does not have a semicolon at the end.
secondly i guess you are declaring an array of pointers to char type. The size of the array seems to be variable type whereas it should be a constant.