I2C bus Scan time

The program never reaches a conclusion. After printing the header, that's it.

Doesn't say "0 devices found" or even print the time, dec and hex values you show in your example. Why would that be?

If I run the program with an oscilloscope hooked up to SDA, I should see some output. Is that worth trying, in order to see if anything is going out?