B4J Question Incosistency wait for (func/method) complete (obj as object) between development & production

Ganiadi

Active Member
Licensed User
Longtime User
Hi, All

im facing inconsistency using Wait For(rsmSUB) Complete (lRet As Boolean) mainly when our websocket solution compiled and deployed into production. Sometime ok, sometime raise below error : i tried to debug using Log("START [Function/Method]: " & Main.srvr.CurrentThreadIndex) and Log("END [Function/Method]: " & Main.srvr.CurrentThreadIndex)

Capture.PNG


It works and runs smoothly and perfect in development mode. can anybody helps what should i do / may be im miss something ?

Tks for your help
 

Ganiadi

Active Member
Licensed User
Longtime User
Thanks Erel fo the response :
Below is the result : using debug mode / development it works well :

Waiting for debugger to connect...
Program started.
2026-01-30 14:04:03.036:INFO :eek:ejs.Server:main: jetty-11.0.9; built: 2022-03-30T17:44:47.085Z; git: 243a48a658a183130a8c8de353178d154ca04f04; jvm 11.0.1+13
2026-01-30 14:04:03.722:INFO :eek:ejss.DefaultSessionIdManager:main: Session workerName=node0
X
X
2026-01-30 14:04:05.181:INFO :eek:ejs.AbstractConnector:main: Started ServerConnector@654f0d9c{HTTP/1.1, (http/1.1)}{0.0.0.0:7776}
2026-01-30 14:04:05.230:INFO :eek:ejs.Server:main: Started Server@20d525{STARTING}[11.0.9,sto=0] @11250ms
Emulated network latency: 200ms
===========================================
START pxWEBPrepared: 0
START pxJSLibRegistration: 0
END pxJSLibRegistration: 0
START CreateDynamicMin: 0
END CreateDynamicMin: 0
START pxInsertHeadCssLink: 0
END pxInsertHeadCssLink: 0
START pxInsertBodyHTML: 0
END pxInsertBodyHTML: 0
START pxInsertBodyScript: 0
END pxInsertBodyScript: 0
END pxWEBPrepared: 0
START GetHostList: 0
END GetHostList: 0
START GetProperties: 0
END GetProperties: 0
6
START CheckLogin: 0
Waiting for value (202 ms)
Waiting for value (200 ms)
Waiting for value (203 ms)
Waiting for value (200 ms)
END CheckLogin: 0


But I tried to run under Release / Release Obsfuscated the error unpredictable :
Below is the sample
when starting it loops many time , and after login it stopped

Waiting for debugger to connect...
Program started.
2026-01-30 14:04:03.036:INFO :eek:ejs.Server:main: jetty-11.0.9; built: 2022-03-30T17:44:47.085Z; git: 243a48a658a183130a8c8de353178d154ca04f04; jvm 11.0.1+13
2026-01-30 14:04:03.722:INFO :eek:ejss.DefaultSessionIdManager:main: Session workerName=node0
X
X
2026-01-30 14:04:05.181:INFO :eek:ejs.AbstractConnector:main: Started ServerConnector@654f0d9c{HTTP/1.1, (http/1.1)}{0.0.0.0:7776}
2026-01-30 14:04:05.230:INFO :eek:ejs.Server:main: Started Server@20d525{STARTING}[11.0.9,sto=0] @11250ms
Emulated network latency: 200ms
===========================================
START pxWEBPrepared: 1
START pxJSLibRegistration: 1
END pxJSLibRegistration: 1
START CreateDynamicMin: 1
END CreateDynamicMin: 1
START pxInsertHeadCssLink: 1
END pxInsertHeadCssLink: 1
START pxInsertBodyHTML: 1
END pxInsertBodyHTML: 1
START pxInsertBodyScript: 1
END pxInsertBodyScript: 1
END pxWEBPrepared: 1
START pxWEBPrepared: 2
START pxJSLibRegistration: 2
END pxJSLibRegistration: 2
START CreateDynamicMin: 2
END CreateDynamicMin: 2
START pxInsertHeadCssLink: 2
END pxInsertHeadCssLink: 2
START pxInsertBodyHTML: 2
END pxInsertBodyHTML: 2
START pxInsertBodyScript: 2
END pxInsertBodyScript: 2
END pxWEBPrepared: 2
START GetHostList: 2
END GetHostList: 2
START GetProperties: 2
END GetProperties: 2
6
START CheckLogin: 2
Waiting for value (10 ms)
Waiting for value (0 ms)
Waiting for value (2 ms)
Waiting for value (1 ms)
END CheckLogin: 2
START pxWEBPrepared: 3
START pxJSLibRegistration: 3
END pxJSLibRegistration: 3
START CreateDynamicMin: 3
END CreateDynamicMin: 3
START pxInsertHeadCssLink: 3
END pxInsertHeadCssLink: 3
START pxInsertBodyHTML: 3
END pxInsertBodyHTML: 3
START pxInsertBodyScript: 3
END pxInsertBodyScript: 3
END pxWEBPrepared: 3

java.lang.RuntimeException: java.lang.RuntimeException: Resumable sub already completed
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:140)
at anywheresoftware.b4a.BA$3.run(BA.java:267)
at anywheresoftware.b4a.keywords.SimpleMessageLoop.runMessageLoop(SimpleMessageLoop.java:47)
at anywheresoftware.b4a.StandardBA.startMessageLoop(StandardBA.java:43)
at anywheresoftware.b4j.object.WebSocketModule$Adapter$ThreadHandler.run(WebSocketModule.java:207)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
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:834)
Caused by: java.lang.RuntimeException: Resumable sub already completed
at anywheresoftware.b4a.keywords.Common.WaitFor(Common.java:1073)
at B4J.Px5Solution.px5class$ResumableSub_px5SystemFrontUI.resume(px5class.java:4164)
at anywheresoftware.b4a.BA.checkAndRunWaitForEvent(BA.java:156)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:105)
... 9 more

Tks for helping
 
Upvote 0
Top