#1 2017-05-23 12:32:29

factor200x
Member
Registered: 2017-05-23
Posts: 15

Question about my problem

Hello everyone,

I have the problem that I get the error "Erste Gelegenheit für Exception bei $766FB802. Exception-Klasse ESynException mit Meldung 'TSQLLocRelationship.AutoTable VMT entry already set'. Prozess ScCtr.exe (14648)" sporadically at the start of my service. Interestingly, the error occurs in 10 starts only 2 times.

SQLite3 is used as a database and it does not matter whether it exists or is created only at startup. The error comes with both variants.

It is also not always the same table. Currently, the error occurs in the TSQLLocRelationship table. The next time it will be the table "XYZ".

Can I possibly give a hint so I can solve this problem?

Thanks
Olaf

Offline

#2 2017-05-23 12:44:24

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

Re: Question about my problem

Some threading issue when initializing your TSQLModel?
All TSQLModel / TSQLRestServerDB initialization should be from a single thread.

Or some other library (not in mORMot) is using the vmtAutoTable slot of your TSQLRecord classes.

Offline

#3 2017-05-23 14:13:22

factor200x
Member
Registered: 2017-05-23
Posts: 15

Re: Question about my problem

Yes, everything is created in a thread. What I noticed but is that the problem no longer occurs, when I encounter the error, Delphi [10.2] terminate and restart.

I keep watching this and when I can tell you what exactly.

Thank you!

Offline

#4 2017-05-24 11:57:09

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

Re: Question about my problem

You may define and use a TSynLocker to let all your initialization code be thread-safe.

Offline

Board footer

Powered by FluxBB