Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Invalid Seek Offset
Message
From
06/05/2019 10:10:23
 
General information
Forum:
Visual FoxPro
Category:
Troubleshooting
Miscellaneous
Thread ID:
01668410
Message ID:
01668413
Views:
57
>>>Hi,
>>>
>>>The error (in the title of this thread) is the worst and most dreadful since it is not caused by a bug or bad code but rather the issue with the PC memory (as far as I know). I used to think that the error only happens when the app opens an external DBF file. But lately I see these error (emailed from the app) on attempting to USE/OPEN a DBF included in the .EXE
>>>My usual suggestion to a customer coming across this error is to reboot the PC.
>>>Any other suggestions on troubleshooting this error?
>>
>>Ouch.
>>
>>What I remember of the ISO error is that the "seek offset" is something in the process of reading an index, so it usually means a bad one. The index file is full of addresses of next blocks in the B tree, and Fox goes down that tree (or up) until it reaches the final branch with actual leaves, i.e. key values. If some of those offsets causes a jump beyond the limits (of file size, given memory space or who knows what), you get the ISO.
>> It was usually fixed by rebuilding the index. I don't see why an index inside the exe would behave differently - if it's bad, it's bad.
>
>I agree that this error is caused by some problem with the index file. But in this case, the index file is not bad, since it is in the EXE of many other customers. And I use the same index file on my PC, when developing and testing. And I have never had this error. Additionally the customer who is hit by the error could clear the problem by rebooting the PC. This is why I think the problem is not specifically with the index but how the PC memory is used to open the index file. Hence the PC memory corruption.
>What I would like is ability to Catch this error and close the application gracefully. But since I cannot duplicate the error on my PC, it is hard to Catch it.

Every index node within an index file is aligned on a 512-byte boundary. If an index points to something that is not valid on a 512-byte boundary you'll see that error.

It may indicate the user has a virus and their .EXE file has been physically manipulated internally, affecting the stored data.

Get a copy of their .EXE as it is and compare it byte-by-byte to see if anything's changed using a tool like WinDiff.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform