Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Range check error in RB15.04 (x64)

edited July 2014 in General
Hi

I'm seeing a "Range check error" when running severl internal RB reports
in testing the 64bit version of our application.

Running the exact same reports in the 32bit version of our application
without additional changes works without incident.

The above results were identical when connected to either 32bit and
64bit database servers (nxServer running in interactive mode).


Oddly, it does not happen for all internal RB reports which leads me to
believe there is something these reports are doing [slightly]
differently which is triggering the error within the RB components.


Dev. env.: Windows 7 Pro (SP1), Delphi XE5 (upd 2), NexusDB 4.0005, RB
Pro 15.04. Note the reports and source were migrated from Delphi 7 and
RB 7 Pro.

_If_ I figure it out I'll post an update, but any assistance/guidance in
the interim is greatly appreciated.


The exception log is:
==============================================================
*** Server started ***
Time: [373290970] 17/07/14 10:52:53 AM
ExceptionInfo: nil
Exception: ERangeError
Message: Range check error
Filesize: 85241921
Filedate: 2014-07-17 10:52:24
Computer: -------
User: William
ThreadID: 7032
ProcessID: 6248
Version: 4.0005
AWE Enabled: False
--------------------------------------------------------------
Callstack (Frames):
[0000000000409213] System.ErrorAt (Line 5250, "System.pas")
[000000000040EBBE] System.@BoundErr (Line 15292, "System.pas")
[0000000000DE77A5] ppUtils.ppGetOrdPropValue (Line 2921, "ppUtils.pas")
[00000000011F7C6A] ppDBPipe.TppDBPipeline.GetMasterDataSource (Line 592,
"ppDBPipe.pas")
[00000000011F7B30] ppDBPipe.TppDBPipeline.BuildDetailPipelineList (Line
554, "ppDBPipe.pas")
[0000000001149BA0] ppDB.TppDataPipeline.StartOfMainReport (Line 1470,
"ppDB.pas")
[00000000010E8ECD] ppReport.TppReport.StartOfMainReport (Line 1930,
"ppReport.pas")
[00000000010DD640] ppEngine.TppEngine.Init (Line 2266, "ppEngine.pas")
[00000000010D9650] ppEngine.TppEngine.Generate (Line 561, "ppEngine.pas")
[00000000010D94F1] ppEngine.TppEngine.RequestPage (Line 517, "ppEngine.pas")
[00000000010E952D] ppReport.TppReport.RequestPage (Line 2130,
"ppReport.pas")
[0000000000E024A9] ppDevice.TppPublisher.DoOnPageRequest (Line 1328,
"ppDevice.pas")
[0000000000E01F08] ppDevice.TppPublisher.Publish (Line 1135, "ppDevice.pas")
[0000000000E03B2A] ppDevice.TppDevice.MakePageRequest (Line 2140,
"ppDevice.pas")
[0000000000E72F9E]
ppThreadedPageCache.TppPageRequestThread.ExecuteReport (Line 646,
"ppThreadedPageCache.pas")
[0000000000E72EF7] ppThreadedPageCache.TppPageRequestThread.Execute
(Line 598, "ppThreadedPageCache.pas")
[0000000000558A93] System.Classes.ThreadProc (Line 14561,
"System.Classes.pas")
[000000000041235B] System.ThreadWrapper (Line 23354, "System.pas")
[00000000773A59ED] BaseThreadInitThunk
[00000000775DC541] RtlUserThreadStart
==============================================================

