The first bit of fix (cs14814) applied to 1.6 branch (cs14815).
But there is a related problem for primitive arrays.
There is a toString(Object) in DGM, but it is scoped as protected so that it doesn't become a metamethod. I know there must be a reason for that, but we either need to make it public or implement toString for each of the primitive arrays. I've tried making it public and it seems to work OK, but I suspect there may not be test cases for the MOP cases that led to toString(Object) going with protected.
I'm tempted to commit the change and see what happens since it doesn't break the build, but I attached it as a patch here for the time being instead.