Zeoslib 7.2.10 AV in GetBooksmark

The forum for ZeosLib 7.2 Report problems. Ask for help, post proposals for the new version and Zeoslib 7.2 features here. This is a forum that will be edited once the 7.2.x version goes into RC/stable!!

My personal intention for 7.2 is to speed up the internals as optimal a possible for all IDE's. Hope you can help?! Have fun with testing 7.2
Post Reply
StTu
Fresh Boarder
Fresh Boarder
Posts: 5
Joined: 14.06.2021, 09:09

Zeoslib 7.2.10 AV in GetBooksmark

Post by StTu »

after updating to 7.2.10 from like 7.2.4 (viewtopic.php?f=40&t=142634) I'm facing new issue I'm getting AV inside GetBookmark

EAccessViolation
Access violation at address 0040A842 in module 'my.exe'. Read of address 00000018

Image

delphi 10.3, win64, win32 app, fb 3.0.7, after reverting back to ~ 7.2.4 issue is gone, any idea what can be wrong?
stack is from grid connected to datasource with TZQuery
User avatar
aehimself
Zeos Dev Team
Zeos Dev Team
Posts: 796
Joined: 18.11.2018, 17:37
Location: Hungary

Re: Zeoslib 7.2.10 AV in GetBooksmark

Post by aehimself »

Smells like a nullpointer / invalid pointer AV. I'd put a breakpoint on your .GetBookMark call and see where things go south, what is returning this TRecordBuffer record.

I have a slight memory of fixing something like this in v8... @Jan, do you think the commits

a59e1689324f9ce30b3312f3372cbba741d801df
aehimself: ZAbstractRODataSet GetBookmarkData and InternalGotoBookmark should handle "Data" as the same type
marsupilami79 on 5/28/2020, 9:17:55 PM

and

00365e0987f37c6d99e7da4da7b03bd136fa56b7
aehimself: ZAbstractRODataSet GetBookmarkData and InternalGotoBookmark should handle "Data" as the same type (PInteger instead of PNativeInt)
marsupilami79 on 5/29/2020, 1:07:44 PM

have to be merged back to v7? Unfortunately I don't use this version anymore to be able to test.
Delphi 12.2, Zeos 8 from latest GIT snapshot
Using:
- MySQL server 8.0.18; libmysql.dll 8.0.40 x64 5.7.19 x68, libmariadb.dll 3.3.11
- Oracle server 11.2.0, 12.1.0, 19.0.0; oci.dll 21.15
- MSSQL 2012, 2019; sybdb.dll FreeTDS_3102
- SQLite 3.47
marsupilami
Platinum Boarder
Platinum Boarder
Posts: 1956
Joined: 17.01.2011, 14:17

Re: Zeoslib 7.2.10 AV in GetBooksmark

Post by marsupilami »

@StTu: Could you please try to create some sample code and maybe a sample database script? This really would help with debugging.

From the screenshot I would say that GetBookmarkFlag gets called with a strange valu in Buffer or even a null value for Buffer.

@aehimself: Maybe - I will check if these patches can be applied. But I highly doubt it because I think, Egonhugeist changed a lot of things there...
marsupilami
Platinum Boarder
Platinum Boarder
Posts: 1956
Joined: 17.01.2011, 14:17

Re: Zeoslib 7.2.10 AV in GetBooksmark

Post by marsupilami »

aehimself wrote: 27.07.2021, 21:24 @Jan, do you think the commits

a59e1689324f9ce30b3312f3372cbba741d801df
aehimself: ZAbstractRODataSet GetBookmarkData and InternalGotoBookmark should handle "Data" as the same type
marsupilami79 on 5/28/2020, 9:17:55 PM

and

00365e0987f37c6d99e7da4da7b03bd136fa56b7
aehimself: ZAbstractRODataSet GetBookmarkData and InternalGotoBookmark should handle "Data" as the same type (PInteger instead of PNativeInt)
marsupilami79 on 5/29/2020, 1:07:44 PM

have to be merged back to v7?
Unfortunately no. It seems like your patches reverted some changes that were done between 7.2 and 8.0. All places in 7.2 handle Bookmarpointers as PInteger....
Post Reply