V8.1.0 hangs up while editing a source with unsaved changes

Please let us know what you are using Katalon Studio for?

  1. I have currently applied Katalon Studio in my project

How would your work be affected if this issue has not been resolved?

  1. I cannot continue my job and have to work on something else while awaiting your response

Operating System

  • macOS BigSur 11.5.2

Katalon Studio Version

v8.1.0

Katalon Studio logs

log.txt (209.4 KB)

I have uploaded wrong .log file 3 times. This one is correct.

Screenshots / Videos

Environment (for Web testing):

not relevant

Environment (for Mobile testing):

not relevant

Steps to reproduce:

With v8.1.0, while editing a source code, Katalon Studio suddenly hangs up. KS occupied high CPU usage. A progress indicator sunadokei came up and stayed, never disappeared. I could not interact with KS. No way other than forcibly terminating it by killing the OS process. See the attached screenshot.

The lastest incident I encountered this, I was editing a Keyword source of my project GitHub - kazurayam/TestClosure: Proof of Concept "TestClosure". This enables executing multiple Groovy Closures simultaneously in Test Cases in Katalon Studio.. But I experienced the same incident in 2 other projects. So I believe the cause is there in KS, not in my projects.

I did not experience this in v8.0.x and older versions. It’s a new incident in v8.1.0.

How to reproduce? When a Keyword source has some unsaved changes (possibly the code may have syntactical/semantical error as Groovy code interimly), and when i move the cursor over the editor pane, KS suddenly hangs. I guess that Groovy compiler, Auto code completion, or Code suggest — those features that run behind the editor in the Eclipse layer triggers this incident.

Expected Behavior:

KS should never hang up.

Actual Behavior:

v8.1.0 sometimes hangs up. How frequent? — well, after 30 minutes of editing work, I encountered this. I think it’s too often. KS must not hang.

Hi kazurayam,

CPU spike can sometimes happen if you run a bunch of parallel tests altogether.
We are updating KS to increase performance as we speak and are expected to ship fully in the incoming releases. Stay tuned and let’s get back to this if the problem happen again.

Thank you,
Chris

No. I was not executing parallel tests at all when I encountered the incident. I was just editing a few of Groovy sources with editor in KS v8.1.0.

Your work for performance improvement, I am sure, would have nothing to do with the hangup I raised here.

Have you checked the .log I attached? In the .log you can find

java.lang.ArrayIndexOutOfBoundsException: -1
	at org.eclipse.jface.text.rules.BufferedRuleBasedScanner.read(BufferedRuleBasedScanner.java:118)
	at org.eclipse.jface.text.rules.WhitespaceRule.evaluate(WhitespaceRule.java:72)
	at org.eclipse.jface.text.rules.RuleBasedScanner.nextToken(RuleBasedScanner.java:165)
	at org.eclipse.jdt.internal.ui.text.AbstractJavaScanner.nextToken(AbstractJavaScanner.java:196)
	at org.eclipse.jface.text.rules.DefaultDamagerRepairer.createPresentation(DefaultDamagerRepairer.java:179)
	at org.eclipse.jface.text.presentation.PresentationReconciler.createPresentation(PresentationReconciler.java:436)
	at org.eclipse.jface.text.presentation.PresentationReconciler.processDamage(PresentationReconciler.java:549)
	at org.eclipse.jface.text.presentation.PresentationReconciler.access$3(PresentationReconciler.java:547)
	at org.eclipse.jface.text.presentation.PresentationReconciler$InternalListener.textChanged(PresentationReconciler.java:215)
	at org.eclipse.jface.text.TextViewer.updateTextListeners(TextViewer.java:2709)
	at org.eclipse.jface.text.TextViewer.invalidateTextPresentation(TextViewer.java:3353)
	at org.eclipse.jface.text.source.AnnotationPainter.invalidateTextPresentation(AnnotationPainter.java:970)
	at org.eclipse.jface.text.source.AnnotationPainter.updatePainting(AnnotationPainter.java:952)
	at org.eclipse.jface.text.source.AnnotationPainter.lambda$0(AnnotationPainter.java:1075)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4124)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3791)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1158)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1047)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:658)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:154)
	at com.kms.katalon.core.application.WorkbenchApplicationStarter.start(WorkbenchApplicationStarter.java:23)
	at com.kms.katalon.application.Application.runGUI(Application.java:191)
	at com.kms.katalon.application.Application.start(Application.java:102)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1447)

The Exception was thrown by the Eclipse GUI layer. In that layer there must be a real cause of hangups, I think.

I encountered a similar issue (GUI hangs up) in other product, not Katalon Studio. This indicates that I have something wrong in mac OSX, or in the hardware (possibly the touch pad is nearly breaking down).

I will close this post.