This was tested and fails with Karaf ver. 2.4.4, 3.0.8, 4.1.3.
This seems to be a classloading issue that is only happening when using annotation based protobuf marsahlling.
The bytecode generation that happens under the hood using javassist fails. The reason was found to be the wrong classloader used by the javassist ClassPool. Relying on the default (thread context classloader) works usually, but not in OSGi. The fix is to pass the classloader that loaded the protostream bundle to the ClassPool instead, but ClassPool's constructors do not allow that, so we need another creative solution.