I am using
- macOS 12.6
- Katalon Studio 8.3.0
I have created a GitHub repository that contains a Katalon Studio project where you can reproduce the problem:
What happend:
In this project, I have a Keyword class com.kazurayam.ks.testobject.BiMatcher
. BiMatcher
class works fine.
You can try executing it by running a Test Cases/junit4/com/kazurayam.ks.testobject/BiMatcherTestRunner
Also you can run it by Test Suites/junit4/TS1
The test cases work fine.
Now, I wanted to renamed the class BiMatcher
to BilingualMatcher
.
I tried to rename it in the Tests Explorer
by click the class; click mouse button right; Rename.
When I tried it, Katalon Studio hanged for 10 or 20 seconds; then came back.
But the BiMatcher
class was still BiMatcher
. Katalon Studio failed to rename it to BilingualMatcher
.
I checked the .log
file.
log.txt (22.2 KB)
This contains a Stack Trace message:
!ENTRY org.eclipse.e4.ui.workbench 4 0 2023-03-03 22:56:41.621
!MESSAGE
!STACK 0
org.eclipse.text.edits.MalformedTreeException: Overlapping text edits
at org.eclipse.text.edits.TextEdit$InsertionComparator.compare(TextEdit.java:126)
at org.eclipse.text.edits.TextEdit$InsertionComparator.compare(TextEdit.java:1)
at java.util.Collections.indexedBinarySearch(Collections.java:334)
at java.util.Collections.binarySearch(Collections.java:322)
at org.eclipse.text.edits.TextEdit.computeInsertionIndex(TextEdit.java:799)
at org.eclipse.text.edits.TextEdit.internalAdd(TextEdit.java:784)
at org.eclipse.text.edits.TextEdit.addChild(TextEdit.java:340)
at org.eclipse.jdt.internal.core.CopyResourceElementsOperation.updateNonJavaContent(CopyResourceElementsOperation.java:702)
at org.eclipse.jdt.internal.core.CopyResourceElementsOperation.updateContent(CopyResourceElementsOperation.java:645)
at org.eclipse.jdt.internal.core.CopyResourceElementsOperation.processCompilationUnitResource(CopyResourceElementsOperation.java:313)
at org.eclipse.jdt.internal.core.CopyResourceElementsOperation.processElement(CopyResourceElementsOperation.java:422)
at org.eclipse.jdt.internal.core.MultiOperation.processElements(MultiOperation.java:168)
at org.eclipse.jdt.internal.core.CopyResourceElementsOperation.processElements(CopyResourceElementsOperation.java:441)
at org.eclipse.jdt.internal.core.MultiOperation.executeOperation(MultiOperation.java:95)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:736)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:807)
at org.eclipse.jdt.internal.core.JavaModel.rename(JavaModel.java:289)
at org.eclipse.jdt.internal.core.CompilationUnit.rename(CompilationUnit.java:1350)
at org.codehaus.jdt.groovy.model.GroovyCompilationUnit.rename(GroovyCompilationUnit.java:575)
at org.eclipse.jdt.internal.corext.refactoring.changes.RenameCompilationUnitChange.doRename(RenameCompilationUnitChange.java:65)
at org.eclipse.jdt.internal.corext.refactoring.AbstractJavaElementRenameChange.perform(AbstractJavaElementRenameChange.java:92)
at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:281)
at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)
at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.lambda$0(DynamicValidationStateChange.java:105)
at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:41)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:736)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:5895)
at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:106)
at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:281)
at org.eclipse.ltk.core.refactoring.PerformChangeOperation.lambda$0(PerformChangeOperation.java:258)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:295)
at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:224)
at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:41)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:736)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:5895)
at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:108)
at com.kms.katalon.composer.keyword.handlers.RenameKeywordHandler$2.run(RenameKeywordHandler.java:85)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:199)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:156)
at org.eclipse.jdt.ui.refactoring.RenameSupport.perform(RenameSupport.java:201)
at com.kms.katalon.composer.keyword.handlers.RenameKeywordHandler.execute(RenameKeywordHandler.java:79)
at com.kms.katalon.composer.keyword.handlers.RenameKeywordHandler.access$0(RenameKeywordHandler.java:61)
at com.kms.katalon.composer.keyword.handlers.RenameKeywordHandler$1.handleEvent(RenameKeywordHandler.java:55)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38)
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)
I hope Katalon team to fix this primitive bug.
@vu.tran Pls let them know.