I don't have an event source to test with, but I can help you answer your question, "How can I got more information about this error?"
Change:
source.on.error.add((Event e) => print('error'));
To:
source.on.error.add((e) {
print('error');
});
Then, set a breakpoint on the line with print. This will let you inspect the local variable e when you debug your application in Dartium.
You can also use dart2js to compile the application to JavaScript and the Chrome's JavaScript debugger to learn more about e. Search for "error" in the generated JavaScript in the debugger to figure out where to put the breakpoint.
Another trick that is sometimes helpful is to change the code to:
source.on.error.add((int e) => print('error'));
e is not an int, so DartEditor will give you a warning, telling you what type e really is. Then, you can use that type. Next, Command-click on that type to look at the source code for it.
My best advice is to try to use Chrome's JavaScript debugger and debug the problem from there. That's helped me isolate this sort of problem in the past.