I once designed a board to drive a laser printer. The commands were sent via a UART and status returned via the same UART. The UART was driven by microcode on a Xerox ALTO computer. The test group claimed I was sending an extra garbage byte at the end of printing. So I added microcode to dump into memory a trace of all characters sent or received. No garbage character?! I watched their test setup and noticed that the garbage character was being sent when my program terminated. Turns out that resetting the UART would send a garbage character. Sending a character without a start bit before resetting the UART solved the problem.
I was in research and the testers were in development but I'd learned to listen carefully to developers and people on the production line - they might know something you don't.