Time: [373291079] 17/07/14 10:52:53 AM
ExceptionInfo: nil
Exception: ERangeError
Message: Range check error
Filesize: 85241921
Filedate: 2014-07-17 10:52:24
Computer: -------
User: William
ThreadID: 7032
ProcessID: 6248
Version: 4.0005
AWE Enabled: False
--------------------------------------------------------------
Callstack (Frames):
[00000000010E955F] ppReport.TppReport.RequestPage (Line 2136,
"ppReport.pas")
[0000000000E024A9] ppDevice.TppPublisher.DoOnPageRequest (Line 1328,
"ppDevice.pas")
[0000000000E01F08] ppDevice.TppPublisher.Publish (Line 1135, "ppDevice.pas")
[0000000000E03B2A] ppDevice.TppDevice.MakePageRequest (Line 2140,
"ppDevice.pas")
[0000000000E72F9E]
ppThreadedPageCache.TppPageRequestThread.ExecuteReport (Line 646,
"ppThreadedPageCache.pas")
[0000000000E72EF7] ppThreadedPageCache.TppPageRequestThread.Execute
(Line 598, "ppThreadedPageCache.pas")
[0000000000558A93] System.Classes.ThreadProc (Line 14561,
"System.Classes.pas")
[000000000041235B] System.ThreadWrapper (Line 23354, "System.pas")
[00000000773A59ED] BaseThreadInitThunk
[00000000775DC541] RtlUserThreadStart
==============================================================

Time: [373291142] 17/07/14 10:52:53 AM
ExceptionInfo: nil
Exception: ERangeError
Message: Range check error
Filesize: 85241921
Filedate: 2014-07-17 10:52:24
Computer: -------
User: William
ThreadID: 2268
ProcessID: 6248
Version: 4.0005
AWE Enabled: False
Current Window Caption: Print Preview
Current Window Class: TppPrintPreview
--------------------------------------------------------------
Callstack (Frames):
[0000000000E723F6]
ppThreadedPageCache.TppThreadedPageCache.ehExceptionTimer (Line 320,
"ppThreadedPageCache.pas")
[00000000007131E2] Vcl.ExtCtrls.TTimer.Timer (Line 3075, "Vcl.ExtCtrls.pas")
[0000000000712FF8] Vcl.ExtCtrls.TTimer.WndProc (Line 3032,
"Vcl.ExtCtrls.pas")
[000000000055EDA6] System.Classes.StdWndProc (Line 17031,
"System.Classes.pas")
[00000000774C9BD1] Unknown function at TranslateMessageEx
[00000000774C98DA] Unknown function at TranslateMessage
[00000000007AB434] Vcl.Forms.TApplication.ProcessMessage (Line 10288,
"Vcl.Forms.pas")
[00000000007AB4A8] Vcl.Forms.TApplication.HandleMessage (Line 10318,
"Vcl.Forms.pas")
[00000000007A3DED] Vcl.Forms.TCustomForm.ShowModal (Line 7085,
"Vcl.Forms.pas")
[0000000000DF7A6D] ppForms.TppForm.ShowModal (Line 692, "ppForms.pas")
[00000000010B8F4D] ppProd.TppProducer.PrintToScreen (Line 1833,
"ppProd.pas")
[00000000010B89E0] ppProd.TppProducer.Print (Line 1587, "ppProd.pas")
[00000000010E7887] ppReport.TppReport.Print (Line 1162, "ppReport.pas")
[0000000001DC483F]
URBClientPaymentsAllocations.TfmRBClientPaymentsAllocations.btnRunReportClick
(Line 714, "URBClientPaymentsAllocations.pas")
[0000000000623C76] Vcl.Controls.TControl.Click (Line 7341,
"Vcl.Controls.pas")
[000000000065A2CB] Vcl.StdCtrls.TCustomButton.Click (Line 5314,
"Vcl.StdCtrls.pas")
[0000000000838F6D] Vcl.Buttons.TBitBtn.Click (Line 1982, "Vcl.Buttons.pas")
[000000000065B2E4] Vcl.StdCtrls.TCustomButton.CNCommand (Line 5775,
"Vcl.StdCtrls.pas")
[000000000040F831] System.TObject.Dispatch (Line 16295, "System.pas")
[00000000006233B6] Vcl.Controls.TControl.WndProc (Line 7225,
"Vcl.Controls.pas")
[000000000062AA83] Vcl.Controls.TWinControl.WndProc (Line 10041,
"Vcl.Controls.pas")
[0000000000659D15] Vcl.StdCtrls.TButtonControl.WndProc (Line 5151,
"Vcl.StdCtrls.pas")
[0000000000622E92] Vcl.Controls.TControl.Perform (Line 7003,
"Vcl.Controls.pas")
[000000000062AC7E] Vcl.Controls.DoControlMsg (Line 10108,
"Vcl.Controls.pas")
[000000000062BFF8] Vcl.Controls.TWinControl.WMCommand (Line 10383,
"Vcl.Controls.pas")
[00000000007A18BD] Vcl.Forms.TCustomForm.WMCommand (Line 6155,
"Vcl.Forms.pas")
[000000000040F831] System.TObject.Dispatch (Line 16295, "System.pas")
[00000000006233B6] Vcl.Controls.TControl.WndProc (Line 7225,
"Vcl.Controls.pas")
[000000000062AA83] Vcl.Controls.TWinControl.WndProc (Line 10041,
"Vcl.Controls.pas")
[000000000079CCB0] Vcl.Forms.TCustomForm.WndProc (Line 4389,
"Vcl.Forms.pas")
[0000000000629CBC] Vcl.Controls.TWinControl.MainWndProc (Line 9753,
"Vcl.Controls.pas")
[000000000055EDA6] System.Classes.StdWndProc (Line 17031,
"System.Classes.pas")
[00000000774C9BD1] Unknown function at TranslateMessageEx
[00000000774C6AA8] Unknown function at SetTimer
[00000000774C6BAD] SendMessageW
[000007FEFBB00BBF] Unknown function at TaskDialog
[000007FEFBB047FE] Unknown function at TaskDialog
[00000000774C9BD1] Unknown function at TranslateMessageEx
[00000000774C3BFC] Unknown function at CallWindowProcW
[00000000774C3B78] CallWindowProcW
[000000000062AC1E] Vcl.Controls.TWinControl.DefaultHandler (Line 10080,
"Vcl.Controls.pas")
[000000000062431F] Vcl.Controls.TControl.WMLButtonUp (Line 7474,
"Vcl.Controls.pas")
[000000000040F831] System.TObject.Dispatch (Line 16295, "System.pas")
[00000000006233B6] Vcl.Controls.TControl.WndProc (Line 7225,
"Vcl.Controls.pas")
[000000000062AA83] Vcl.Controls.TWinControl.WndProc (Line 10041,
"Vcl.Controls.pas")
[0000000000659D15] Vcl.StdCtrls.TButtonControl.WndProc (Line 5151,
"Vcl.StdCtrls.pas")
[0000000000629CBC] Vcl.Controls.TWinControl.MainWndProc (Line 9753,
"Vcl.Controls.pas")
[000000000055EDA6] System.Classes.StdWndProc (Line 17031,
"System.Classes.pas")
[00000000774C9BD1] Unknown function at TranslateMessageEx
[00000000774C98DA] Unknown function at TranslateMessage
[00000000007AB434] Vcl.Forms.TApplication.ProcessMessage (Line 10288,
"Vcl.Forms.pas")
==============================================================

