Babis Michael

Forum Replies Created

Viewing 100 posts - 1 through 100 (of 118 total)
  • Author
    Posts
  • in reply to: Looks like the C4D shop has some issues #57687
    Babis Michael
    Participant

    Seems SSL certificate has expired. Works with HTTP.

    in reply to: Scheduler Precise repeat #57564
    Babis Michael
    Participant

    Well i’ve created my own thread timer as workaround until Kim fixes the “Activation” bug of kbmMWScheduler.

    in reply to: Scheduler Precise repeat #57550
    Babis Michael
    Participant

    Well it didn’t work for long …

    in reply to: Scheduler Precise repeat #57545
    Babis Michael
    Participant

    Seems it’s choosing wrong (active) thread from the thread pool … might be wrong

    in reply to: Scheduler Precise repeat #57543
    Babis Michael
    Participant

    It 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 2 years, 6 months ago by Babis Michael.
    in reply to: Scheduler Precise repeat #57538
    Babis Michael
    Participant

    Actually 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.

    in reply to: 5.23.00 Native Transports memory leak #57521
    Babis Michael
    Participant

    Any news ?

    Thank you

    in reply to: My first application #57477
    Babis Michael
    Participant

    I am not Kim <g>
    Can you connect your client and server locally ? (ip: 127.0.0.1)

    • This reply was modified 2 years, 8 months ago by Babis Michael.
    in reply to: My first application #57475
    Babis Michael
    Participant

    Hello,
    You connecting locally or remotely ?
    Also check the port in your server’s (remote) firewall.

    in reply to: 5.23.00 Native Transports memory leak #57467
    Babis Michael
    Participant

    Sent you a sample project via e-mail

    in reply to: 5.23.00 Native Transports memory leak #57430
    Babis Michael
    Participant

    btw, the same leak happends to client transports too

    • This reply was modified 2 years, 9 months ago by Babis Michael.
    in reply to: 5.23.00 Native Transports memory leak #57426
    Babis Michael
    Participant

    Hello,
    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

    in reply to: 5.23.00 – TkbmMWAuthorization OnLogin doesn’t fire #57420
    Babis Michael
    Participant

    Since 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

    in reply to: RequestTimeout Native vs Indy at runtime #57011
    Babis Michael
    Participant

    Hi Kim,
    Any news on the fixes ?

    Thank you

    Babis Michael
    Participant

    Ok 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, 9 months ago by Babis Michael.
    Babis Michael
    Participant

    Seems 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, 9 months ago by Babis Michael.
    in reply to: Native Transport with 4G connection #56959
    Babis Michael
    Participant

    I 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.

    Babis Michael
    Participant

    Due 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

    Babis Michael
    Participant

    Found 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

    in reply to: SmartEvent Memory Leaks #56946
    Babis Michael
    Participant

    Found 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;

    in reply to: RequestTimeout Native vs Indy at runtime #56944
    Babis Michael
    Participant

    Sending you via email because here the link thinks it is spam.

    in reply to: RequestTimeout Native vs Indy at runtime #56940
    Babis Michael
    Participant

    Kim,

    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, 9 months ago by Babis Michael.
    in reply to: SmartEvent Memory Leaks #56931
    Babis Michael
    Participant

    Can you free this upon finalization or needed to do it manually ?

    in reply to: SmartEvent Memory Leaks #56928
    Babis Michael
    Participant

    Oh! 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!

    in reply to: SmartEvent Memory Leaks #56926
    Babis Michael
    Participant

    Hello!

    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, 9 months ago by Babis Michael.
    in reply to: native transport 5.21 TLS disconnect crash #56922
    Babis Michael
    Participant

    I have the same issue without using TLS. 5.20 works ok!

    in reply to: RequestTimeout Native vs Indy at runtime #56921
    Babis Michael
    Participant

    Seems Transport Disconnection isn’t working reverting back to 5.20 solved the problem!

    in reply to: RequestTimeout Native vs Indy at runtime #56920
    Babis Michael
    Participant

    Maybe it’s related to the error i get in the client when i terminate the server: EkbmMWSocket ‘Cannot execute StopLoop in IO thread’

    in reply to: RequestTimeout Native vs Indy at runtime #56919
    Babis Michael
    Participant

    Kim,

    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

    in reply to: Native Sockets and HTTP/S #56827
    Babis Michael
    Participant

    Well, 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)

    in reply to: Native Sockets and HTTP/S #56825
    Babis Michael
    Participant

    Hello,

    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

    in reply to: Native Sockets and HTTP/S #56823
    Babis Michael
    Participant

    I 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.3

    Thanks

    in reply to: Native Sockets and HTTP/S #56787
    Babis Michael
    Participant

    Well HTTP protocol not supported so i can’t download a file! 🙁

    in reply to: Native Transport with 4G connection #56765
    Babis Michael
    Participant

    The issue exists with wifi connections too. Random few (2-4) disconnection per day.
    Anything that i can debug ?

    Thank you

    in reply to: Native Transport with 4G connection #56764
    Babis Michael
    Participant

    Nope, changing keepalive values didn’t help!

    in reply to: Native Transport with 4G connection #56763
    Babis Michael
    Participant

    Changing 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.

    in reply to: Native Transport and Disconnected #56757
    Babis Michael
    Participant

    Hmm, seems TkbmMWCustomTCPMessagingClientTransport.InternalCloseSocket; called twice but TkbmMWAbstractSocket.Destroy; called once!

    in reply to: Native Transport and Disconnected #56756
    Babis Michael
    Participant

    Hmm, still getting leak on the native client transport when i shutdown the app with 5.20.01

    in reply to: RequestTimeout Native vs Indy at runtime #56751
    Babis Michael
    Participant

    nice 🙂

    in reply to: Native Transport and Disconnected #56748
    Babis Michael
    Participant

    I guess this will fix the Socket memory leak too right ?

    Thank you

    in reply to: RequestTimeout Native vs Indy at runtime #56747
    Babis Michael
    Participant

    Thank you i’ll give it a try 🙂

    in reply to: RequestTimeout Native vs Indy at runtime #56744
    Babis Michael
    Participant

    the native messaging! with the indy messaging i do this with the code on the first post!

    Thank you

    in reply to: RequestTimeout Native vs Indy at runtime #56743
    Babis Michael
    Participant

    Yes, i’m using the messaging transport.
    IOW, i want to kill all active connections/requests instantly and not wait to timeout.

    Thank you

    Babis Michael
    Participant

    Rtx 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, 11 months ago by Babis Michael.
    in reply to: XorBlock AV #56727
    Babis Michael
    Participant

    This 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, 11 months ago by Babis Michael.
    Babis Michael
    Participant

    Changing to capture mode DirectX freezes server!

    Babis Michael
    Participant

    Kim, this isn’t fixed in 5.20! (you forgot it)

    Babis Michael
    Participant

    Love you!

    Babis Michael
    Participant

    Kim ?

    The client connects but it doesn’t display anything!

    in reply to: IkbmMWScheduledEvent QueuedAfterRun missing #56662
    Babis Michael
    Participant

    btw, added manually and works!

    in reply to: FNV1A32 vs xxHash speed #56576
    Babis Michael
    Participant

    Or generally replacing all other Hash algos to xxHash in all units.

    in reply to: TMonitor Scheduler deadlock #56558
    Babis Michael
    Participant

    Dah! Reverting back to kbmMW locking … I dunno if this a TMonitor issue or kbmMW!

    in reply to: Queries timeout after sometime #56551
    Babis Michael
    Participant

    Well 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

    in reply to: Scheduler Suggestions #56550
    Babis Michael
    Participant

    Hello,

    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 🙂

    in reply to: TkbmMWMultithreadMessageQueueProcessor #56547
    Babis Michael
    Participant

    Thank you 🙂
    It would be nice to add a demo of processors if it’s possible!

    in reply to: Queries timeout after sometime #56542
    Babis Michael
    Participant

    It seems messages stuck in InBound message queue and increasing over time!

    in reply to: Queries timeout after sometime #56541
    Babis Michael
    Participant

    Indy Messaging! (Using messages and services)

    in reply to: Queries timeout after sometime #56535
    Babis Michael
    Participant

    The 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

    in reply to: Getting community edition #56524
    Babis Michael
    Participant

    Hello,

    Make an account on https://portal.components4developers.com/ and download it

    in reply to: KbmMW Sockets #56506
    Babis Michael
    Participant

    Excellent news! Now if you can make the client transports also i would get rid indy completely! 🙂

    Thank you

    in reply to: TMonitor #56505
    Babis Michael
    Participant

    I need to disable KBMMW_SUPPORT_FASTMRWSLOCK after i enabled KBMMW_SUPPORT_MONITORLOCK. I dunno if this is normal.

    in reply to: Why haven’t I heard from you for so long? #56499
    Babis Michael
    Participant

    Anyone tried to email him ? I did nothing …

    in reply to: SmartEvents Sync #56489
    Babis Michael
    Participant

    btw it seems that locking is broken ?

    Replacing the events call with TThread.Queue calls solved my freeze problems …

    Thank you

    in reply to: Why haven’t I heard from you for so long? #56476
    Babis Michael
    Participant

    Been weeks i start to concern …

    Babis Michael
    Participant

    Nope it doesn’t work on me either with the latest version. (No screen)

    in reply to: Why haven’t I heard from you for so long? #56466
    Babis Michael
    Participant

    Kim where are you ?

    We miss you buddy! 🙂

    Babis Michael
    Participant

    New code to avoid AV:

    ctx.Token:=ALoginToken;
    FLock.BeginWrite;
    try
    l:=FLogins.Get(ALoginToken); // New

    if 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;

    in reply to: TMonitor #56430
    Babis Michael
    Participant

    Kim 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.

    in reply to: Issue of DEFINE KBMMW_SUPPORT_MRWSLOCK #56422
    Babis Michael
    Participant

    Is it better ?

    Babis Michael
    Participant

    UP

    in reply to: Smartevent memory leak ? #56409
    Babis Michael
    Participant

    UP

    in reply to: Smartevent memory leak ? #56398
    Babis Michael
    Participant

    Still getting the TkbmMWInnerThread leak with 5.19

    • This reply was modified 4 years, 6 months ago by Babis Michael.
    in reply to: AuthorizationManager duplicate logins #56369
    Babis Michael
    Participant

    I 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 4 years, 6 months ago by Babis Michael.
    in reply to: AuthorizationManager duplicate logins #56367
    Babis Michael
    Participant

    Hello 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 4 years, 6 months ago by Babis Michael.
    in reply to: KbmMW Sockets #56366
    Babis Michael
    Participant

    <3

    in reply to: KbmMW Sockets #56359
    Babis Michael
    Participant

    I guess the Messaging components not any time soon right ? 🙁

    in reply to: Forum #56358
    Babis Michael
    Participant

    You know that we want faster forum responses! 🙂

    Babis Michael
    Participant

    Hello!
    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

    in reply to: Forum #56339
    Babis Michael
    Participant

    No, unfortunately he replies once a week or two …

    Babis Michael
    Participant

    btw, GarbageCollect calls the TkbmMWAuthorizationManager.Logout(const ALoginToken:string);

    in reply to: Scheduler High CPU usage #56249
    Babis Michael
    Participant

    It seems it was my fault so skip this! 🙂

    in reply to: Smartevent memory leak ? #56248
    Babis Michael
    Participant

    Did 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

    in reply to: IP Black/White List #56196
    Babis Michael
    Participant

    Thanks 🙂

    in reply to: ClientConnectionPool.MaxConnections #56165
    Babis Michael
    Participant

    From my side or kbmMW ?

    in reply to: ClientConnectionPool.MaxConnections #56163
    Babis Michael
    Participant

    I’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

    in reply to: Tracing Requests and time #56146
    Babis Michael
    Participant

    eg.
    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, 9 months ago by Babis Michael.
    in reply to: AuthorizationManager duplicate logins #56119
    Babis Michael
    Participant

    Kim ?

    in reply to: AuthorizationManager duplicate logins #56114
    Babis Michael
    Participant

    UP

    in reply to: AuthorizationManager duplicate logins #56067
    Babis Michael
    Participant

    Hello,

    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

    in reply to: Faster MREW ? #55496
    Babis Michael
    Participant

    Kim,

    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 .

    in reply to: Faster MREW ? #55492
    Babis Michael
    Participant

    Ryzen 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
    ——————————————–

    in reply to: Faster MREW ? #55491
    Babis Michael
    Participant

    Ryzen 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
    ——————————————–

    in reply to: kbmMW support issues #55476
    Babis Michael
    Participant

    Dear 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, 8 months ago by Babis Michael.
    in reply to: AutoRelay with Crypt Failed Messages #55293
    Babis Michael
    Participant

    Hello,
    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

    in reply to: ConnectionPool.KillConnections and timeout #55292
    Babis Michael
    Participant

    Hello 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

    in reply to: c0000005 ACCESS_VIOLATION kbmMW Pro 64 #55282
    Babis Michael
    Participant

    moctes,

    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

     

    in reply to: AuthorizationManager – GetLogin #55185
    Babis Michael
    Participant

    Hello,

    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!

     

    in reply to: AuthorizationManager – GetLogin #55176
    Babis Michael
    Participant

    Hello,

    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!

    in reply to: AuthorizationManager – GetLogin #55166
    Babis Michael
    Participant

    Below is the correct code:

    authmgr.Lock.BeginRead;
    try
    vlogin := authmgr.logins.Get(….) <– AV here

    if 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

    in reply to: AuthorizationManager – GetLogin #55165
    Babis Michael
    Participant

    Hello,
    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

Viewing 100 posts - 1 through 100 (of 118 total)