Index: /applications/editors/josm/plugins/ext_tools/.classpath
===================================================================
--- /applications/editors/josm/plugins/ext_tools/.classpath	(revision 23125)
+++ /applications/editors/josm/plugins/ext_tools/.classpath	(revision 23126)
@@ -2,6 +2,6 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JDK 6"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/JOSM"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="output" path="build"/>
 </classpath>
Index: /applications/editors/josm/plugins/ext_tools/build.xml
===================================================================
--- /applications/editors/josm/plugins/ext_tools/build.xml	(revision 23125)
+++ /applications/editors/josm/plugins/ext_tools/build.xml	(revision 23126)
@@ -31,5 +31,5 @@
 
 	<!-- enter the SVN commit message -->
-	<property name="commit.message" value="update to josm latest" />
+	<property name="commit.message" value="show stderr contents in debug window" />
 	<!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
 	<property name="plugin.main.version" value="3403" />
Index: /applications/editors/josm/plugins/ext_tools/src/ext_tools/ExtTool.java
===================================================================
--- /applications/editors/josm/plugins/ext_tools/src/ext_tools/ExtTool.java	(revision 23125)
+++ /applications/editors/josm/plugins/ext_tools/src/ext_tools/ExtTool.java	(revision 23126)
@@ -4,4 +4,5 @@
 
 import java.awt.Cursor;
+import java.awt.GridBagLayout;
 import java.io.File;
 import java.io.IOException;
@@ -14,4 +15,7 @@
 import javax.swing.JMenuItem;
 import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
 import javax.swing.SwingUtilities;
 
@@ -22,4 +26,5 @@
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
+import org.openstreetmap.josm.gui.JMultilineLabel;
 import org.openstreetmap.josm.gui.MainMenu;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
@@ -27,4 +32,5 @@
 import org.openstreetmap.josm.io.IllegalDataException;
 import org.openstreetmap.josm.io.OsmReader;
+import org.openstreetmap.josm.tools.GBC;
 
 public class ExtTool {
@@ -110,4 +116,16 @@
     }
 
+    protected void showErrorMessage(String message, String details) {
+        JPanel p = new JPanel(new GridBagLayout());
+        p.add(new JMultilineLabel(message),GBC.eol());
+        if (details != null) {
+            JTextArea info = new JTextArea(details, 20, 60);
+            info.setCaretPosition(0);
+            info.setEditable(false);
+            p.add(new JScrollPane(info), GBC.eop());
+        }
+        JOptionPane.showMessageDialog(Main.parent, p, tr("External tool error"), JOptionPane.ERROR_MESSAGE);
+    }
+
     public void runTool(LatLon pos) {
         Main.map.mapView.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
@@ -138,8 +156,11 @@
         builder.directory(new File(ExtToolsPlugin.plugin.getPluginDir()));
 
+        final StringBuilder debugstr = new StringBuilder();
+
         // debug: print resulting cmdline
         for (String s : builder.command())
-            System.out.print(s + " ");
-        System.out.print("\n");
+            debugstr.append(s + " ");
+        debugstr.append("\n");
+        System.out.print(debugstr.toString());
 
         final ToolProcess tp = new ToolProcess();
@@ -159,4 +180,7 @@
                     int len;
                     while ((len = errStream.read(buffer)) > 0) {
+                        synchronized (debugstr) {
+                            debugstr.append(new String(buffer, 0, len));
+                        }
                         System.err.write(buffer, 0, len);
                     }
@@ -185,6 +209,9 @@
                         SwingUtilities.invokeLater(new Runnable() {
                             public void run() {
-                                JOptionPane.showMessageDialog(Main.parent,
-                                        tr("Child script have returned invalid data."));
+                                synchronized (debugstr) {
+                                    showErrorMessage(
+                                            tr("Child script have returned invalid data.\n\nstderr contents:"),
+                                            debugstr.toString());
+                                }
                             }
                         });
