Found a workaround of the fault: enlarge the gap between .text and .data segments.
This made me believe the problem was caused by memory overwrite.