it is hanging because: 23208 hexdump CALL read(0,0x81ffc000,0x10000)
It is trying to read too much. A whole buffer, into stdio. So it empties the pool it can have, and then has to wait for more. eventually it does get data, and print 1 char. I am susprised that hexdump doesn't decide to read less based on the -n argument.