How to write junit test cases in java

I have tried Java SDK developer's guide - Testing | Temporal Documentation and also https://github.com/tsurdilo/temporal-java-workshop/blob/main/src/test/java/io/workshop/c1s2/ContentLengthWorkflowTest.java none of those are working. If im actually creating object for activities and registering activity it is throwing error. If im keeping mock object then also it is throwing error. please help

Hi @Tallam_Hemanth

what is the error? Can you share the code?

we have a samples java repo with more unit test just in case you want to take a look

Antonio

Hi @antonio.perez sorry for the late reply

Test case class

public class ApplicationWorkflowImplTest {

@Rule
public TestWorkflowRule testWorkflowRule =
        TestWorkflowRule.newBuilder()
                .setWorkflowTypes(ApplicationWorkflowImpl.class)
                .setDoNotStart(true)
                .build();

private final APIStarterDto apiStarterDto = APIStarterDto.builder()
        .applicationId("loan1234").userAccountId("user1234").schemeCode("scheme1234").build();

@Test
public void test() {
    ApplicationActivityImpl applicationActivity = mock(ApplicationActivityImpl.class, withSettings().withoutAnnotations());
    ApiActivityImpl apiActivity = mock(ApiActivityImpl.class, withSettings().withoutAnnotations());

    when(applicationActivity.undo(any())).thenReturn(CommonResponseDto.createErrorResponse("failed"));
    testWorkflowRule.getWorker().registerActivitiesImplementations(applicationActivity, apiActivity);
    testWorkflowRule.getTestEnvironment().start();

    ApplicationWorkflow workflow =
            testWorkflowRule.getWorkflowClient().newWorkflowStub(ApplicationWorkflow.class, WorkflowOptions.newBuilder().setTaskQueue(testWorkflowRule.getTaskQueue()).build());

    workflow.startWorkflow(apiStarterDto);
}

}

actual workflow impl class →

public class ApplicationWorkflowImpl implements ApplicationWorkflow {

private static final Logger log = LoggerFactory.getLogger(ApplicationWorkflowImpl.class);

private final ApplicationActivity applicationActivity = Workflow.newActivityStub(
        ApplicationActivity.class,
        ActivityOptions.newBuilder().setStartToCloseTimeout(Duration.ofSeconds(30))
                .setTaskQueue(activityQueue)
                .setRetryOptions(RetryOptions.newBuilder()
                        .setMaximumAttempts(5)
                        .setInitialInterval(Duration.ofMillis(1000))
                        .setBackoffCoefficient(2)
                        .build())
                .build());

private final ApiActivity apiActivity = Workflow.newActivityStub(
        ApiActivity.class,
        ActivityOptions.newBuilder().setStartToCloseTimeout(Duration.ofSeconds(30))
                .setTaskQueue(activityQueue)
                .setRetryOptions(RetryOptions.newBuilder()
                        .setMaximumAttempts(5)
                        .setInitialInterval(Duration.ofMillis(1000))
                        .setBackoffCoefficient(2)
                        .build())
                .build());

@Override
public void startWorkflow(APIStarterDto apiStarterDto) {
    CommonResponseDto<?> responseDto;
    responseDto = applicationActivity.undo(apiStarterDto);

}

}

in the second line of start workflow itself it is throwing error it is not able to use mocked response and throwing DestroyWorkflowException

when the mocked method was called in workflow the following error is recieved

same error for the below implementation as well

