Jeremiah Morrill wrote:
Pretty excited about the 32bit support! I was just kicking the tires on it today and I realize this is still a work in progress, but I wanted to report a possible bug with VL32/Windows.
Thanks for the report. Fixed now.
When I open a database with MDB_RDONLY and seek a cursor to MDB_LAST, I get a system error code of 0xc000004e (STATUS_SECTION_PROTECTION) from NtMapViewOfSection. This is presumably because of the MEM_RESERVE_FLAG is present on the open of the db when MDB_RDONLY is used.
After patching up the NtMapViewOfSection, I get a 0xc000001f(STATUS_INVALID_VIEW_SIZE) from NtMapViewOfSection. I believe this happens because it is requesting a view that goes beyond the size of the db. A quick adjustment on the “len” being requested seems to have “fixed” it.
I have included a diff patch below. I realize this is a naïve hack, but hoped it could be useful in reproducing and fixing.
-Jer