Fix some error handling and tracing issues

Fix #1315
Fix #1314
Fix #1318
I would just make this simple and always trace.  This is unexpected situation and adding one extra trace is not the end of the world.   Keep the api simple.