Hello Yunfei,
This is probably an ART question rather than varsim but I have noticed that if you generate an error free sam by passing --art_options="--errfree" to varsim the generated sam file has inconsistent quality strings with different lengths than the corresponding reads. This causes errors 'samtools fastq' or 'gatk SamToFastq'.
Jorge