This is an automated email from the ASF dual-hosted git repository.
fschumacher pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git
The following commit(s) were added to refs/heads/master by this push:
new c2f29cc Setup GUI in Swing thread
c2f29cc is described below
commit c2f29ccfd1e2619ae2960c96bd54e76e2ba0e03b
Author: Felix Schumacher <[email protected]>
AuthorDate: Sat Feb 19 19:41:27 2022 +0100
Setup GUI in Swing thread
This seems to be the right thing to do and it fixes an exception, that
happens
on startup after the code for Bug 63620 has been incorporated.
The exception was:
ERROR o.a.j.g.u.JSyntaxTextArea: Dubious problem while setting text to
SOMETHING
java.lang.NullPointerException: null
at
org.fife.ui.rsyntaxtextarea.WrappedSyntaxView.updateMetrics(WrappedSyntaxView.java:1081)
~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at
org.fife.ui.rsyntaxtextarea.WrappedSyntaxView.getPreferredSpan(WrappedSyntaxView.java:618)
~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at
org.fife.ui.rsyntaxtextarea.WrappedSyntaxView.calculateBreakPosition(WrappedSyntaxView.java:114)
~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at
org.fife.ui.rsyntaxtextarea.WrappedSyntaxView$WrappedLine.calculateLineCount(WrappedSyntaxView.java:1191)
~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at
org.fife.ui.rsyntaxtextarea.WrappedSyntaxView$WrappedLine.handleDocumentEvent(WrappedSyntaxView.java:1440)
~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at
org.fife.ui.rsyntaxtextarea.WrappedSyntaxView$WrappedLine.insertUpdate(WrappedSyntaxView.java:1464)
~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at
org.fife.ui.rsyntaxtextarea.WrappedSyntaxView.insertUpdate(WrappedSyntaxView.java:705)
~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at
javax.swing.plaf.basic.BasicTextUI$RootView.insertUpdate(BasicTextUI.java:1706)
~[?:?]
at
javax.swing.plaf.basic.BasicTextUI$UpdateHandler.insertUpdate(BasicTextUI.java:1965)
~[?:?]
at
javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:203)
~[?:?]
at
org.fife.ui.rsyntaxtextarea.RSyntaxDocument.fireInsertUpdate(RSyntaxDocument.java:187)
~[rsyntaxtextarea-3.1.3.jar:3.1.3]
at
javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:757)
~[?:?]
at
javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:716) ~[?:?]
at
javax.swing.text.PlainDocument.insertString(PlainDocument.java:131) ~[?:?]
at
javax.swing.text.AbstractDocument.replace(AbstractDocument.java:675) ~[?:?]
at
javax.swing.text.JTextComponent.setText(JTextComponent.java:1729) ~[?:?]
at
org.apache.jmeter.gui.util.JSyntaxTextArea.setInitialText(JSyntaxTextArea.java:296)
[ApacheJMeter_core.jar:5.5-SNAPSHOT]
at
org.apache.jmeter.testbeans.gui.TextAreaEditor.setValue(TextAreaEditor.java:112)
[ApacheJMeter_core.jar:5.5-SNAPSHOT]
at
org.apache.jmeter.testbeans.gui.GenericTestBeanCustomizer.setEditorValue(GenericTestBeanCustomizer.java:479)
[ApacheJMeter_core.jar:5.5-SNAPSHOT]
at
org.apache.jmeter.testbeans.gui.GenericTestBeanCustomizer.setObject(GenericTestBeanCustomizer.java:511)
[ApacheJMeter_core.jar:5.5-SNAPSHOT]
at
org.apache.jmeter.testbeans.gui.TestBeanGUI.setValues(TestBeanGUI.java:323)
[ApacheJMeter_core.jar:5.5-SNAPSHOT]
at
org.apache.jmeter.testbeans.gui.TestBeanGUI.configure(TestBeanGUI.java:307)
[ApacheJMeter_core.jar:5.5-SNAPSHOT]
at
org.apache.jmeter.gui.tree.JMeterTreeModel.addComponent(JMeterTreeModel.java:162)
[ApacheJMeter_core.jar:5.5-SNAPSHOT]
at
org.apache.jmeter.gui.tree.JMeterTreeModel.addSubTree(JMeterTreeModel.java:131)
[ApacheJMeter_core.jar:5.5-SNAPSHOT]
at
org.apache.jmeter.gui.tree.JMeterTreeModel.addSubTree(JMeterTreeModel.java:123)
[ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.gui.GuiPackage.addSubTree(GuiPackage.java:554)
[ApacheJMeter_core.jar:5.5-SNAPSHOT]
at
org.apache.jmeter.gui.action.Load.insertLoadedTree(Load.java:199)
[ApacheJMeter_core.jar:5.5-SNAPSHOT]
at
org.apache.jmeter.gui.action.Load.insertLoadedTree(Load.java:235)
[ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.JMeter.startGui(JMeter.java:431)
[ApacheJMeter_core.jar:5.5-SNAPSHOT]
at org.apache.jmeter.JMeter.start(JMeter.java:566)
[ApacheJMeter_core.jar:5.5-SNAPSHOT]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method) ~[?:?]
at
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:?]
at
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:?]
at java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
at org.apache.jmeter.NewDriver.main(NewDriver.java:257)
Which seemed to happen on the main thread.
Part of [Bug 63620] Fix GUI freeze when viewing response body with long
lines
Bugzilla Id: 63620
---
src/core/src/main/java/org/apache/jmeter/JMeter.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/core/src/main/java/org/apache/jmeter/JMeter.java
b/src/core/src/main/java/org/apache/jmeter/JMeter.java
index e5dffc6..3fa0d81 100644
--- a/src/core/src/main/java/org/apache/jmeter/JMeter.java
+++ b/src/core/src/main/java/org/apache/jmeter/JMeter.java
@@ -54,6 +54,7 @@ import javax.script.ScriptEngineFactory;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import javax.swing.JTree;
+import javax.swing.SwingUtilities;
import javax.swing.tree.TreePath;
import org.apache.commons.cli.avalon.CLArgsParser;
@@ -563,7 +564,8 @@ public class JMeter implements JMeterPlugin {
ReportGenerator generator = new
ReportGenerator(reportFile, null);
generator.generate();
} else if (parser.getArgumentById(NONGUI_OPT) == null) { //
not non-GUI => GUI
- startGui(testFile);
+ String initialTestFile = testFile;
+ SwingUtilities.invokeAndWait(() ->
startGui(initialTestFile));
startOptionalServers();
} else { // NON-GUI must be true
extractAndSetReportOutputFolder(parser, deleteResultFile);