#1 2023-01-13 17:49:50

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

Exception in 64Bit of Mormot 2 but not in 32Bit Version

Hi Arnaud since a few Days we get an Exception c0000005 in the 64Bit Assembly code of

TRWLock.ReadOnlyLock
in line
@spin:  mov     rax, qword ptr [rcx + TRWLock.Flags]

the 32Bit code runs without exception.

if you need more input let me know.


Rad Studio 12.1 Santorini

Offline

#2 2023-01-13 19:24:20

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Exception in 64Bit of Mormot 2 but not in 32Bit Version

Yes, this is very vague.
Here, TRWLock.ReadOnlyLock works with no problem on Win64.
And I don't remember changing anything about it in the last days.
My guess is that there is something wrong in the class using the TRWLock - release twice or such.

What is the context, i.e. the stack frame?
Is it is mORMot high-level code, or did you use TRWLock by yourself?
Did you try to check for dangling pointers in your project using FastMM4 in full debug mode?

Offline

#3 2023-01-31 20:48:58

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

Re: Exception in 64Bit of Mormot 2 but not in 32Bit Version

Hi sry for the delay - was on holydays

The Exception is in the mORMot High Level Code. I don't use the lock by Myself its in the Context of TRestServerUriContext.Authenticate
(How can i upload an Image ?)

Last edited by itSDS (2023-01-31 20:51:09)


Rad Studio 12.1 Santorini

Offline

#4 2023-02-01 08:15:42

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Exception in 64Bit of Mormot 2 but not in 32Bit Version

You can use some online service to publish an image.
For instance, https://postimages.org/ or https://pasteboard.co/

We indeed need more context.
The stack trace would help a lot, since I was not able to reproduce it.
All that I can do now is https://github.com/synopse/mORMot2/commit/b01e0a93

Offline

#5 2023-02-01 11:29:02

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

Re: Exception in 64Bit of Mormot 2 but not in 32Bit Version

Here the Stack trace:
https://postimg.cc/8Fz1qcN2
https://postimg.cc/30Tpj2HM

On the Client site i call:       

Database.ServiceDefine([IDomVerwaltung], sicClientDriven, cVerwaltungContract);


if you need more info pls ask

Last edited by itSDS (2023-02-01 11:36:19)


Rad Studio 12.1 Santorini

Offline

#6 2023-02-01 18:13:15

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

Re: Exception in 64Bit of Mormot 2 but not in 32Bit Version

Hi i testet now a lot and my last test was to comment out your 64Bit ASM Code - And now it works.

I have made 2 Logs now where you can see the Exception in 64Bit Version if you like i can send it to you.

Last edited by itSDS (2023-02-01 18:13:32)


Rad Studio 12.1 Santorini

Offline

#7 2023-02-01 18:33:29

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Exception in 64Bit of Mormot 2 but not in 32Bit Version

Yes, please send it to me.

I can't find the cause of your issue.

Does it happen randomly after a while, or at first session access?

Offline

#8 2023-02-02 08:59:50

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Exception in 64Bit of Mormot 2 but not in 32Bit Version

I was not able to find out what was wrong.

Please try https://github.com/synopse/mORMot2/commit/c5326052
It should not be noticeable slower, thanks to inlining.

Offline

#9 2023-02-02 19:23:08

itSDS
Member
From: Germany
Registered: 2014-04-24
Posts: 506

Re: Exception in 64Bit of Mormot 2 but not in 32Bit Version

Hi Arnaud, ty it works


Rad Studio 12.1 Santorini

Offline

Board footer

Powered by FluxBB