public class ApplicationWorkflowImplTestJunit5 {

@RegisterExtension
public static final TestWorkflowExtension testWorkflowExtension =
        TestWorkflowExtension.newBuilder()
                .setWorkflowTypes(ApplicationWorkflowImpl.class)
                .setDoNotStart(true)
                .build();

private final APIStarterDto apiStarterDto = APIStarterDto.builder()
        .applicationId("loan1234").userAccountId("user1234").schemeCode("scheme1234").build();

@Test
public void testActivityImpl(TestWorkflowEnvironment testEnv, Worker worker, ApplicationWorkflow workflow) {
    ApplicationActivityImpl applicationActivity = mock(ApplicationActivityImpl.class, withSettings().withoutAnnotations());
    ApiActivityImpl apiActivity = mock(ApiActivityImpl.class, withSettings().withoutAnnotations());

    when(applicationActivity.undoDisbursal(any())).thenReturn(CommonResponseDto.builder()
            .responseStatus(ResponseStatus.SUCCESS)
            .build());
    worker.registerActivitiesImplementations(applicationActivity, apiActivity);

    testEnv.start();

    workflow.startWorkflow(apiStarterDto);

    System.out.println("Success");
}

}

@Tallam_Hemanth

Happy to look into this, could you provide something I can compile?

Antonio

@antonio.perez
If i replicate the code in other project (temporal-java-sdk i have created my classes) mock is working. In my main project if i debug this is the error. I cant send my full project. Im sharing the detailed logs

