Activity execution is blocked on (BLOCKED on Feature.get)

When we start multiple workflows some activities get stuck with this error in stack trace. The activity shows as “started” in workflow history tab but eventually timeouts on scheduleToClose timeout.
we are running on
Server 1.12.0
Java SDK 1.7.1

workflow-method-dfce73d9-bc67-4567-bcdc-deba363a593-c8a29ca1-13e2-40a8-9208-b07141c1ffb8: (BLOCKED on Feature.get)
io.temporal.internal.sync.CompletablePromiseImpl.getImpl(CompletablePromiseImpl.java:84)
io.temporal.internal.sync.CompletablePromiseImpl.get(CompletablePromiseImpl.java:74)

Hi @atullimaye19 could you show your workflow history and workflow code? Looking to see if your code follows these constraints. Could you also share the full stack trace?

@tihomir - Thanks for the reply. Not all workflows fail with this error but say if we submit 10, 4 will get stuck others will go through just fine. WF history is too big to attach here.
here is the full stack trace -
workflow-method-4bae6cc9-5d85-4ed5-beae-6c189fd5a45-9796b1b1-fdc8-4199-a6e8-0bc2438a2088: (BLOCKED on Feature.get)
io.temporal.internal.sync.CompletablePromiseImpl.getImpl(CompletablePromiseImpl.java:84)
io.temporal.internal.sync.CompletablePromiseImpl.get(CompletablePromiseImpl.java:74)
io.temporal.internal.sync.ActivityStubBase.execute(ActivityStubBase.java:44)
io.temporal.internal.sync.ActivityInvocationHandler.lambda$getActivityFunc$0(ActivityInvocationHandler.java:77)
io.temporal.internal.sync.ActivityInvocationHandler$$Lambda$1192/0x0000000100f6c840.apply(Unknown Source)
io.temporal.internal.sync.ActivityInvocationHandlerBase.invoke(ActivityInvocationHandlerBase.java:70)
com.sun.proxy.$Proxy141.canvertToXYZRequest(Unknown Source)
com.workflow.impl.MyWorkflowImpl.executeWorkflow(MyWorkflowImpl.java:102)
java.base@11.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
java.base@11.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
java.base@11.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.base@11.0.11/java.lang.reflect.Method.invoke(Method.java:566)
io.temporal.internal.sync.POJOWorkflowImplementationFactory$POJOWorkflowImplementation$RootWorkflowInboundCallsInterceptor.execute(POJOWorkflowImplementationFactory.java:317)
io.temporal.common.interceptors.WorkflowInboundCallsInterceptorBase.execute(WorkflowInboundCallsInterceptorBase.java:37)
com.workflow.MyWorkflowInterceptor.execute(MyWorkflowInterceptor.java:20)

It’s hard to tell from the stack trace imo. This could be caused by non-deterministic code (see similar post here where user used system time), or it could be a workflow replay issue where a certain condition is not met for the Future.get to get unblocked (thread block on an un-complete promise).
Would also be worth trying the latest SDK release 1.8.1 to see if you get the same issue.