The generated code contains a big string literal which contains metadata about the types. The metadata is itself a protocol buffer, and is decoded at startup. It looks like it is somehow being corrupted in your environment. I don't know how that would happen. I recently wrote an Eclipse plugin that used protocol buffers and did not see any problems.
That said, you can try adding this to your .proto file:
option optimize_for = LITE_RUNTIME;
This turns off a number of features, including self-description. Thus, the generated code will no longer contain an embedded descriptor at all.