# \[Bug?\] Workflow proceeds without signal – Workflow.await() skipped unexpectedly

**URL:** <https://community.temporal.io/t/bug-workflow-proceeds-without-signal-workflow-await-skipped-unexpectedly/17363>\
**Category:** Developer Corner\
**Tags:** signals\
**Created:** [May 6, 2025, 11:39am UTC](https://community.temporal.io/t/bug-workflow-proceeds-without-signal-workflow-await-skipped-unexpectedly/17363 "2025-05-06T11:39:55Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Niket\_Kumar](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/niket_kumar/32/7247_2.png) [@Niket\_Kumar](https://community.temporal.io/u/Niket_Kumar)\
**Post date:** [May 6, 2025, 11:39am UTC](https://community.temporal.io/t/bug-workflow-proceeds-without-signal-workflow-await-skipped-unexpectedly/17363/1 "2025-05-06T11:39:55Z")

</div>

**❓ [Bug?] Workflow proceeds without signal – `Workflow.await()` skipped unexpectedly**

Hi all,  
I’m seeing unexpected behavior in my self-hosted Temporal setup (Java SDK + Spring Boot). Here’s the situation:

- I have a workflow with multiple HTTP calls, then a `Workflow.await()` that waits for a signal to proceed.

- Signal handler just sets a flag `proceed = true;`

- Code pattern:

- I then bombarded Temporal by starting 50+ instances of this workflow (all with unique workflow IDs).

- **Issue:** Some workflows _proceeded past the `await()` without ever receiving a signal._

**Environment:**

- Java SDK
- Temporal Server: Self-hosted (official temporal Docker)
- All workflows use the same task queue, and I’m using one or two workers.
- No global/static variables involved, `proceed` is a workflow field.
- Live reload/devtools is off.

**Question:**

- Has anyone else seen `Workflow.await()` getting bypassed under load without a signal?
- Could this be related to internal caching, zombie runs, or race conditions in the worker?
- Any suggestions on how to debug or reproduce this cleanly?

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![maxim](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/maxim/32/8_2.png) [@maxim](https://community.temporal.io/u/maxim)\
**Post date:** [May 6, 2025, 3:04pm UTC](https://community.temporal.io/t/bug-workflow-proceeds-without-signal-workflow-await-skipped-unexpectedly/17363/2 "2025-05-06T15:04:26Z")

</div>

I’ve never heard about such an issue. Are you using Spring to initialize workflow objects, by any chance? I’ve seen cases where the same workflow object was shared by multiple workflows, causing all sorts of undefined behavior.

---

<div class="post-metadata">

**Author:** ![Niket\_Kumar](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/niket_kumar/32/7247_2.png) [@Niket\_Kumar](https://community.temporal.io/u/Niket_Kumar)\
**Post date:** [May 6, 2025, 3:15pm UTC](https://community.temporal.io/t/bug-workflow-proceeds-without-signal-workflow-await-skipped-unexpectedly/17363/3 "2025-05-06T15:15:08Z")

</div>

Here is my sample code for initialising workflow. But surprisingly I am not at all passing the signal to any of the running workflow.  
DynamicWorkflow workflow = workflowClient.newWorkflowStub(  
DynamicWorkflow.class,  
WorkflowOptions.newBuilder().setWorkflowId(workflowId).setTaskQueue(taskQueue).build()  
);  
Ideal behaviour

 ![image](https://us1.discourse-cdn.com/flex016/uploads/temporal/original/2X/3/39e4cdda8ef411169294f5a58e9d861eb7c9d3b5.png)

---

<div class="post-metadata">

**Author:** ![Niket\_Kumar](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/niket_kumar/32/7247_2.png) [@Niket\_Kumar](https://community.temporal.io/u/Niket_Kumar)\
**Post date:** [May 6, 2025, 3:16pm UTC](https://community.temporal.io/t/bug-workflow-proceeds-without-signal-workflow-await-skipped-unexpectedly/17363/4 "2025-05-06T15:16:07Z")

</div>

But getting

 ![image](https://us1.discourse-cdn.com/flex016/uploads/temporal/original/2X/5/550dcf78de1a4c45469fcd9b4c1472f8395ebb41.png)

---

<div class="post-metadata">

**Author:** ![Niket\_Kumar](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/niket_kumar/32/7247_2.png) [@Niket\_Kumar](https://community.temporal.io/u/Niket_Kumar)\
**Post date:** [May 6, 2025, 3:16pm UTC](https://community.temporal.io/t/bug-workflow-proceeds-without-signal-workflow-await-skipped-unexpectedly/17363/5 "2025-05-06T15:16:47Z")

</div>

You can clearly see the signal is skipped

---

<div class="post-metadata">

**Author:** ![maxim](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/maxim/32/8_2.png) [@maxim](https://community.temporal.io/u/maxim)\
**Post date:** [May 6, 2025, 3:18pm UTC](https://community.temporal.io/t/bug-workflow-proceeds-without-signal-workflow-await-skipped-unexpectedly/17363/6 "2025-05-06T15:18:18Z")

</div>

How do you register your workflow implementation with the worker?

---

<div class="post-metadata">

**Author:** ![Niket\_Kumar](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/niket_kumar/32/7247_2.png) [@Niket\_Kumar](https://community.temporal.io/u/Niket_Kumar)\
**Post date:** [May 6, 2025, 3:21pm UTC](https://community.temporal.io/t/bug-workflow-proceeds-without-signal-workflow-await-skipped-unexpectedly/17363/7 "2025-05-06T15:21:03Z")

</div>

This is via, spring initializer

```auto
   @Bean
    public Worker worker(WorkerFactory factory, WorkflowActivitiesImpl activities) {
        Worker worker = factory.newWorker(taskQueue);
        worker.registerWorkflowImplementationTypes(DynamicWorkflowImpl.class);
        worker.registerActivitiesImplementations(activities);
        factory.start();
        return worker;
    }

```

---

<div class="post-metadata">

**Author:** ![maxim](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/maxim/32/8_2.png) [@maxim](https://community.temporal.io/u/maxim)\
**Post date:** [May 6, 2025, 3:23pm UTC](https://community.temporal.io/t/bug-workflow-proceeds-without-signal-workflow-await-skipped-unexpectedly/17363/8 "2025-05-06T15:23:23Z")

</div>

I don’t see anything obvious. If you can share a reproduction we’ll take a look.

---

<div class="post-metadata">

**Author:** ![Niket\_Kumar](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/niket_kumar/32/7247_2.png) [@Niket\_Kumar](https://community.temporal.io/u/Niket_Kumar)\
**Post date:** [May 7, 2025, 7:10am UTC](https://community.temporal.io/t/bug-workflow-proceeds-without-signal-workflow-await-skipped-unexpectedly/17363/9 "2025-05-07T07:10:41Z")

</div>

Hi everyone,  
Just wanted to give an update regarding the issue I had raised earlier. It turns out the problem was on my side — specifically a bug in my workflow code (There was race condition). After fixing it, everything is working as expected now.

Thanks to everyone who took the time to look into it and offer suggestions. Really appreciate the support!
