Forum Replies Created
-
AuthorPosts
-
-
August 24, 2024 at 10:51 #57687
Babis MichaelParticipantSeems SSL certificate has expired. Works with HTTP.
-
April 24, 2024 at 14:22 #57564
Babis MichaelParticipantWell i’ve created my own thread timer as workaround until Kim fixes the “Activation” bug of kbmMWScheduler.
-
March 29, 2024 at 01:23 #57545
Babis MichaelParticipantSeems it’s choosing wrong (active) thread from the thread pool … might be wrong
-
March 27, 2024 at 22:09 #57543
Babis MichaelParticipantIt seems i found a workaround … just activate/deactivate 2 times
eg.
MyEvent.Active := False;
MyEvent.Active := True;
MyEvent.Active := False;
MyEvent.Active := True;Now the interval will work
I sent a sample project to Kim
-
This reply was modified 1 year, 10 months ago by
Babis Michael.
-
April 2, 2024 at 21:48 #57550
Babis MichaelParticipantWell it didn’t work for long …
-
This reply was modified 1 year, 10 months ago by
-
March 27, 2024 at 15:31 #57538
Babis MichaelParticipantActually the Precise Thread Interval Starts but if you deactivate the Event and Reactivate it doesn’t work. So the problem is on the 2nd time you activate the precise event/schedule.
-
March 4, 2024 at 11:04 #57521
Babis MichaelParticipantAny news ?
Thank you
-
February 9, 2024 at 18:55 #57475
Babis MichaelParticipantHello,
You connecting locally or remotely ?
Also check the port in your server’s (remote) firewall. -
February 2, 2024 at 17:36 #57467
Babis MichaelParticipantSent you a sample project via e-mail
-
January 16, 2024 at 11:48 #57430
Babis MichaelParticipantbtw, the same leak happends to client transports too
-
This reply was modified 2 years, 1 month ago by
Babis Michael.
-
This reply was modified 2 years, 1 month ago by
-
January 16, 2024 at 01:08 #57426
Babis MichaelParticipantHello,
Here’s the shutdown code:
Server.Shutdown;
Server.Active := False;if ConnectionPool.ConnectionList.Count > 0 then
ConnectionPool.KillConnections;Transport.PurgeAndClose([mwpacFlushInbound,mwpacFlushOutbound]);
The leak didn’t exist in 5.22 i’ll try to make a sample project
-
January 15, 2024 at 21:16 #57420
Babis MichaelParticipantSince i create the actor on OnLogin event I fixed by cheking autologin:
function TkbmMWAuthorizationManager.InternalLogin(const AActorName:string; const ARoleName:string;
…..
if (ctx.Actor=nil) then
begin
if AAutoCreateActor then
ctx.Actor:=FActors.Add(AActorName,APassPhrase,ARoleName,’Auto created ‘+TkbmMWDateTime.Now.ISO8601String);
if (mwaoAutoLogin in Options) or ((ctx.Actor<>nil) and (not ctx.Actor.Internal)) then // HERE added cheking auto login and fire the event
DoOnLogin(ctx,ctx.FActor,ctx.FRole,ctx.FMessage);If you have something else to suggest let me know
Thank you
-
This reply was modified 2 years, 1 month ago by
Babis Michael.
-
This reply was modified 2 years, 1 month ago by
Babis Michael.
-
This reply was modified 2 years, 1 month ago by
-
January 20, 2023 at 02:57 #56968
Babis MichaelParticipantOk i found the issue … DXGI needs the monitor array backwards!
according to chromium sources:
dxgi_adapter_duplicator.cc
duplicators_.push_back(std::move(duplicator));-
This reply was modified 3 years, 1 month ago by
Babis Michael.
-
This reply was modified 3 years, 1 month ago by
-
January 15, 2023 at 23:59 #56960
Babis MichaelParticipantSeems their is problem multi monitor environments eg. it doesn’t register monitor 1/primary. the FMonitors[0] value is nil while FMonitors[1] (monitor 2) is mdwn_2.
Changed this line in order to work:
constructor TkbmMWRemoteDesktopClient.Create(AOwner:TComponent);
{$IFDEF FMX}
FID:=TkbmMWRemoteDesktopMonitor.mwrdm_1;
{$ELSE}
// Original: FID:=TkbmMWRemoteDesktopMonitor(Screen.PrimaryMonitor.MonitorNum)FID:=TkbmMWRemoteDesktopMonitor(Screen.PrimaryMonitor.MonitorNum -1);
Testing ….
-
This reply was modified 3 years, 1 month ago by
Babis Michael.
-
This reply was modified 3 years, 1 month ago by
-
January 15, 2023 at 11:28 #56959
Babis MichaelParticipantI found the issue. It’s VerifyTransfer. When it’s enabled it throws randomly an Invalid Data error and Disconnects.
I disable atm and no more random disconnections.
-
January 15, 2023 at 00:17 #56958
Babis MichaelParticipantDue my experiments replaced the Move with CopyMemory and it works although it copies the 2nd monitor instead of the 1st.
So the problem is when you have a 4k Monitor and a 2nd 1080p monitor and switch to DirectX.
Seems it grabs the wrong monitor for the buffer or the opposite.Thank you
-
January 15, 2023 at 00:13 #56957
Babis MichaelParticipantFound the problem it’s on the below line but i don’t know how to resolve the AV or Stack Overflow.
Maybe the map is still locked or something and can’t let it copy the bytes to DIB ?function TkbmMWRemoteDesktopServer.GetScreenDXGI ….
…
ABmp.DrawData(map.pBits); //AV Here
….Thank you
-
January 11, 2023 at 01:31 #56946
Babis MichaelParticipantFound the issue! The leak occurs when you call kbmmwshutdown before you terminate you application.
procedure TForm25.FormClose(Sender: TObject; var Action: TCloseAction);
begin
kbmmwshutdown; //comment me to prevent leak
end; -
January 10, 2023 at 21:04 #56940
Babis MichaelParticipantKim,
Any news on this ?
I think it’s related to “native transport 5.21 TLS disconnect crash” topic too-
This reply was modified 3 years, 1 month ago by
Babis Michael.
-
This reply was modified 3 years, 1 month ago by
-
January 8, 2023 at 18:13 #56928
Babis MichaelParticipantOh! i found i had a “kbmMWSmartEvent” declaration in one of my units that caused this. So even if you don’t use the SmartEvent declaring the unit causes this. Removed and the leaks gone!
-
January 7, 2023 at 16:22 #56922
Babis MichaelParticipantI have the same issue without using TLS. 5.20 works ok!
-
January 7, 2023 at 07:43 #56921
Babis MichaelParticipantSeems Transport Disconnection isn’t working reverting back to 5.20 solved the problem!
-
January 7, 2023 at 03:22 #56920
Babis MichaelParticipantMaybe it’s related to the error i get in the client when i terminate the server: EkbmMWSocket ‘Cannot execute StopLoop in IO thread’
-
January 6, 2023 at 23:48 #56919
Babis MichaelParticipantKim,
OnClientWaitingResponse AAbort stopped working in 5.21!
After the server disconnects i get a TRANSPORT_PROCESSOR_EXCEPTION: Access violation at address 0195F414 in module ‘myapp.exe’. Read of address 00000000 and it doesn’t timeout. (Native Transport)It seems the transport is trying to transfer data on a disconnected session.
Thank you
-
November 25, 2022 at 01:34 #56787
Babis MichaelParticipantWell HTTP protocol not supported so i can’t download a file! 🙁
-
November 15, 2022 at 03:12 #56765
Babis MichaelParticipantThe issue exists with wifi connections too. Random few (2-4) disconnection per day.
Anything that i can debug ?Thank you
-
November 13, 2022 at 16:09 #56764
Babis MichaelParticipantNope, changing keepalive values didn’t help!
-
November 12, 2022 at 21:17 #56763
Babis MichaelParticipantChanging SetKeepAlive to 20 instead of 5 seems to resolve the problem … Keep testing …
function TkbmMWAbstractSocket.SetKeepAlive(ASocket:THandle):Integer;
begin
//Result:=TkbmMWSocketAPI.SetKeepAlive(ASocket,5,3,5);
Result:=TkbmMWSocketAPI.SetKeepAlive(ASocket,20,3,5);
end;btw, It would be nice to have it on a property or something to be able to set socket options.
-
November 9, 2022 at 17:19 #56756
Babis MichaelParticipantHmm, still getting leak on the native client transport when i shutdown the app with 5.20.01

-
November 10, 2022 at 11:26 #56757
Babis MichaelParticipantHmm, seems TkbmMWCustomTCPMessagingClientTransport.InternalCloseSocket; called twice but TkbmMWAbstractSocket.Destroy; called once!
-
-
November 7, 2022 at 10:43 #56748
Babis MichaelParticipantI guess this will fix the Socket memory leak too right ?
Thank you
-
November 7, 2022 at 10:42 #56747
Babis MichaelParticipantThank you i’ll give it a try 🙂
-
November 1, 2022 at 17:52 #56727
Babis MichaelParticipantThis is NOT fixed in 5.20! You forgot one NativeUInt!
Pbyte(NativeUInt(@InData1)+i-1)^:= Pbyte(NativeUInt(@InData1)+i-1)^ xor Pbyte(longword(@InData2)+i-1)^;
the last LongWord should be NativeUInt too!Thank you
-
This reply was modified 3 years, 3 months ago by
Babis Michael.
-
This reply was modified 3 years, 3 months ago by
-
October 31, 2022 at 15:34 #56723
Babis MichaelParticipantChanging to capture mode DirectX freezes server!
-
October 31, 2022 at 12:18 #56722
Babis MichaelParticipantKim, this isn’t fixed in 5.20! (you forgot it)
-
October 31, 2022 at 09:13 #56721
Babis MichaelParticipantLove you!
-
September 23, 2022 at 23:38 #56673
Babis MichaelParticipantKim ?
The client connects but it doesn’t display anything!
-
September 17, 2022 at 21:53 #56662
Babis MichaelParticipantbtw, added manually and works!
-
August 3, 2022 at 19:24 #56576
Babis MichaelParticipantOr generally replacing all other Hash algos to xxHash in all units.
-
July 14, 2022 at 10:46 #56558
Babis MichaelParticipantDah! Reverting back to kbmMW locking … I dunno if this a TMonitor issue or kbmMW!
-
July 6, 2022 at 00:49 #56535
Babis MichaelParticipantThe client actually waits a response from the server in the function TkbmMWEvent.WaitFor … sleep(n); …. but never get its … although the server works without problens! Seems like something is filling up the connections pool but never releases them back from the server side ?
Thank you
-
June 26, 2022 at 12:16 #56524
Babis MichaelParticipantHello,
Make an account on https://portal.components4developers.com/ and download it
-
June 7, 2022 at 10:28 #56506
Babis MichaelParticipantExcellent news! Now if you can make the client transports also i would get rid indy completely! 🙂
Thank you
-
June 4, 2022 at 10:14 #56499
Babis MichaelParticipantAnyone tried to email him ? I did nothing …
-
May 23, 2022 at 01:45 #56489
Babis MichaelParticipantbtw it seems that locking is broken ?
Replacing the events call with TThread.Queue calls solved my freeze problems …
Thank you
-
May 15, 2022 at 02:43 #56476
Babis MichaelParticipantBeen weeks i start to concern …
-
May 15, 2022 at 02:42 #56475
Babis MichaelParticipantNope it doesn’t work on me either with the latest version. (No screen)
-
May 8, 2022 at 11:12 #56466
Babis MichaelParticipantKim where are you ?
We miss you buddy! 🙂
-
April 19, 2022 at 11:55 #56431
Babis MichaelParticipantNew code to avoid AV:
ctx.Token:=ALoginToken;
FLock.BeginWrite;
try
l:=FLogins.Get(ALoginToken); // Newif Assigned(l) then // New
begin
ctx.Token:=l.Token;
ctx.ActorName:=l.Actor.Name;
ctx.Role:=l.Role;
ctx.Login:=l;
end;DoOnLogout(ctx);
ctx.TraceMessage:=’Logout: LoginToken=’+ctx.Token;
DoOnTrace(ctx);FLogins.Delete(l.Actor);
finally
FLock.EndWrite;
end; -
April 13, 2022 at 21:42 #56422
Babis MichaelParticipantIs it better ?
-
April 9, 2022 at 02:31 #56410
Babis MichaelParticipantUP
-
April 9, 2022 at 02:30 #56409
Babis MichaelParticipantUP
-
April 5, 2022 at 20:22 #56398
Babis MichaelParticipantStill getting the TkbmMWInnerThread leak with 5.19
-
This reply was modified 3 years, 10 months ago by
Babis Michael.
-
This reply was modified 3 years, 10 months ago by
-
March 29, 2022 at 07:33 #56359
Babis MichaelParticipantI guess the Messaging components not any time soon right ? 🙁
-
March 25, 2022 at 23:36 #56339
Babis MichaelParticipantNo, unfortunately he replies once a week or two …
-
February 27, 2022 at 00:50 #56281
Babis MichaelParticipantbtw, GarbageCollect calls the TkbmMWAuthorizationManager.Logout(const ALoginToken:string);
-
February 19, 2022 at 14:20 #56249
Babis MichaelParticipantIt seems it was my fault so skip this! 🙂
-
January 9, 2022 at 19:05 #56146
Babis MichaelParticipanteg.
Request “MyRequestName1” done in 100 msecs
Request “MyRequestName2” done in 150 msecs
Request “MyRequestName3” timeout
Request “MyRequestName4” done in 300 msecs-
This reply was modified 4 years, 1 month ago by
Babis Michael.
-
This reply was modified 4 years, 1 month ago by
-
December 13, 2021 at 13:01 #56114
Babis MichaelParticipantUP
-
February 23, 2021 at 20:07 #55496
Babis MichaelParticipantKim,
For some reason i can not see my benchmark posts i can see only your posts.
Anyway, you can use “defines” to finetune according to the CPU architecture as i did in the old FastCode if you wish! 🙂
btw, Ryzen 5800x is 8 core 16 thread CPU .
-
December 16, 2020 at 16:59 #55282
Babis MichaelParticipantmoctes,
From what i saw he’s usually answering to the forum once between 1 or 2 weeks (sometimes 3 weeks too).
Kim, please improve the support on the forums!Thank you
-
November 3, 2020 at 14:02 #55185
Babis MichaelParticipantHello,
I think i solved the problem! There were a couple machines with the same actorname so it caused the AV on the delete actor! Since i changed the duplicate actor name the AV seems to be gone when deleting the actor!
-
October 18, 2020 at 18:27 #55176
Babis MichaelParticipantHello,
Nope, BeginWrite/EndWrite have the same result. Access violation!
I think the wrong locks should cause a deadlock and not an Access violation! <g>
I guess something is trying to acess something that it isn’t there any more after calling deleteactor but i haven’t figure out what! -
October 11, 2020 at 17:19 #55166
Babis MichaelParticipantBelow is the correct code:
authmgr.Lock.BeginRead;
try
vlogin := authmgr.logins.Get(….) <– AV hereif assigned(vlogin) then
begin
authmgr.logout(vlogin,logintoken); //actor is logged so log him out
authmgr.deleteactor(actor); // actor is logged out so delete him
end;finally
authmgr.Lock.EndRead;
end;btw, shouldn’t the “DeleteActor” logout the user too ?
Thank you
-
October 9, 2020 at 22:50 #55165
Babis MichaelParticipantHello,
Nope! if i delete the actor AV will occur! Removing DeleteActor no AV.try
authmgr.logins.Get(….) <– AV here
authmgr.logout(logintoken); //actor is logged so log him out
authmgr.deleteactor(actor); // actor is logged out so delete him
finally
authmgr.Lock.EndRead;
end;Thank you
-
February 10, 2024 at 16:57 #57477
Babis MichaelParticipantI am not Kim <g>
Can you connect your client and server locally ? (ip: 127.0.0.1)-
This reply was modified 2 years ago by
Babis Michael.
-
This reply was modified 2 years ago by
-
February 27, 2023 at 11:52 #57011
Babis MichaelParticipantHi Kim,
Any news on the fixes ?Thank you
-
January 10, 2023 at 22:11 #56944
Babis MichaelParticipantSending you via email because here the link thinks it is spam.
-
January 10, 2023 at 00:08 #56931
Babis MichaelParticipantCan you free this upon finalization or needed to do it manually ?
-
January 8, 2023 at 18:08 #56926
Babis MichaelParticipantHello!
Yes! Here’s the code:
procedure TFormMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CommonServer.doServerTerminate;
kbmMWShutdown;
end;btw, i’m not using smartevents at all in my app!
-
This reply was modified 3 years, 1 month ago by
Babis Michael.
-
This reply was modified 3 years, 1 month ago by
-
December 6, 2022 at 11:46 #56827
Babis MichaelParticipantWell, it’s up to you but those native sockets kicks ass! 🙂
So having a basic command handler class would be nice to create a lot of Server/Client Protocols too (eg. IMAP/POP3 etc)
-
December 5, 2022 at 10:13 #56825
Babis MichaelParticipantHello,
Well it’s a server transport not client and i also i don’t understand how to download a file from a HTTPS source using this.
I would appreciate any example!
Thank you
-
December 4, 2022 at 12:37 #56823
Babis MichaelParticipantI mean i change the transport portocol to HTTP but it doesn’t accept it! (or i shouldn’t ?)
IOW, all i want is to download a file from a HTTPS source to a stream using native transports!
eg. https://www.mysite.com/myfile.zip with TLS 1.2/1.3Thanks
-
November 7, 2022 at 14:28 #56751
Babis MichaelParticipantnice 🙂
-
November 5, 2022 at 14:27 #56744
Babis MichaelParticipantthe native messaging! with the indy messaging i do this with the code on the first post!
Thank you
-
November 5, 2022 at 09:30 #56743
Babis MichaelParticipantYes, i’m using the messaging transport.
IOW, i want to kill all active connections/requests instantly and not wait to timeout.Thank you
-
November 4, 2022 at 21:55 #56737
Babis MichaelParticipantRtx 3090 with latest drivers, 4k monitor and windows 11! You’ll notice that the server application will be busy (can’t do anything) when you switch to DirectX mode.
-
This reply was modified 3 years, 3 months ago by
Babis Michael.
-
This reply was modified 3 years, 3 months ago by
-
July 10, 2022 at 18:31 #56551
Babis MichaelParticipantWell Reject and Delete StalledMessages is true by default, anyhow i’ve added Reject and Stall Queues to monitor. Let’s see!
Can’t wait to try the native messaging transport! 🙂
Thank you
-
July 10, 2022 at 18:24 #56550
Babis MichaelParticipantHello,
1) Well replaced TThread.Queues with Scheduler.RunNow (SyncQueued) but it resulted in AV due the missing capture of variables. Seems Delphi is only capturing for TThread classes. I’ve used the Withxxxx in the past but it’s more complex compared letting the compiler capturing the variables. IOW more code
2) Sure but it more easier and nicer for the coder to write “ExecuteAsync or AsyncExecute” rather Scheduler.RunNow(procedure begin MyScheduledEvent.Execute end);
3) I meant for Pool threads (not vcl). Eg we can set a parameter for the thread priority to apply it before execute and after the termination it to reset to normal thread priority. Anyhow i can’t find a reason why it can’t be done cause it doesn’t conflict with other threads nor the pool itself.Thank you for the quick responses 🙂
-
July 10, 2022 at 03:32 #56547
Babis MichaelParticipantThank you 🙂
It would be nice to add a demo of processors if it’s possible! -
July 8, 2022 at 19:00 #56542
Babis MichaelParticipantIt seems messages stuck in InBound message queue and increasing over time!
-
July 6, 2022 at 22:36 #56541
Babis MichaelParticipantIndy Messaging! (Using messages and services)
-
June 7, 2022 at 10:22 #56505
Babis MichaelParticipantI need to disable KBMMW_SUPPORT_FASTMRWSLOCK after i enabled KBMMW_SUPPORT_MONITORLOCK. I dunno if this is normal.
-
April 17, 2022 at 16:54 #56430
Babis MichaelParticipantKim has an internal test i think that’s why he discarded TMonitor from kbmMW in prior releases due bugs of TMonitor.
Both Delphi 11 and 11.1 have fixes for threading.
-
March 30, 2022 at 09:47 #56369
Babis MichaelParticipantI found a better solution!
Since our user is already logged in we shouldn’t call DoOnLoginSuccess(ctx); because it’s already called the first time!ctx.TraceMessage:=’Login: Actor already logged in. Actor ‘+ctx.Actor.Name+’, Role=’+ctx.Role.Name+’, At(UTC)=’+DateTimeToStr(Result.LastAuthorized);
//DoOnLoginSuccess(ctx); <– Remove me!-
This reply was modified 3 years, 10 months ago by
Babis Michael.
-
This reply was modified 3 years, 10 months ago by
-
March 30, 2022 at 08:39 #56367
Babis MichaelParticipantHello Kim,
Checked that and no!The “Trace” of duplicate login:
30/03/2022 09:31| 635450D7EE5A422991BB89EDA6132A6C TRACE: MyUser:33088) Login: Logged in. Actor=MyUser:33088, Role=USER, Location=127.0.0.1:33088 At(UTC)=30/3/2022 6:31:56 πμ
30/03/2022 09:47| 635450D7EE5A422991BB89EDA6132A6C TRACE: MyUser:33088) Logout: LoginToken=635450D7EE5A422991BB89EDA6132A6C
30/03/2022 09:47| 404D861FAB464DBD9D832D1B150AD166 TRACE: MyUser:53421) Login: Logged in. Actor=MyUser:53421, Role=USER, Location=127.0.0.1:53421 At(UTC)=30/3/2022 6:47:43 πμ
30/03/2022 10:06| 404D861FAB464DBD9D832D1B150AD166 TRACE: MyUser:53421) Logout: LoginToken=404D861FAB464DBD9D832D1B150AD166
30/03/2022 10:08| A41785AAF86E4B6CA4B24DA82ACBA9E6 TRACE: MyUser:54034) Login: Logged in. Actor=MyUser:54034, Role=USER, Location=127.0.0.1:54034 At(UTC)=30/3/2022 7:08:02 πμ
30/03/2022 10:08| TRACE: MyUser:54034) Login: Actor already logged in. Actor MyUser:54034, Role=USER, At(UTC)=30/3/2022 7:08:02 πμ // <— HERE!!! It attempts for the 2nd time to login but it’s already logged as you can see above
30/03/2022 10:08| A41785AAF86E4B6CA4B24DA82ACBA9E6 TRACE: MyUser:54034) Logout: LoginToken=A41785AAF86E4B6CA4B24DA82ACBA9E6
30/03/2022 10:08| 7B606826CA9E4F3B84BA89CEDC590971 TRACE: MyUser:54036) Login: Logged in. Actor=MyUser:54036, Role=USER, Location=127.0.0.1:54036 At(UTC)=30/3/2022 7:08:03 πμIf the user is already logged in it will still call “OnLoginSucces” so can you add a flags to “ctx” to know that the user is already logged ?
eg:ctx.AlreadyLogged := True; // <– add this new variable
ctx.Message:=’Already logged in’;
ctx.TraceMessage:=’Login: Actor already logged in. Actor ‘+ctx.Actor.Name+’, Role=’+ctx.Role.Name+’, At(UTC)=’+DateTimeToStr(Result.LastAuthorized);
DoOnLoginSuccess(ctx);Thank you
-
This reply was modified 3 years, 10 months ago by
Babis Michael.
-
This reply was modified 3 years, 10 months ago by
-
March 29, 2022 at 23:37 #56366
Babis MichaelParticipant<3
-
March 29, 2022 at 04:12 #56358
Babis MichaelParticipantYou know that we want faster forum responses! 🙂
-
March 29, 2022 at 04:07 #56355
Babis MichaelParticipantHello!
No it doesn’t not! It’s empty and never fills!
As you can see in the code it only assigns the “Token” compared to Logout(const AActor:TkbmMWAuthorizationActor);procedure TkbmMWAuthorizationManager.Logout(const ALoginToken:string);
…
ctx:=TkbmMWAuthorizationContext.Create;
try
ctx.Token:=ALoginToken; //Only this!!!
FLock.BeginWrite;
try
DoOnLogout(ctx);
….procedure TkbmMWAuthorizationManager.Logout(const AActor:TkbmMWAuthorizationActor);
….
ctx.Token:=l.Token;
ctx.ActorName:=AActor.Name;
ctx.Role:=l.Role;
ctx.Login:=l;
DoOnLogout(ctx);
….The ctx information is needed for login2 and logout2 and trace2 of AuthorizationManager!
So in case that GarbageCollection Logout out the user i use the CTX to retrieve his informations. (eg the Actorname).Thank you
-
This reply was modified 3 years, 10 months ago by
Babis Michael.
-
This reply was modified 3 years, 10 months ago by
Babis Michael.
-
This reply was modified 3 years, 10 months ago by
-
February 18, 2022 at 14:49 #56248
Babis MichaelParticipantDid that and the same leak occurs. Is it possible that somehow the Event is crashing or something causing the scheduler handle not be released ?
Thank you
-
February 8, 2022 at 00:13 #56196
Babis MichaelParticipantThanks 🙂
-
January 20, 2022 at 15:26 #56165
Babis MichaelParticipantFrom my side or kbmMW ?
-
January 19, 2022 at 21:46 #56163
Babis MichaelParticipantI’m using Indy TCP Messaging with kbmMWClientQueries.
I had to increase it because i was getting: PooledDataset : ObtainConnection : Timeout/error waiting for connection.
Before 5.06.20 July 11 2018 which included that “AutoActivate” on TkbmMWCustomConnectionPool it worked.Thank you
-
December 22, 2021 at 02:19 #56119
Babis MichaelParticipantKim ?
-
December 3, 2021 at 03:06 #56067
Babis MichaelParticipantHello,
I do clear the token if i detect disconnection from the server because if i do not do that the Server’s AuthorizationManagerLogin will not fire when the server restarts.
Example:
Run the Server
Run the Client
Client connects and Server’s AuthorizationManagerLogin will fire (Client.Token will get a value)
Close Server
Run Server
Client will connect but AuthorizationManagerLogin will not fire.Thank you
-
February 23, 2021 at 00:32 #55492
Babis MichaelParticipantRyzen 5800x
Read thread 7 finished.
Read thread 8 finished.
Read thread 15 finished.
Read thread 13 finished.
Read thread 5 finished.
Read thread 6 finished.
Read thread 14 finished.
Read thread 16 finished.
Read thread 12 finished.
Read thread 9 finished.
Read thread 1 finished.
Read thread 17 finished.
Read thread 11 finished.
Read thread 4 finished.
Read thread 10 finished.
Read thread 18 finished.
Read thread 3 finished.
Read thread 2 finished.
Read thread 19 finished.
Read thread 20 finished.
Write thread 2 finished.
Write thread 13 finished.
Write thread 1 finished.
Write thread 8 finished.
Write thread 18 finished.
Write thread 19 finished.
Write thread 10 finished.
Write thread 4 finished.
Write thread 11 finished.
Write thread 12 finished.
Write thread 3 finished.
Write thread 6 finished.
Write thread 14 finished.
Write thread 16 finished.
Write thread 5 finished.
Write thread 9 finished.
Write thread 17 finished.
Write thread 15 finished.
Write thread 7 finished.
Write thread 20 finished.
Using: TSlimReaderWriter
Time: 640
——————————————–
Read thread 5 finished.
Read thread 6 finished.
Read thread 14 finished.
Read thread 8 finished.
Read thread 13 finished.
Read thread 4 finished.
Read thread 7 finished.
Read thread 15 finished.
Read thread 16 finished.
Read thread 20 finished.
Read thread 12 finished.
Read thread 10 finished.
Read thread 18 finished.
Read thread 17 finished.
Read thread 9 finished.
Read thread 2 finished.
Read thread 1 finished.
Read thread 3 finished.
Read thread 11 finished.
Write thread 9 finished.
Write thread 5 finished.
Read thread 19 finished.
Write thread 8 finished.
Write thread 7 finished.
Write thread 13 finished.
Write thread 17 finished.
Write thread 14 finished.
Write thread 2 finished.
Write thread 4 finished.
Write thread 12 finished.
Write thread 3 finished.
Write thread 16 finished.
Write thread 18 finished.
Write thread 19 finished.
Write thread 20 finished.
Write thread 6 finished.
Write thread 10 finished.
Write thread 11 finished.
Write thread 15 finished.
Write thread 1 finished.
Using: TMultiReadExclusiveWriteSynchronizer
Time: 1375
——————————————–
Write thread 11 finished.
Write thread 17 finished.
Write thread 18 finished.
Write thread 20 finished.
Write thread 16 finished.
Write thread 19 finished.
Write thread 12 finished.
Write thread 10 finished.
Write thread 7 finished.
Write thread 1 finished.
Write thread 9 finished.
Write thread 13 finished.
Write thread 4 finished.
Write thread 2 finished.
Write thread 6 finished.
Read thread 6 finished.
Write thread 3 finished.
Read thread 14 finished.
Write thread 8 finished.
Read thread 16 finished.
Read thread 13 finished.
Read thread 5 finished.
Write thread 14 finished.
Read thread 12 finished.
Read thread 19 finished.
Read thread 7 finished.
Read thread 4 finished.
Read thread 11 finished.
Read thread 3 finished.
Write thread 5 finished.
Read thread 8 finished.
Read thread 15 finished.
Read thread 1 finished.
Read thread 9 finished.
Read thread 2 finished.
Read thread 18 finished.
Read thread 20 finished.
Read thread 17 finished.
Read thread 10 finished.
Write thread 15 finished.
Using: TCriticalSection
Time: 1844
——————————————–
Read thread 8 finished.
Read thread 15 finished.
Read thread 16 finished.
Read thread 7 finished.
Read thread 13 finished.
Read thread 6 finished.
Read thread 14 finished.
Read thread 5 finished.
Read thread 19 finished.
Read thread 12 finished.
Read thread 11 finished.
Read thread 20 finished.
Write thread 10 finished.
Write thread 19 finished.
Write thread 17 finished.
Read thread 2 finished.
Write thread 18 finished.
Write thread 3 finished.
Write thread 20 finished.
Write thread 5 finished.
Write thread 11 finished.
Read thread 17 finished.
Write thread 12 finished.
Read thread 1 finished.
Write thread 13 finished.
Read thread 9 finished.
Write thread 4 finished.
Read thread 4 finished.
Write thread 1 finished.
Write thread 6 finished.
Write thread 2 finished.
Read thread 18 finished.
Read thread 10 finished.
Write thread 9 finished.
Write thread 15 finished.
Write thread 7 finished.
Write thread 8 finished.
Read thread 3 finished.
Write thread 16 finished.
Write thread 14 finished.
Using: TMonitor
Time: 453
——————————————–
Read thread 5 finished.
Read thread 14 finished.
Read thread 13 finished.
Read thread 6 finished.
Read thread 7 finished.
Read thread 8 finished.
Read thread 12 finished.
Read thread 15 finished.
Read thread 3 finished.
Read thread 11 finished.
Read thread 17 finished.
Read thread 10 finished.
Read thread 9 finished.
Read thread 20 finished.
Read thread 16 finished.
Read thread 18 finished.
Read thread 4 finished.
Write thread 13 finished.
Write thread 4 finished.
Read thread 19 finished.
Read thread 1 finished.
Read thread 2 finished.
Write thread 8 finished.
Write thread 6 finished.
Write thread 14 finished.
Write thread 19 finished.
Write thread 15 finished.
Write thread 10 finished.
Write thread 7 finished.
Write thread 2 finished.
Write thread 20 finished.
Write thread 1 finished.
Write thread 9 finished.
Write thread 17 finished.
Write thread 3 finished.
Write thread 5 finished.
Write thread 11 finished.
Write thread 18 finished.
Write thread 12 finished.
Write thread 16 finished.
Using: TkbmMWLock
Time: 1062
——————————————–
Read thread 15 finished.
Read thread 8 finished.
Read thread 13 finished.
Read thread 16 finished.
Read thread 7 finished.
Read thread 5 finished.
Read thread 6 finished.
Read thread 14 finished.
Read thread 19 finished.
Read thread 11 finished.
Read thread 3 finished.
Read thread 9 finished.
Read thread 20 finished.
Read thread 17 finished.
Read thread 1 finished.
Read thread 10 finished.
Read thread 12 finished.
Read thread 2 finished.
Read thread 4 finished.
Read thread 18 finished.
Write thread 9 finished.
Write thread 7 finished.
Write thread 18 finished.
Write thread 4 finished.
Write thread 15 finished.
Write thread 17 finished.
Write thread 19 finished.
Write thread 1 finished.
Write thread 16 finished.
Write thread 20 finished.
Write thread 11 finished.
Write thread 13 finished.
Write thread 8 finished.
Write thread 5 finished.
Write thread 12 finished.
Write thread 14 finished.
Write thread 6 finished.
Write thread 3 finished.
Write thread 2 finished.
Write thread 10 finished.
Using: TLighterMREW
Time: 578
——————————————– -
February 23, 2021 at 00:32 #55491
Babis MichaelParticipantRyzen 5800x TMonitor is the fastest ?
Read thread 7 finished.
Read thread 8 finished.
Read thread 15 finished.
Read thread 13 finished.
Read thread 5 finished.
Read thread 6 finished.
Read thread 14 finished.
Read thread 16 finished.
Read thread 12 finished.
Read thread 9 finished.
Read thread 1 finished.
Read thread 17 finished.
Read thread 11 finished.
Read thread 4 finished.
Read thread 10 finished.
Read thread 18 finished.
Read thread 3 finished.
Read thread 2 finished.
Read thread 19 finished.
Read thread 20 finished.
Write thread 2 finished.
Write thread 13 finished.
Write thread 1 finished.
Write thread 8 finished.
Write thread 18 finished.
Write thread 19 finished.
Write thread 10 finished.
Write thread 4 finished.
Write thread 11 finished.
Write thread 12 finished.
Write thread 3 finished.
Write thread 6 finished.
Write thread 14 finished.
Write thread 16 finished.
Write thread 5 finished.
Write thread 9 finished.
Write thread 17 finished.
Write thread 15 finished.
Write thread 7 finished.
Write thread 20 finished.
Using: TSlimReaderWriter
Time: 640
——————————————–
Read thread 5 finished.
Read thread 6 finished.
Read thread 14 finished.
Read thread 8 finished.
Read thread 13 finished.
Read thread 4 finished.
Read thread 7 finished.
Read thread 15 finished.
Read thread 16 finished.
Read thread 20 finished.
Read thread 12 finished.
Read thread 10 finished.
Read thread 18 finished.
Read thread 17 finished.
Read thread 9 finished.
Read thread 2 finished.
Read thread 1 finished.
Read thread 3 finished.
Read thread 11 finished.
Write thread 9 finished.
Write thread 5 finished.
Read thread 19 finished.
Write thread 8 finished.
Write thread 7 finished.
Write thread 13 finished.
Write thread 17 finished.
Write thread 14 finished.
Write thread 2 finished.
Write thread 4 finished.
Write thread 12 finished.
Write thread 3 finished.
Write thread 16 finished.
Write thread 18 finished.
Write thread 19 finished.
Write thread 20 finished.
Write thread 6 finished.
Write thread 10 finished.
Write thread 11 finished.
Write thread 15 finished.
Write thread 1 finished.
Using: TMultiReadExclusiveWriteSynchronizer
Time: 1375
——————————————–
Write thread 11 finished.
Write thread 17 finished.
Write thread 18 finished.
Write thread 20 finished.
Write thread 16 finished.
Write thread 19 finished.
Write thread 12 finished.
Write thread 10 finished.
Write thread 7 finished.
Write thread 1 finished.
Write thread 9 finished.
Write thread 13 finished.
Write thread 4 finished.
Write thread 2 finished.
Write thread 6 finished.
Read thread 6 finished.
Write thread 3 finished.
Read thread 14 finished.
Write thread 8 finished.
Read thread 16 finished.
Read thread 13 finished.
Read thread 5 finished.
Write thread 14 finished.
Read thread 12 finished.
Read thread 19 finished.
Read thread 7 finished.
Read thread 4 finished.
Read thread 11 finished.
Read thread 3 finished.
Write thread 5 finished.
Read thread 8 finished.
Read thread 15 finished.
Read thread 1 finished.
Read thread 9 finished.
Read thread 2 finished.
Read thread 18 finished.
Read thread 20 finished.
Read thread 17 finished.
Read thread 10 finished.
Write thread 15 finished.
Using: TCriticalSection
Time: 1844
——————————————–
Read thread 8 finished.
Read thread 15 finished.
Read thread 16 finished.
Read thread 7 finished.
Read thread 13 finished.
Read thread 6 finished.
Read thread 14 finished.
Read thread 5 finished.
Read thread 19 finished.
Read thread 12 finished.
Read thread 11 finished.
Read thread 20 finished.
Write thread 10 finished.
Write thread 19 finished.
Write thread 17 finished.
Read thread 2 finished.
Write thread 18 finished.
Write thread 3 finished.
Write thread 20 finished.
Write thread 5 finished.
Write thread 11 finished.
Read thread 17 finished.
Write thread 12 finished.
Read thread 1 finished.
Write thread 13 finished.
Read thread 9 finished.
Write thread 4 finished.
Read thread 4 finished.
Write thread 1 finished.
Write thread 6 finished.
Write thread 2 finished.
Read thread 18 finished.
Read thread 10 finished.
Write thread 9 finished.
Write thread 15 finished.
Write thread 7 finished.
Write thread 8 finished.
Read thread 3 finished.
Write thread 16 finished.
Write thread 14 finished.
Using: TMonitor
Time: 453
——————————————–
Read thread 5 finished.
Read thread 14 finished.
Read thread 13 finished.
Read thread 6 finished.
Read thread 7 finished.
Read thread 8 finished.
Read thread 12 finished.
Read thread 15 finished.
Read thread 3 finished.
Read thread 11 finished.
Read thread 17 finished.
Read thread 10 finished.
Read thread 9 finished.
Read thread 20 finished.
Read thread 16 finished.
Read thread 18 finished.
Read thread 4 finished.
Write thread 13 finished.
Write thread 4 finished.
Read thread 19 finished.
Read thread 1 finished.
Read thread 2 finished.
Write thread 8 finished.
Write thread 6 finished.
Write thread 14 finished.
Write thread 19 finished.
Write thread 15 finished.
Write thread 10 finished.
Write thread 7 finished.
Write thread 2 finished.
Write thread 20 finished.
Write thread 1 finished.
Write thread 9 finished.
Write thread 17 finished.
Write thread 3 finished.
Write thread 5 finished.
Write thread 11 finished.
Write thread 18 finished.
Write thread 12 finished.
Write thread 16 finished.
Using: TkbmMWLock
Time: 1062
——————————————–
Read thread 15 finished.
Read thread 8 finished.
Read thread 13 finished.
Read thread 16 finished.
Read thread 7 finished.
Read thread 5 finished.
Read thread 6 finished.
Read thread 14 finished.
Read thread 19 finished.
Read thread 11 finished.
Read thread 3 finished.
Read thread 9 finished.
Read thread 20 finished.
Read thread 17 finished.
Read thread 1 finished.
Read thread 10 finished.
Read thread 12 finished.
Read thread 2 finished.
Read thread 4 finished.
Read thread 18 finished.
Write thread 9 finished.
Write thread 7 finished.
Write thread 18 finished.
Write thread 4 finished.
Write thread 15 finished.
Write thread 17 finished.
Write thread 19 finished.
Write thread 1 finished.
Write thread 16 finished.
Write thread 20 finished.
Write thread 11 finished.
Write thread 13 finished.
Write thread 8 finished.
Write thread 5 finished.
Write thread 12 finished.
Write thread 14 finished.
Write thread 6 finished.
Write thread 3 finished.
Write thread 2 finished.
Write thread 10 finished.
Using: TLighterMREW
Time: 578
——————————————– -
February 18, 2021 at 00:38 #55476
Babis MichaelParticipantDear Kim,
I can totally understand and accept since i’m a single developer too but i do not want to loose customers because i do not respond.
In my life i learnt with the soft and the hard way that “Support” is the 1st thing to make customers happy and keeping them. If they can’t reach me they look solutions and/or alternative elsewhere and they did. (I’m not the only guy developing or fixing computers in my town)
Do not get me wrong, the product is awesome by itself but it had and has some critical bugs which it needed to be fixed in order a project to proceed. Speaking for my self i spend a lot of hours and sometime days for bug caused by kbmMW and not from my project (and you know how difficult is to trace a bug in a multi-threaded application) and on the other half i was waiting weeks for a response.
I do not compare you with DevExpress which they respond the same day but a lot of Open Source projects on Github respond way faster in their bugreports.
Since i have invested in kbmMW i do not want to leave and go into another framework because i know you a very awesome developer and supporter of Delphi ecosystem but please find a solution for quick support as other project have in here. (I understand e-mail is a priority but i do not have $156 since my project are for my own use and not commercial so far)
I will renew my subscription in the coming couple months because i believe that you’ll find a solution to this!
Thank you 🙂
-
This reply was modified 5 years ago by
Babis Michael.
-
This reply was modified 5 years ago by
-
December 20, 2020 at 00:03 #55293
Babis MichaelParticipantHello,
To be relayed fails. Debugging the code found that for unknown reason it fails to decrypt the relayed message.
I’ll try to find some free time to make you an example.Thank you
-
December 19, 2020 at 23:56 #55292
Babis MichaelParticipantHello Kim,
Client!
If client transport connection pool (Indy) then it will use Indy’s Disconnect method in the end, without options, which means it will attempt to disconnect gracefully (notifying the peer), which will hang until timeout if not responded to per the TCP/IP standard.
Well the if client internet or server is down for whatever reason there is no point to wait …
I have however added a DisconnectGracefully boolean property (default true) for next release for all client side Indy transports. It can be set to false before a Disconnect or connection pool kill connections, to force non graceful connection shutdown.
So the killconnections will have an extra parameter ?
Currently i do this after i detect a disconnection or timeout:Client.Disconnect;
ConnectionPool.KillConnections;
InQueue.Clear;
OutQueue.Clear;Thank you
-
-
AuthorPosts
