From e4d64bf46274050dbfb8cab1a154b63c18c0d13d Mon Sep 17 00:00:00 2001
From: Florian Angerer <florian.angerer@oracle.com>
Date: Mon, 5 Feb 2018 14:16:03 +0100
Subject: [PATCH] Fix: Close stdin of 'bzip2' subprocess.

---
 .../src/com/oracle/truffle/r/runtime/RCompression.java       | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RCompression.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RCompression.java
index 1f3cf0a6fb..92868ceba0 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RCompression.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RCompression.java
@@ -259,12 +259,15 @@ public class RCompression {
         Process p = pb.start();
         // version is written to the error output stream
         InputStream is = p.getErrorStream();
+        OutputStream os = p.getOutputStream();
         ProcessOutputManager.OutputThreadVariable readThread = new ProcessOutputManager.OutputThreadVariable(command[0], is);
         readThread.start();
+        os.close();
         try {
             rc = p.waitFor();
             if (rc == 0) {
-                String output = new String(readThread.getData());
+                readThread.join();
+                String output = new String(readThread.getData(), 0, readThread.getTotalRead());
                 String version = "Version ";
                 String firstLine = output.split("\\n")[0];
                 int versionIdx = firstLine.indexOf(version);
-- 
GitLab