1 (edited by Graham Hawker 14-09-2015 10:06:49)

Topic: Range Check Error

One of our volunteers suddenly can't access Recorder. It worked a few weeks ago and now he gets a range check error. I've seen this error when the slashes on path names are changed but I've made sure all the registry settings match those on my machine (which works fine).

This is the top bit of the error message

date/time         : 2015-09-14, 09:43:16, 987ms
computer name     : W09-00889
user name         : James.Brooks
registered owner  : Microsoft / Microsoft
operating system  : Windows 7 x64 Service Pack 1 build 7601
system language   : English
system up time    : 7 minutes 19 seconds
program up time   : 5 seconds
processors        : 2x Intel(R) Pentium(R) Dual CPU E2200 @ 2.20GHz
physical memory   : 1255/3551 MB (free/total)
free disk space   : (C:) 118.48 GB
display mode      : 1680x1050, 32 bit
process id        : $7d4
allocated memory  : 29.34 MB
command line      : RecorderApp.exe /66390
executable        : RecorderApp.exe
exec. date/time   : 2014-03-24 11:48
version           : 6.22.2.274
compiled with     : Delphi 7
madExcept version : 3.0n
callstack crc     : $5d226d96, $088862c8, $088862c8
exception number  : 1
exception class   : ERangeError
exception message : Range check error.

main thread ($bac):
00a75775 RecorderApp.exe ApplicationSettings 1390   +9 TApplicationSettings.CopyFiles
00a75321 RecorderApp.exe ApplicationSettings 1312   +3 TApplicationSettings.CopyBaseMaps
00a72f24 RecorderApp.exe ApplicationSettings 1010 +132 TApplicationSettings.ReadRegistrySettings
00a71cfa RecorderApp.exe ApplicationSettings  748  +16 TApplicationSettings.Create
00a955b4 RecorderApp.exe RecorderApp          360  +25 initialization
750c33a8 kernel32.dll                                  BaseThreadInitThunk

thread $364:
779b0116 ntdll.dll                 NtWaitForMultipleObjects
76fd15ff KERNELBASE.dll            WaitForMultipleObjectsEx
750c1a37 kernel32.dll              WaitForMultipleObjectsEx
751e0864 user32.dll                MsgWaitForMultipleObjectsEx
751e0b64 user32.dll                MsgWaitForMultipleObjects
00476bed RecorderApp.exe madExcept CallThreadProcSafe
00476c57 RecorderApp.exe madExcept ThreadExceptFrame
750c33a8 kernel32.dll              BaseThreadInitThunk
>> created by main thread ($bac) at:
750c34d0 kernel32.dll              CreateThread

thread $648:
779b0116 ntdll.dll     NtWaitForMultipleObjects
750c33a8 kernel32.dll  BaseThreadInitThunk

thread $aac:
779b1eff ntdll.dll     NtWaitForWorkViaWorkerFactory
750c33a8 kernel32.dll  BaseThreadInitThunk

thread $858:
779b1eff ntdll.dll     NtWaitForWorkViaWorkerFactory
750c33a8 kernel32.dll  BaseThreadInitThunk

thread $60c:
779afd4a ntdll.dll                 NtDelayExecution
76fd3bd7 KERNELBASE.dll            SleepEx
76fd44a8 KERNELBASE.dll            Sleep
00476bed RecorderApp.exe madExcept CallThreadProcSafe
00476c57 RecorderApp.exe madExcept ThreadExceptFrame
750c33a8 kernel32.dll              BaseThreadInitThunk
>> created by main thread ($bac) at:
750c34d0 kernel32.dll              CreateThread


Any ideas?

Graham Hawker
Thames Valley Environmental Records Centre

2

Re: Range Check Error

Looks like this might be happening when it is trying to copy basemaps down from the server.


I see that this has occurred where drive mapping isn't correct on the workstation. This may be worth a check. Can you also double check that BaseMap path is correct for the workstation. 


Other possibility is the 'Forms' registry. Goto H Key Current User/Dorset Software/Recorder 6/Forms. Check the entries below this and for any where Opened is set to 1. Either delete the entry or change Opened to 0. Recorder uses these settings to determine how the screen is displayed when it opens and I think one may be corrupt.  Or a braver approach is simply to delete all the entries below Forms.

Mike Weideli

3

Re: Range Check Error

Hi Mike

I've had a look and drive mapping is fine and I changed one of the entries to 0. However the problem persists.

Graham

Graham Hawker
Thames Valley Environmental Records Centre

4

Re: Range Check Error

It looks like it is very early on when Recorder is trying to copy files from the Server to the Workstation. I will dig a bit deeper to see if I can suggest any other areas to look at.

Mike Weideli

5

Re: Range Check Error

Hi Mike

As we can't write to our workstation everything is on the server including the base map folder and other folders.

Graham Hawker
Thames Valley Environmental Records Centre

6

Re: Range Check Error

If I send you  special version of  Recorder.exe with some diagnostic code in it will you be able to temporarily replace  the live version ?

Mike Weideli

7 (edited by Graham Hawker 15-09-2015 12:51:11)

Re: Range Check Error

Hi Mike

I'm afraid the answer is no. We can't do any installation or stuff like that.

I have asked others to check and it's still only affecting one user.

Graham Hawker
Thames Valley Environmental Records Centre

8

Re: Range Check Error

It wasn't an install just a file to copy, but if you can't do that then we will have to try a few other things. I think it is to do with copying files.  Try changing the registry for the base map path to point to the User File folder. This may give a more meaningful error.

Mike Weideli

9

Re: Range Check Error

This is most strange. I changed the base map path to user files and Recorder now opens fine.

Graham Hawker
Thames Valley Environmental Records Centre

10

Re: Range Check Error

I would have been nice to know what was actually going wrong, especially as it is only on one machine. It must be something to do with copying files, but not sure why it is only affecting the one machine.

Mike Weideli

11

Re: Range Check Error

Hi Mike

It's one user rather than one machine. If our volunteer trys a different machine he gets the same error.

Graham

Graham Hawker
Thames Valley Environmental Records Centre

12

Re: Range Check Error

Possibly permissions on the server for that user.

Mike Weideli

13

Re: Range Check Error

Just to say this was corrected. It was a combination of tiny things. Missing backslashes and an uppercase letter in the server name when it should have been lower case.

Graham Hawker
Thames Valley Environmental Records Centre

14

Re: Range Check Error

In the last few days I have been able to investigated this error on site and in the case investigated  this happens because when R6 starts it tries to copy the files in the object sheet folder to the workstation. If the object sheet file path point to the server R6 would be copying the file to itself which would cause an error. To prevent this R6 checks to see if the source and destination file paths are the same and if they are doesn't do the copy.  The path from the server is obtained from the  path  used to launch R6 from the workstation and the path for the destination folder from the registry for the Object Sheet. These can look different, even though they both point to the same location. (Eg. one can be a UNC address and the other a mapped drive). In these cases R6 attempts the copy and causes a range check error.

Mike Weideli