1 (edited by RobLarge 15-01-2010 15:50:17)

Re: Range check exception

Here's an odd little bug, with annoying ramifications.

I just ran a test of Charles R's batch update to add determinations and ended up with two occurrences each with an additional determination added (which was the expected behaviour).

The I went to delete the new determinations (which were set as preferred). This caused an exception when I tried to save the changes.

exception class   : ERangeError
exception message : Range check error.

So tried a different approach, I made the determination I wanted to keep preferred, then I deleted the other without incident. So this looks like a hole in the exception handling. What should happen is a message should tell the user "Can't delete the preferred determination" or similar (better still, the delete button should be unavailable when the preferred determination is selected).

Just prior to typing this I decided to test one more time to make sure I could reproduce the problem. I added a spurious determination and saved it. Then edited again and tried to delete the new determination which was set as preferred. Again on save I got the exception, but this time I clicked the Close application button inadvertently, instead of the Continue application button.

When I restarted Recorder I discover that the record in question now has two determinations, both of which are preferred (demonstrating very well why the concept of the SQL Transaction was invented, and also that it has not been implemented here). Worse still when I edit either determination, the preferred tickbox at the bottom is unavailable, so I cannot make either the preferred one. It turns out that I can delete the original determination (which I wanted to keep), but not the new one, which I don't want (because of the exception).

Finally I had to add another determination, identical to the original one. This had the effect of making the second determination no longer preferred and then I was able to delete it.

Everything seems to be back to normal for now...

Rob Large
Wildlife Sites Officer
Wiltshire & Swindon Biological Records Centre

2

Re: Range check exception

Never got a response to this one. The range check exception has now occurred on another machine whilst trying to add a second determination to an occurrence. It cuases all kinds of stupid situations like the one I described above and takes a lot of juggling to correct.

can anyone at least explain what the exception means?

Rob Large
Wildlife Sites Officer
Wiltshire & Swindon Biological Records Centre

3

Re: Range check exception

Hi Rob

I just tried this - created 2 determinations of 1 occurrence, then deleted the preferred. It just marked the other as preferred and was fine. So I hacked the db to have 2 determinations both preferred at the same time. This time it deleted the one I asked it to with no problems, because the validation check that one was being left as preferred was passed. So I can't reproduce your issues.

Can anyone else reproduce Rob's determination problems?

John van Breda
Biodiverse IT

4

Re: Range check exception

Funnily enough John I cannot reproduce it myself with any consistency but immediately after reading your response I tried and it happened again, I repeated it on the same record and it happened again. Then I tried a different record and it didn't happen (although this second record was one of the ones which caused it the first time I saw it.)

Do you have any idea what the exception message means? It happens when the occurrence is saved, not when the determination tab is saved (with the tick-button)

Its not a killer and at least the taxon_determination table is one from which deletions can be made without too much risk, but I'm the only person here who would know how to do that.

Rob Large
Wildlife Sites Officer
Wiltshire & Swindon Biological Records Centre

5

Re: Range check exception

I'm afraid it is a pretty generic error that happens whenever you try to assign a value to something that is out of range or access an item in an array at an index position that does not exist. I think this is the sort of thing that would be much easier to resolve by the developers since they can debug the code.

Lynn, will you ask Dorset Software to take a look into this at some point please?

John van Breda
Biodiverse IT

6

Re: Range check exception

Would the full text of the error report be of any assistance?

date/time         : 2010-01-29, 12:08:26, 688ms
computer name     : WWTMG5-2
user name         : robl
operating system  : Windows XP Service Pack 3 build 2600
system language   : English
system up time    : 3 hours 5 minutes
program up time   : 1 minute 56 seconds
processors        : 2x Intel(R) Pentium(R) D CPU 3.00GHz
physical memory   : 304/999 MB (free/total)
free disk space   : (C:) 37.94 GB
display mode      : 1280x960, 32 bit
process id        : $5a0
allocated memory  : 26.06 MB
command line      : RecorderApp.exe /328458
executable        : RecorderApp.exe
exec. date/time   : 2009-11-23 08:25
version           : 6.14.5.218
madExcept version : 2.7h
exception class   : EAccessViolation
exception message : Access violation at address 00404745 in module 'RecorderApp.exe'. Read of address 830000DA.