Connected to the target VM, address: ‘127.0.0.1:57702’, transport: ‘socket’
10:42:31.735 [main] INFO io.temporal.serviceclient.WorkflowServiceStubsImpl - Created WorkflowServiceStubs for channel: ManagedChannelOrphanWrapper{delegate=ManagedChannelImpl{logId=2, target=directaddress:///f6482ec8-a21f-49e6-ad8e-2e349eb46979}}
10:42:31.747 [main] INFO io.temporal.serviceclient.TestServiceStubsImpl - Created TestServiceStubs for channel: ManagedChannelOrphanWrapper{delegate=ManagedChannelImpl{logId=2, target=directaddress:///f6482ec8-a21f-49e6-ad8e-2e349eb46979}}
10:42:31.754 [main] INFO io.temporal.serviceclient.OperatorServiceStubsImpl - Created OperatorServiceStubs for channel: ManagedChannelOrphanWrapper{delegate=ManagedChannelImpl{logId=2, target=directaddress:///f6482ec8-a21f-49e6-ad8e-2e349eb46979}}
10:42:32.786 [main] INFO io.temporal.internal.worker.Poller - start: Poller{name=Workflow Poller taskQueue=“WorkflowTest-test-1699ea6a-cf1e-4184-8405-6824752c3652”, namespace=“UnitTest”, identity=18922@GM-XGT46X7Y0V}
10:42:32.789 [main] INFO io.temporal.internal.worker.Poller - start: Poller{name=Local Activity Poller taskQueue=“WorkflowTest-test-1699ea6a-cf1e-4184-8405-6824752c3652”, namespace=“UnitTest”, identity=18922@GM-XGT46X7Y0V}
10:42:32.795 [main] INFO io.temporal.internal.worker.Poller - start: Poller{name=Activity Poller taskQueue=“WorkflowTest-test-1699ea6a-cf1e-4184-8405-6824752c3652”, namespace=“UnitTest”, identity=18922@GM-XGT46X7Y0V}
10:42:33.368 [Workflow Executor taskQueue=“WorkflowTest-test-1699ea6a-cf1e-4184-8405-6824752c3652”, namespace=“UnitTest”: 1] DEBUG io.temporal.internal.replay.ReplayWorkflowTaskHandler - Handle Workflow Task with new executor. WorkflowId=‘164e64dc-8f89-46b1-a911-52223699ebda’, RunId=‘06659afb-cf37-4295-b211-cbc2520a0062’, TaskQueue=‘WorkflowTest-test-1699ea6a-cf1e-4184-8405-6824752c3652’, startedEventId=‘3’, previousStartedEventId:0
10:42:39.896 [Workflow Executor taskQueue=“WorkflowTest-test-1699ea6a-cf1e-4184-8405-6824752c3652”, namespace=“UnitTest”: 1] WARN io.temporal.internal.replay.ReplayWorkflowTaskHandler - Workflow task processing failure. startedEventId=3, WorkflowId=164e64dc-8f89-46b1-a911-52223699ebda, RunId=06659afb-cf37-4295-b211-cbc2520a0062. If seen continuously the workflow might be stuck.
io.temporal.internal.statemachines.InternalWorkflowTaskException: Failure handling event 3 of type ‘EVENT_TYPE_WORKFLOW_TASK_STARTED’ during execution. {WorkflowTaskStartedEventId=3, CurrentStartedEventId=3}
at io.temporal.internal.statemachines.WorkflowStateMachines.createEventProcessingException(WorkflowStateMachines.java:257)
at io.temporal.internal.statemachines.WorkflowStateMachines.handleEventsBatch(WorkflowStateMachines.java:236)
at io.temporal.internal.statemachines.WorkflowStateMachines.handleEvent(WorkflowStateMachines.java:208)
at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.applyServerHistory(ReplayWorkflowRunTaskHandler.java:208)
at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.handleWorkflowTaskImpl(ReplayWorkflowRunTaskHandler.java:192)
at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.handleWorkflowTask(ReplayWorkflowRunTaskHandler.java:147)
at io.temporal.internal.replay.ReplayWorkflowTaskHandler.handleWorkflowTaskWithQuery(ReplayWorkflowTaskHandler.java:132)
at io.temporal.internal.replay.ReplayWorkflowTaskHandler.handleWorkflowTask(ReplayWorkflowTaskHandler.java:97)
at io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.handleTask(WorkflowWorker.java:336)
at io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.handle(WorkflowWorker.java:246)
at io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.handle(WorkflowWorker.java:188)
at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.RuntimeException: WorkflowTask: failure executing SCHEDULED->WORKFLOW_TASK_STARTED, transition history is [CREATED->WORKFLOW_TASK_SCHEDULED]
at io.temporal.internal.statemachines.StateMachine.executeTransition(StateMachine.java:152)
at io.temporal.internal.statemachines.StateMachine.handleHistoryEvent(StateMachine.java:102)
at io.temporal.internal.statemachines.EntityStateMachineBase.handleEvent(EntityStateMachineBase.java:68)
at io.temporal.internal.statemachines.WorkflowStateMachines.handleSingleEvent(WorkflowStateMachines.java:277)
at io.temporal.internal.statemachines.WorkflowStateMachines.handleEventsBatch(WorkflowStateMachines.java:234)
… 13 common frames omitted
Caused by: io.temporal.internal.sync.PotentialDeadlockException: Potential deadlock detected. Workflow thread “workflow-method-164e64dc-8f89-46b1-a911-52223699ebda-06659afb-cf37-4295-b211-cbc2520a0062” didn’t yield control for over a second. {detectionTimestamp=1692249159860, threadDumpTimestamp=1692249159864}

workflow-method-164e64dc-8f89-46b1-a911-52223699ebda-06659afb-cf37-4295-b211-cbc2520a0062
at java.base@11.0.11/java.lang.reflect.Executable.equalParamTypes(Executable.java:68)
at java.base@11.0.11/java.lang.reflect.Method.equals(Method.java:366)
at java.base@11.0.11/java.util.HashMap.getNode(HashMap.java:567)
at java.base@11.0.11/java.util.HashMap.get(HashMap.java:552)
at app//io.temporal.common.metadata.POJOActivityInterfaceMetadata.getMethodMetadata(POJOActivityInterfaceMetadata.java:122)
at app//io.temporal.internal.sync.ActivityInvocationHandlerBase.invoke(ActivityInvocationHandlerBase.java:56)
at app//com.sun.proxy.$Proxy51.undoDisbursal(Unknown Source)
at app//com.orion.workflows.opsAction.impl.CloseApplicationWorkflowImpl.startWorkflow(CloseApplicationWorkflowImpl.java:56)
at java.base@11.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base@11.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base@11.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base@11.0.11/java.lang.reflect.Method.invoke(Method.java:566)
at app//io.temporal.internal.sync.POJOWorkflowImplementationFactory$POJOWorkflowImplementation$RootWorkflowInboundCallsInterceptor.execute(POJOWorkflowImplementationFactory.java:302)
at app//io.temporal.internal.sync.POJOWorkflowImplementationFactory$POJOWorkflowImplementation.execute(POJOWorkflowImplementationFactory.java:277)
at app//io.temporal.internal.sync.WorkflowExecuteRunnable.run(WorkflowExecuteRunnable.java:71)
at app//io.temporal.internal.sync.SyncWorkflow.lambda$start$0(SyncWorkflow.java:116)
at app//io.temporal.internal.sync.SyncWorkflow$$Lambda$199/0x0000000800480440.run(Unknown Source)
at app//io.temporal.internal.sync.CancellationScopeImpl.run(CancellationScopeImpl.java:102)
at app//io.temporal.internal.sync.WorkflowThreadImpl$RunnableWrapper.run(WorkflowThreadImpl.java:106)
at app//io.temporal.worker.ActiveThreadReportingExecutor.lambda$submit$0(ActiveThreadReportingExecutor.java:53)
at app//io.temporal.worker.ActiveThreadReportingExecutor$$Lambda$197/0x0000000800458c40.run(Unknown Source)
at java.base@11.0.11/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base@11.0.11/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
at java.base@11.0.11/java.util.concurrent.FutureTask.run(FutureTask.java)
at java.base@11.0.11/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base@11.0.11/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base@11.0.11/java.lang.Thread.run(Thread.java:829)

at io.temporal.internal.sync.WorkflowThreadContext.runUntilBlocked(WorkflowThreadContext.java:275)
at io.temporal.internal.sync.WorkflowThreadImpl.runUntilBlocked(WorkflowThreadImpl.java:301)
at io.temporal.internal.sync.DeterministicRunnerImpl.runUntilAllBlocked(DeterministicRunnerImpl.java:229)
at io.temporal.internal.sync.SyncWorkflow.eventLoop(SyncWorkflow.java:135)
at io.temporal.internal.replay.ReplayWorkflowExecutor.eventLoop(ReplayWorkflowExecutor.java:74)
at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler$StatesMachinesCallbackImpl.eventLoop(ReplayWorkflowRunTaskHandler.java:343)
at io.temporal.internal.statemachines.WorkflowStateMachines.eventLoop(WorkflowStateMachines.java:490)
at io.temporal.internal.statemachines.WorkflowStateMachines.access$500(WorkflowStateMachines.java:56)
at io.temporal.internal.statemachines.WorkflowStateMachines$WorkflowTaskCommandsListener.workflowTaskStarted(WorkflowStateMachines.java:946)
at io.temporal.internal.statemachines.WorkflowTaskStateMachine.handleCompleted(WorkflowTaskStateMachine.java:127)
at io.temporal.internal.statemachines.WorkflowTaskStateMachine.handleStarted(WorkflowTaskStateMachine.java:117)
at io.temporal.internal.statemachines.FixedTransitionAction.apply(FixedTransitionAction.java:46)
at io.temporal.internal.statemachines.StateMachine.executeTransition(StateMachine.java:148)
... 17 common frames omitted

10:42:39.918 [Workflow Executor taskQueue=“WorkflowTest-test-1699ea6a-cf1e-4184-8405-6824752c3652”, namespace=“UnitTest”: 1] DEBUG io.temporal.internal.replay.ReplayWorkflowTaskHandler - Handle Workflow Task with new executor. WorkflowId=‘164e64dc-8f89-46b1-a911-52223699ebda’, RunId=‘06659afb-cf37-4295-b211-cbc2520a0062’, TaskQueue=‘WorkflowTest-test-1699ea6a-cf1e-4184-8405-6824752c3652’, startedEventId=‘6’, previousStartedEventId:0
Disconnected from the target VM, address: ‘127.0.0.1:57702’, transport: ‘socket’
10:42:43.060 [Workflow Executor taskQueue=“WorkflowTest-test-1699ea6a-cf1e-4184-8405-6824752c3652”, namespace=“UnitTest”: 1] WARN io.temporal.internal.replay.ReplayWorkflowTaskHandler - Workflow task processing failure. startedEventId=6, WorkflowId=164e64dc-8f89-46b1-a911-52223699ebda, RunId=06659afb-cf37-4295-b211-cbc2520a0062. If seen continuously the workflow might be stuck.
io.temporal.internal.statemachines.InternalWorkflowTaskException: Failure handling event 6 of type ‘EVENT_TYPE_WORKFLOW_TASK_STARTED’ during execution. {WorkflowTaskStartedEventId=6, CurrentStartedEventId=6}
at io.temporal.internal.statemachines.WorkflowStateMachines.createEventProcessingException(WorkflowStateMachines.java:257)
at io.temporal.internal.statemachines.WorkflowStateMachines.handleEventsBatch(WorkflowStateMachines.java:236)
at io.temporal.internal.statemachines.WorkflowStateMachines.handleEvent(WorkflowStateMachines.java:208)
at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.applyServerHistory(ReplayWorkflowRunTaskHandler.java:208)
at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.handleWorkflowTaskImpl(ReplayWorkflowRunTaskHandler.java:192)
at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.handleWorkflowTask(ReplayWorkflowRunTaskHandler.java:147)
at io.temporal.internal.replay.ReplayWorkflowTaskHandler.handleWorkflowTaskWithQuery(ReplayWorkflowTaskHandler.java:132)
at io.temporal.internal.replay.ReplayWorkflowTaskHandler.handleWorkflowTask(ReplayWorkflowTaskHandler.java:97)
at io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.handleTask(WorkflowWorker.java:336)
at io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.handle(WorkflowWorker.java:246)
at io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.handle(WorkflowWorker.java:188)
at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.RuntimeException: WorkflowTask: failure executing SCHEDULED->WORKFLOW_TASK_STARTED, transition history is [CREATED->WORKFLOW_TASK_SCHEDULED]
at io.temporal.internal.statemachines.StateMachine.executeTransition(StateMachine.java:152)
at io.temporal.internal.statemachines.StateMachine.handleHistoryEvent(StateMachine.java:102)
at io.temporal.internal.statemachines.EntityStateMachineBase.handleEvent(EntityStateMachineBase.java:68)
at io.temporal.internal.statemachines.WorkflowStateMachines.handleSingleEvent(WorkflowStateMachines.java:277)
at io.temporal.internal.statemachines.WorkflowStateMachines.handleEventsBatch(WorkflowStateMachines.java:234)
… 13 common frames omitted
Caused by: io.temporal.internal.sync.PotentialDeadlockException: Potential deadlock detected. Workflow thread “workflow-method-164e64dc-8f89-46b1-a911-52223699ebda-06659afb-cf37-4295-b211-cbc2520a0062” didn’t yield control for over a second. {detectionTimestamp=1692249163048, threadDumpTimestamp=1692249163056}

workflow-method-164e64dc-8f89-46b1-a911-52223699ebda-06659afb-cf37-4295-b211-cbc2520a0062
at java.base@11.0.11/java.lang.StringLatin1.hashCode(StringLatin1.java:195)
at java.base@11.0.11/java.lang.String.hashCode(String.java:1504)
at java.base@11.0.11/java.util.HashMap.hash(HashMap.java:339)
at java.base@11.0.11/java.util.HashMap.get(HashMap.java:552)
at java.base@11.0.11/java.util.Collections$UnmodifiableMap.get(Collections.java:1454)
at app//io.temporal.internal.sync.ActivityInvocationHandler.getActivityFunc(ActivityInvocationHandler.java:67)
at app//io.temporal.internal.sync.ActivityInvocationHandlerBase.invoke(ActivityInvocationHandlerBase.java:59)
at app//com.sun.proxy.$Proxy51.undoDisbursal(Unknown Source)
at app//com.orion.workflows.opsAction.impl.CloseApplicationWorkflowImpl.startWorkflow(CloseApplicationWorkflowImpl.java:56)
at java.base@11.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base@11.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base@11.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base@11.0.11/java.lang.reflect.Method.invoke(Method.java:566)
at app//io.temporal.internal.sync.POJOWorkflowImplementationFactory$POJOWorkflowImplementation$RootWorkflowInboundCallsInterceptor.execute(POJOWorkflowImplementationFactory.java:302)
at app//io.temporal.internal.sync.POJOWorkflowImplementationFactory$POJOWorkflowImplementation.execute(POJOWorkflowImplementationFactory.java:277)
at app//io.temporal.internal.sync.WorkflowExecuteRunnable.run(WorkflowExecuteRunnable.java:71)
at app//io.temporal.internal.sync.SyncWorkflow.lambda$start$0(SyncWorkflow.java:116)
at app//io.temporal.internal.sync.SyncWorkflow$$Lambda$199/0x0000000800480440.run(Unknown Source)
at app//io.temporal.internal.sync.CancellationScopeImpl.run(CancellationScopeImpl.java:102)
at app//io.temporal.internal.sync.WorkflowThreadImpl$RunnableWrapper.run(WorkflowThreadImpl.java:106)
at app//io.temporal.worker.ActiveThreadReportingExecutor.lambda$submit$0(ActiveThreadReportingExecutor.java:53)
at app//io.temporal.worker.ActiveThreadReportingExecutor$$Lambda$197/0x0000000800458c40.run(Unknown Source)
at java.base@11.0.11/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base@11.0.11/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
at java.base@11.0.11/java.util.concurrent.FutureTask.run(FutureTask.java)
at java.base@11.0.11/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base@11.0.11/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base@11.0.11/java.lang.Thread.run(Thread.java:829)

at io.temporal.internal.sync.WorkflowThreadContext.runUntilBlocked(WorkflowThreadContext.java:275)
at io.temporal.internal.sync.WorkflowThreadImpl.runUntilBlocked(WorkflowThreadImpl.java:301)
at io.temporal.internal.sync.DeterministicRunnerImpl.runUntilAllBlocked(DeterministicRunnerImpl.java:229)
at io.temporal.internal.sync.SyncWorkflow.eventLoop(SyncWorkflow.java:135)
at io.temporal.internal.replay.ReplayWorkflowExecutor.eventLoop(ReplayWorkflowExecutor.java:74)
at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler$StatesMachinesCallbackImpl.eventLoop(ReplayWorkflowRunTaskHandler.java:343)
at io.temporal.internal.statemachines.WorkflowStateMachines.eventLoop(WorkflowStateMachines.java:490)
at io.temporal.internal.statemachines.WorkflowStateMachines.access$500(WorkflowStateMachines.java:56)
at io.temporal.internal.statemachines.WorkflowStateMachines$WorkflowTaskCommandsListener.workflowTaskStarted(WorkflowStateMachines.java:946)
at io.temporal.internal.statemachines.WorkflowTaskStateMachine.handleCompleted(WorkflowTaskStateMachine.java:127)
at io.temporal.internal.statemachines.WorkflowTaskStateMachine.handleStarted(WorkflowTaskStateMachine.java:117)
at io.temporal.internal.statemachines.FixedTransitionAction.apply(FixedTransitionAction.java:46)
at io.temporal.internal.statemachines.StateMachine.executeTransition(StateMachine.java:148)
... 17 common frames omitted

10:42:43.062 [Workflow Executor taskQueue=“WorkflowTest-test-1699ea6a-cf1e-4184-8405-6824752c3652”, namespace=“UnitTest”: 1] ERROR io.temporal.internal.worker.PollerOptions - uncaught exception
java.lang.RuntimeException: Failure processing workflow task. WorkflowId=164e64dc-8f89-46b1-a911-52223699ebda, RunId=06659afb-cf37-4295-b211-cbc2520a0062, Attempt=2
at io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.wrapFailure(WorkflowWorker.java:327)
at io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.wrapFailure(WorkflowWorker.java:188)
at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:98)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: io.temporal.internal.statemachines.InternalWorkflowTaskException: Failure handling event 6 of type ‘EVENT_TYPE_WORKFLOW_TASK_STARTED’ during execution. {WorkflowTaskStartedEventId=6, CurrentStartedEventId=6}
at io.temporal.internal.statemachines.WorkflowStateMachines.createEventProcessingException(WorkflowStateMachines.java:257)
at io.temporal.internal.statemachines.WorkflowStateMachines.handleEventsBatch(WorkflowStateMachines.java:236)
at io.temporal.internal.statemachines.WorkflowStateMachines.handleEvent(WorkflowStateMachines.java:208)
at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.applyServerHistory(ReplayWorkflowRunTaskHandler.java:208)
at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.handleWorkflowTaskImpl(ReplayWorkflowRunTaskHandler.java:192)
at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.handleWorkflowTask(ReplayWorkflowRunTaskHandler.java:147)
at io.temporal.internal.replay.ReplayWorkflowTaskHandler.handleWorkflowTaskWithQuery(ReplayWorkflowTaskHandler.java:132)
at io.temporal.internal.replay.ReplayWorkflowTaskHandler.handleWorkflowTask(ReplayWorkflowTaskHandler.java:97)
at io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.handleTask(WorkflowWorker.java:336)
at io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.handle(WorkflowWorker.java:246)
at io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.handle(WorkflowWorker.java:188)
at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93)
… 3 common frames omitted
Caused by: java.lang.RuntimeException: WorkflowTask: failure executing SCHEDULED->WORKFLOW_TASK_STARTED, transition history is [CREATED->WORKFLOW_TASK_SCHEDULED]
at io.temporal.internal.statemachines.StateMachine.executeTransition(StateMachine.java:152)
at io.temporal.internal.statemachines.StateMachine.handleHistoryEvent(StateMachine.java:102)
at io.temporal.internal.statemachines.EntityStateMachineBase.handleEvent(EntityStateMachineBase.java:68)
at io.temporal.internal.statemachines.WorkflowStateMachines.handleSingleEvent(WorkflowStateMachines.java:277)
at io.temporal.internal.statemachines.WorkflowStateMachines.handleEventsBatch(WorkflowStateMachines.java:234)
… 13 common frames omitted
Caused by: io.temporal.internal.sync.PotentialDeadlockException: Potential deadlock detected. Workflow thread “workflow-method-164e64dc-8f89-46b1-a911-52223699ebda-06659afb-cf37-4295-b211-cbc2520a0062” didn’t yield control for over a second. {detectionTimestamp=1692249163048, threadDumpTimestamp=1692249163056}

workflow-method-164e64dc-8f89-46b1-a911-52223699ebda-06659afb-cf37-4295-b211-cbc2520a0062
at java.base@11.0.11/java.lang.StringLatin1.hashCode(StringLatin1.java:195)
at java.base@11.0.11/java.lang.String.hashCode(String.java:1504)
at java.base@11.0.11/java.util.HashMap.hash(HashMap.java:339)
at java.base@11.0.11/java.util.HashMap.get(HashMap.java:552)
at java.base@11.0.11/java.util.Collections$UnmodifiableMap.get(Collections.java:1454)
at app//io.temporal.internal.sync.ActivityInvocationHandler.getActivityFunc(ActivityInvocationHandler.java:67)
at app//io.temporal.internal.sync.ActivityInvocationHandlerBase.invoke(ActivityInvocationHandlerBase.java:59)
at app//com.sun.proxy.$Proxy51.undoDisbursal(Unknown Source)
at app//com.orion.workflows.opsAction.impl.CloseApplicationWorkflowImpl.startWorkflow(CloseApplicationWorkflowImpl.java:56)
at java.base@11.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base@11.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base@11.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base@11.0.11/java.lang.reflect.Method.invoke(Method.java:566)
at app//io.temporal.internal.sync.POJOWorkflowImplementationFactory$POJOWorkflowImplementation$RootWorkflowInboundCallsInterceptor.execute(POJOWorkflowImplementationFactory.java:302)
at app//io.temporal.internal.sync.POJOWorkflowImplementationFactory$POJOWorkflowImplementation.execute(POJOWorkflowImplementationFactory.java:277)
at app//io.temporal.internal.sync.WorkflowExecuteRunnable.run(WorkflowExecuteRunnable.java:71)
at app//io.temporal.internal.sync.SyncWorkflow.lambda$start$0(SyncWorkflow.java:116)
at app//io.temporal.internal.sync.SyncWorkflow$$Lambda$199/0x0000000800480440.run(Unknown Source)
at app//io.temporal.internal.sync.CancellationScopeImpl.run(CancellationScopeImpl.java:102)
at app//io.temporal.internal.sync.WorkflowThreadImpl$RunnableWrapper.run(WorkflowThreadImpl.java:106)
at app//io.temporal.worker.ActiveThreadReportingExecutor.lambda$submit$0(ActiveThreadReportingExecutor.java:53)
at app//io.temporal.worker.ActiveThreadReportingExecutor$$Lambda$197/0x0000000800458c40.run(Unknown Source)
at java.base@11.0.11/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base@11.0.11/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
at java.base@11.0.11/java.util.concurrent.FutureTask.run(FutureTask.java)
at java.base@11.0.11/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base@11.0.11/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base@11.0.11/java.lang.Thread.run(Thread.java:829)

at io.temporal.internal.sync.WorkflowThreadContext.runUntilBlocked(WorkflowThreadContext.java:275)
at io.temporal.internal.sync.WorkflowThreadImpl.runUntilBlocked(WorkflowThreadImpl.java:301)
at io.temporal.internal.sync.DeterministicRunnerImpl.runUntilAllBlocked(DeterministicRunnerImpl.java:229)
at io.temporal.internal.sync.SyncWorkflow.eventLoop(SyncWorkflow.java:135)
at io.temporal.internal.replay.ReplayWorkflowExecutor.eventLoop(ReplayWorkflowExecutor.java:74)
at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler$StatesMachinesCallbackImpl.eventLoop(ReplayWorkflowRunTaskHandler.java:343)
at io.temporal.internal.statemachines.WorkflowStateMachines.eventLoop(WorkflowStateMachines.java:490)
at io.temporal.internal.statemachines.WorkflowStateMachines.access$500(WorkflowStateMachines.java:56)
at io.temporal.internal.statemachines.WorkflowStateMachines$WorkflowTaskCommandsListener.workflowTaskStarted(WorkflowStateMachines.java:946)
at io.temporal.internal.statemachines.WorkflowTaskStateMachine.handleCompleted(WorkflowTaskStateMachine.java:127)
at io.temporal.internal.statemachines.WorkflowTaskStateMachine.handleStarted(WorkflowTaskStateMachine.java:117)
at io.temporal.internal.statemachines.FixedTransitionAction.apply(FixedTransitionAction.java:46)
at io.temporal.internal.statemachines.StateMachine.executeTransition(StateMachine.java:148)
... 17 common frames omitted

Process finished with exit code 130 (interrupted by signal 2: SIGINT)

In my main project if i debug this is the error.

I think this error is different from the one you mentioned in your initial post,
Are you setting breakpoints? if so please see Java SDK developer's guide - Debugging | Temporal Documentation

I cant send my full project

could you maybe create a project where you replicate the error.