diff --git a/akka-remote/src/main/scala/akka/remote/serialization/ThrowableSupport.scala b/akka-remote/src/main/scala/akka/remote/serialization/ThrowableSupport.scala index 6d8a276af2..89cd19ef1c 100644 --- a/akka-remote/src/main/scala/akka/remote/serialization/ThrowableSupport.scala +++ b/akka-remote/src/main/scala/akka/remote/serialization/ThrowableSupport.scala @@ -39,11 +39,12 @@ private[akka] class ThrowableSupport(system: ExtendedActorSystem) { } def stackTraceElementBuilder(elem: StackTraceElement): ContainerFormats.StackTraceElement.Builder = { - ContainerFormats.StackTraceElement.newBuilder() + val builder = ContainerFormats.StackTraceElement.newBuilder() .setClassName(elem.getClassName) .setMethodName(elem.getMethodName) - .setFileName(elem.getFileName) .setLineNumber(elem.getLineNumber) + val fileName = elem.getFileName + if (fileName ne null) builder.setFileName(fileName) else builder.setFileName("") } def deserializeThrowable(bytes: Array[Byte]): Throwable = { @@ -71,7 +72,9 @@ private[akka] class ThrowableSupport(system: ExtendedActorSystem) { import scala.collection.JavaConverters._ val stackTrace = protoT.getStackTraceList.asScala.map { elem ⇒ - new StackTraceElement(elem.getClassName, elem.getMethodName, elem.getFileName, elem.getLineNumber) + val fileName = elem.getFileName + new StackTraceElement(elem.getClassName, elem.getMethodName, + if (fileName.length > 0) fileName else null, elem.getLineNumber) }.toArray t.setStackTrace(stackTrace) t