main thread ($834):
00404745 RecorderApp.exe 
7e4196c2 user32.dll       DispatchMessageA

modules:
00340000 C4DLL.DLL                1.0.0.1          \\wwtsql01\d$\recorder6
003b0000 MS5User.Dll              5.0.0.4          \\wwtsql01\d$\recorder6
00400000 RecorderApp.exe          6.14.5.218       \\wwtsql01\d$\recorder6
013b0000 ms5cnv.dll               5.0.0.10         \\wwtsql01\d$\recorder6
01b50000 odbcint.dll              3.525.1132.0     C:\WINDOWS\system32
029b0000 xpsp2res.dll             5.1.2600.5512    C:\WINDOWS\system32
036a0000 SQLOLEDB.RLL             2000.85.1132.0   C:\Program Files\Common Files\System\Ole DB
036b0000 msadcer.dll              2.81.1132.0      C:\Program Files\Common Files\System\msadc
039a0000 GoToKey.ocx              6.0.1.10         \\wwtsql01\recorder6\Addins
03c10000 LastKeyUpdate.ocx        6.0.0.6          \\wwtsql01\recorder6\Addins
03e10000 NBNExchange.ocx          6.13.2.24        \\wwtsql01\recorder6\Addins
04060000 Phenology.ocx            6.0.1.10         \\wwtsql01\recorder6\Addins
04380000 Recorder_3_Import_v6.ocx 6.0.0.52         \\wwtsql01\recorder6\Addins
045e0000 ShowUnchecked.ocx        6.0.0.13         \\wwtsql01\recorder6\Addins
04810000 StdValLib.dll            6.14.3.208       \\Wwtsql01\recorder6\Addins
04e40000 SFSShell.dll             1.21.0.143       C:\Program Files\HPQ\IAM\Bin
04ef0000 Normaliz.dll             6.0.5441.0       C:\WINDOWS\system32
05050000 CNLB0M_D2473.DLL         0.3.2.0          C:\WINDOWS\System32\spool\DRIVERS\W32X86\3
056e0000 CNLB0809_D2473.DLL       0.3.2.0          C:\WINDOWS\System32\spool\DRIVERS\W32X86\3
058f0000 ItMsg.dll                1.18.0.294       C:\Program Files\HPQ\IAM\bin
10000000 MS5.Dll                  5.0.0.12         \\wwtsql01\d$\recorder6
20000000 xpsp3res.dll             5.1.2600.5512    C:\WINDOWS\system32
3d930000 WININET.dll              7.0.6000.16981   C:\WINDOWS\system32
3dfd0000 iertutil.dll             7.0.6000.16981   C:\WINDOWS\system32
4dd00000 sqloledb.dll             2000.85.1132.0   C:\Program Files\Common Files\System\Ole DB
4de10000 msado15.dll              2.81.1132.0      C:\Program Files\Common Files\System\ado
4ec50000 gdiplus.dll              5.2.6001.22319   C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.6001.22319_x-ww_f0b4c2df
593f0000 wiashext.dll             5.1.2600.5512    C:\WINDOWS\system32
5ad70000 uxtheme.dll              6.0.2900.5512    C:\WINDOWS\system32
5b860000 NETAPI32.dll             5.1.2600.5694    C:\WINDOWS\system32
5d090000 comctl32.dll             5.82.2900.5512   C:\WINDOWS\system32
5edd0000 olepro32.dll             5.1.2600.5512    C:\WINDOWS\system32
60870000 dnaapphook.dll                            C:\Program Files\NetSupport\NetSupport DNA\Client\Components
60e30000 MSDATL3.dll              2.81.1132.0      C:\Program Files\Common Files\System\Ole DB
662b0000 hnetcfg.dll              5.1.2600.5512    C:\WINDOWS\system32
69b10000 msxml4.dll               4.20.9876.0      c:\WINDOWS\system32
6a900000 CNLB0MUI_D2473.DLL       0.3.2.0          C:\WINDOWS\System32\spool\DRIVERS\W32X86\3
6d4f0000 DBNETLIB.DLL             2000.85.1132.0   C:\WINDOWS\system32
6d6e0000 scrchpg.dll              6.0.3.857        C:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus 6.0 for Windows Workstations
71a50000 mswsock.dll              5.1.2600.5625    C:\WINDOWS\system32
71a90000 wshtcpip.dll             5.1.2600.5512    C:\WINDOWS\System32
71aa0000 WS2HELP.dll              5.1.2600.5512    C:\WINDOWS\system32
71ab0000 WS2_32.dll               5.1.2600.5512    C:\WINDOWS\system32
71ad0000 wsock32.dll              5.1.2600.5512    C:\WINDOWS\system32
71b20000 mpr.dll                  5.1.2600.5512    C:\WINDOWS\system32
71bf0000 SAMLIB.dll               5.1.2600.5512    C:\WINDOWS\System32
71c10000 ntlanman.dll             5.1.2600.5512    C:\WINDOWS\System32
71c80000 NETRAP.dll               5.1.2600.5512    C:\WINDOWS\System32
71c90000 NETUI1.dll               5.1.2600.5512    C:\WINDOWS\System32
71cd0000 NETUI0.dll               5.1.2600.5512    C:\WINDOWS\System32
71f80000 security.dll             5.1.2600.5512    C:\WINDOWS\system32
73000000 winspool.drv             5.1.2600.5512    C:\WINDOWS\system32
73160000 oledb32.dll              2.81.1132.0      C:\Program Files\Common Files\System\Ole DB
732e0000 RICHED32.DLL             5.1.2600.0       C:\WINDOWS\system32
73b30000 mscms.dll                5.1.2600.5627    C:\WINDOWS\system32
73ba0000 sti.dll                  5.1.2600.5512    C:\WINDOWS\system32
74060000 msadce.dll               2.81.3002.0      C:\Program Files\Common Files\System\msadc
74320000 odbc32.dll               3.525.1132.0     C:\WINDOWS\system32
74720000 MSCTF.dll                5.1.2600.5512    C:\WINDOWS\system32
74ae0000 CFGMGR32.dll             5.1.2600.5512    C:\WINDOWS\system32
74e30000 RICHED20.dll             5.30.23.1230     C:\WINDOWS\system32
750b0000 RESUTILS.DLL             5.1.2600.5512    C:\WINDOWS\system32
750f0000 MTXCLU.DLL               2001.12.4414.706 C:\WINDOWS\system32
75130000 colbact.DLL              2001.12.4414.700 C:\WINDOWS\system32
75350000 OLEDB32R.DLL             2.81.1132.0      C:\Program Files\Common Files\System\Ole DB
754d0000 CRYPTUI.dll              5.131.2600.5512  C:\WINDOWS\system32
755c0000 msctfime.ime             5.1.2600.5512    C:\WINDOWS\system32
75f60000 drprov.dll               5.1.2600.5512    C:\WINDOWS\System32
75f70000 davclnt.dll              5.1.2600.5512    C:\WINDOWS\System32
75f80000 browseui.dll             6.0.2900.5512    C:\WINDOWS\system32
76390000 IMM32.DLL                5.1.2600.5512    C:\WINDOWS\system32
763b0000 comdlg32.dll             6.0.2900.5512    C:\WINDOWS\system32
765b0000 MSDART.DLL               2.81.1132.0      C:\WINDOWS\system32
76600000 CSCDLL.dll               5.1.2600.5512    C:\WINDOWS\System32
76620000 comsvcs.dll              2001.12.4414.702 C:\WINDOWS\system32
76760000 mf3216.dll               5.1.2600.5512    C:\WINDOWS\system32
76780000 SHFolder.dll             6.0.2900.5512    C:\WINDOWS\system32
76790000 cryptdll.dll             5.1.2600.5512    C:\WINDOWS\system32
767a0000 ntdsapi.dll              5.1.2600.5512    C:\WINDOWS\system32
76990000 ntshrui.dll              5.1.2600.5512    C:\WINDOWS\system32
769c0000 USERENV.dll              5.1.2600.5512    C:\WINDOWS\system32
76b20000 ATL.DLL                  3.5.2284.2       C:\WINDOWS\system32
76b40000 winmm.dll                5.1.2600.5512    C:\WINDOWS\system32
76c30000 WINTRUST.dll             5.131.2600.5512  C:\WINDOWS\system32
76c90000 IMAGEHLP.dll             5.1.2600.5512    C:\WINDOWS\system32
76d10000 CLUSAPI.DLL              5.1.2600.5512    C:\WINDOWS\system32
76d60000 iphlpapi.dll             5.1.2600.5512    C:\WINDOWS\system32
76f20000 DNSAPI.dll               5.1.2600.5625    C:\WINDOWS\system32
76f60000 WLDAP32.dll              5.1.2600.5512    C:\WINDOWS\system32
76fb0000 winrnr.dll               5.1.2600.5512    C:\WINDOWS\System32
76fc0000 rasadhlp.dll             5.1.2600.5512    C:\WINDOWS\system32
76fd0000 CLBCATQ.DLL              2001.12.4414.700 C:\WINDOWS\system32
77050000 COMRes.dll               2001.12.4414.700 C:\WINDOWS\system32
77120000 oleaut32.dll             5.1.2600.5512    C:\WINDOWS\system32
773d0000 comctl32.dll             6.0.2900.5512    C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83
774e0000 ole32.dll                5.1.2600.5512    C:\WINDOWS\system32
77920000 SETUPAPI.dll             5.1.2600.5512    C:\WINDOWS\system32
77a20000 cscui.dll                5.1.2600.5512    C:\WINDOWS\System32
77a80000 crypt32.dll              5.131.2600.5512  C:\WINDOWS\system32
77b20000 MSASN1.dll               5.1.2600.5875    C:\WINDOWS\system32
77b40000 appHelp.dll              5.1.2600.5512    C:\WINDOWS\system32
77c00000 version.dll              5.1.2600.5512    C:\WINDOWS\system32
77c10000 msvcrt.dll               7.0.2600.5512    C:\WINDOWS\system32
77c70000 msv1_0.dll               5.1.2600.5876    C:\WINDOWS\system32
77dd0000 advapi32.dll             5.1.2600.5755    C:\WINDOWS\system32
77e70000 RPCRT4.dll               5.1.2600.5795    C:\WINDOWS\system32
77f10000 GDI32.dll                5.1.2600.5698    C:\WINDOWS\system32
77f60000 SHLWAPI.dll              6.0.2900.5512    C:\WINDOWS\system32
77fe0000 Secur32.dll              5.1.2600.5834    C:\WINDOWS\system32
7c000000 MSVCR70.dll              7.0.9466.0       C:\WINDOWS\system32
7c800000 kernel32.dll             5.1.2600.5781    C:\WINDOWS\system32
7c900000 ntdll.dll                5.1.2600.5755    C:\WINDOWS\system32
7c9c0000 shell32.dll              6.0.2900.5622    C:\WINDOWS\system32
7e290000 shdocvw.dll              6.0.2900.5512    C:\WINDOWS\system32
7e410000 user32.dll               5.1.2600.5512    C:\WINDOWS\system32
7e4b0000 HHCtrl.ocx               5.2.3790.4110    C:\WINDOWS\system32
7e720000 SXS.DLL                  5.1.2600.5512    C:\WINDOWS\system32

Rob Large
Wildlife Sites Officer
Wiltshire & Swindon Biological Records Centre

7

Re: Range check exception

I'll ask Dorset to look into this.
Thanks for raising it.

Lynn