--
Regards,
Will Owyong
(GMT+10, Australia)

Comments

  • edited July 2014
    Hi William,

    Range check error can occasionally be difficult to track down. If you
    are able to recreate the error reliably with a certain report, I suggest
    starting my minimizing the report to try to isolate what is causing the
    error. Start by removing all event code related to the report. Then
    begin removing report components periodically to see if you can find the
    culprit.

    You might also try adding RBuilder\Source to your library path and
    tracing into the RB source when the error occurs. This could give you
    some clues as to what is causing the problem.

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited July 2014
    On 18/07/2014 1:00 AM, Nico Cizik (Digital Metaphors) wrote:

    Hi Nico!


    Ok, I think I've narrowed down the issue. I created a duplicate report
    from which I could cull report components from. I have found that it the
    problem lies somewhere in the Subreport implementation. The report I
    have has a subreport within a subreport.
    I.e.
    [Report]
    |
    ---->[SubReport]
    |
    ---->[SubReport]

    Deleting all subreports the report ran in the 64bit application, however
    I NEED to have this structure to display the data correctly.

    I will check the other problem reports I have found but am not sure as
    to what to do to fix it.

    --
    Regards,
    Will Owyong
    (GMT+10, Australia)
  • edited July 2014
    Hi Will,

    Please create a simple example (with nested subreports) that I can run
    here and demonstrates the error and send it in .zip format to
    support@digital-metaphors.com.

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.