I am constantly getting verification errors with avrdude and atmega168. I googled a lot, but everyone is getting them at first byte, whereas I am getting them at random bytes:
avrdude: verifying ... avrdude: verification error, first mismatch at byte 0x0692 0x91 != 0x8c avrdude: verification error; content mismatch
Sometimes it works, sometimes it doesn't. I noticed that if one hex file doesn't work once, it won't work at all, unless I will change something in code, thus changing the hex file. It happened with multiple processors and two programmers.