Page 1 of 1

AccessViolation in TXLSMMURebuildVector.WriteVector

Posted: Fri Jun 12, 2015 12:07 pm
by d3nton
Hi!

Recently we received several bugreports from our customers with the following callstack:

Code: Select all

Exception Message : Access violation at address 000000000103EB8E in module 'Project.exe'. Write of address 000000000000000D.
350  1791 Project.exe XLSMMU5 TXLSMMURebuildVector.WriteVector +56
714  930 Project.exe XLSMMU5 TXLSMMUVectorManager.Alloc +58
37  357 Project.exe XLSMMU5 TXLSMMUBlockManager.AllocMem +2
101  1406 Project.exe XLSCellMMU5 TXLSCellMMU.StoreString +17
...
...
The callstacks are not always completely equal (see below: StoreString/StoreFloat) but I guess it is the same bug in 'AllocMem' or 'WriteVector':

Code: Select all

Exception Message : Access violation at address 000000000103EB8E in module 'Project.exe'. Write of address 000000000000000D.
350  1791 Project.exe XLSMMU5 TXLSMMURebuildVector.WriteVector +56
714  930 Project.exe XLSMMU5 TXLSMMUVectorManager.Alloc +58
37  357 Project.exe XLSMMU5 TXLSMMUBlockManager.AllocMem +2
101  1089 Project.exe XLSCellMMU5 TXLSCellMMU.StoreFloat +14
...
...
Unfortunately there is no easy way to reproduce this but
the problem occurs only on 64bit builds and only when lots of memory (~ 4Gb or more) is used by the application.
The problem is also not deterministic, means that it is not a specific float number or string which causes the issue.
Because of the described behaviour I can imagine that it is a problem related to NativeInt, Integer vs Uint or s.th similar.
Is this a known problem? Can you please fix this?
If you need more information about the problem please let me know.

Thank you!
d3nton

Re: AccessViolation in TXLSMMURebuildVector.WriteVector

Posted: Mon Jun 15, 2015 9:13 am
by larsa
Hello

The address value of 000000000000000D indicates that the memory is overwritten. This also make sense, if the pointer used in WriteVector is zero, and a offset is added to it, the value is likely to be about 000000000000000D. The memory can of course be overwritten by any code in your application. As I can't reproduce the error, I can't help you to find where the error is.

Re: AccessViolation in TXLSMMURebuildVector.WriteVector

Posted: Tue Jun 16, 2015 2:34 pm
by d3nton
I have updated to 5.20.50 and I can no longer reproduce the problem. So it seems to be fixed due to some other changes I guess :)