NTDLL Access Violation - RB Enterprise 12.03, Delphi 7, Windows Server 2008
I am getting the following access violation on a Report Builder report. This
is a plain Windows 32 app.
The error does not occur when the application runs on a Windows Server 2003,
or a Windows XP workstation. The error occurs when the application runs on a
Windows 2008 server - no R2.
Access violation at address 77D38879 in module 'ntdll.dll'. Read of address
00000114
It appears to happen when calling ppReport1.Print with either a device type
of dtPDF or dtXLSReport.
Can you help me track down this error?
Thanks,
Steve Elliott
This discussion has been closed.
Comments
Which version of ReportBuilder and Delphi are you using? Are you able
to recreate this with a simple minimal application (Report and button on
a form)? Try setting your library path to RB source and tracing after
the AV to see where the exception is actually occurring.
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
message.
I have not yet tried to duplicate with a minimal application. I will see if
I can put one together.
Unforntunately, I do not have a development envirnoment on Windows Server
2008. So tracing into the source would be a problem.
I was hoping someone else had encountered the issue before.
I notice that if the call to ppReport1.Print is retried a time or two, it
generally succeeds on subsequent calls.
Here is a simple test program that replicates the issue on a Windows 2008
(non R2) server:
1. Drop a ppReport on a form.
2. Edit the report, put a label in the header of the report.
3. Add ppTypes to the user section of the form.
4. Drop a button on the form.
5. Add the following code to the onclick event of the button:
ppreport1.AllowPrintToFile := True;
ppReport1.ShowPrintDialog := false;
ppReport1.ShowCancelDialog := false;
ppReport1.showautosearchdialog := false;
ppReport1.PDFSettings.OpenPDFFile := false;
ppReport1.TextFileName := 'c:\test$$$.pdf';
ppReport1.PDFSettings.ScaleImages := False;
ppReport1.NoDataBehaviors := [ndBlankReport, ndMessageOnPage];
ppReport1.DeviceType := dtPDF;
ppReport1.Print;
It produces the error on a Windows 2008 Server first time the button is
clicked, but not subsequent times.
Exit the program and restart, it again produces the error the first time the
button is clicked but not subsequent times.
Sorry, I did not see the version number in the subject.
We have not seen anything like this before with any other customers.
One item that stands out in your code is the file location. I wonder if
perhaps trying to write to the root directory is causing a problem. You
might try changing this to a location you are sure you have write access
and see if that changes anything.
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
installation. It is never at the root.
But in any case, with the test app, the 2nd time you try to print, it
succeeds.
Interesting thing is though, in testing, actually moving the directory the
application is in has reduced the number of occurences of the error for a
short while.
The Print Spooler Service was not started on the server in question.
Once I started the Print Spooler Service on the server, the error message
went away.
Maybe an issue to log for future reference?
Anyway, thanks for responding.