Throwing this out to the collective wisdom.
I've recently rolled out a hosted environment for my application. So I'm in the cloud... I've been observing random hard application errors, particularly around running reports. Of course, it's not consistent. A user will be able to run a report with no errors just fine one time and then other times the same report will just result in an application crash. What I'm seeing in the Windows application log when this happens are mainly C6 errors. The Google gave me some recommendations about setting the EXE and the runtime DLLs read-only but I'm hoping that out there in Profox land this might ring some bells.
TIA
--
rk
--- StripMime Report -- processed MIME parts ---
multipart/alternative
text/plain (text body -- kept)
text/html
---
_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/BN4PR10MB091348E95DD8DE3980F337CBD2000@BN4PR10MB0913.namprd10.prod.outlook.com
** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
On Tue, Apr 11, 2017 at 7:30 AM, Richard Kaye <rkaye@invaluable.com> wrote:
> Throwing this out to the collective wisdom.
>
> I've recently rolled out a hosted environment for my application. So I'm in the cloud...
It's hard to see clearly with your head in the clouds...
Which cloud? I'm guessing multiple WIndows X VMs hosted on...
something. Azure? Amazon? Hosted server? What brand/version of all?
> I've been observing random hard application errors, particularly around running reports. Of course, it's not consistent.
Which VFP? Reports using VFP9 or VFP8 compatibility? New Report
listeners or old "classic" FRXs?
How was VFP installed? Are all the runtimes the same version? Are they
patched up to Sedna + service packs?
Install vFoxRun if you haven't already. This is a *GREAT* tool for
debugging (Thanks, Ed!) Then you can test things like VERSION(), and
REPORT FORM right from the commandline, in your runtime environment.
One owner of our vertical-niche app runs virtualized, using RDP and TS
to run multiple workstations on a hosted WInServer2008. There are lots
of kinks with TMPFILES and sharing...
> A user will be able to run a report with no errors just fine one time and then other times the same report will just result in an application crash. What I'm seeing in the Windows application log when this happens are mainly C6 errors. The Google gave me some recommendations about setting the EXE and the runtime DLLs read-only but I'm hoping that out there in Profox land this might ring some bells.
*ding*
--
Ted Roche & Associates, LLC
_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/CACW6n4u5TPL4Ya-_vQOFN_PDac3kawgGXoAr+5D3Si-Ljc_G-Q@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
Thanks, Ted. And I apologize for the initial vague description.
This is a Windows 2012 R2 VM in our own corporate "cloud". There is also another VM running SQL 2014 which it connects to via ODBC.
No VFP installation, per se. It's just my EXE and the appropriate DLLs/FLLs.
VFP9 SP2. All proper versions of DLLs to match. Using REPORTENGINE 90. Using XFRX previewer instead of the native previewer. Not using a ton of report listeners in general but of course, the XFRX previewer does.
I have a back door built into my EXE. It's not as slick as VFOXRUN but it gets the job done.
Yes, the TMPFILES/sharing stuff is definitely a bit on the tricky side. Our app config is typically set to a local folder on the C drive but when run via RDP we redirect to a unique location for each user logged in. Having said that, you've given me an idea to try out.
I also just added the R attribute to the 3 report*.app files. Since the majority of the crashes seem to revolve around reporting, maybe that will be the magic bullet.
I also just cleaned out any saved printer environments.
--
rk
-----Original Message-----
From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of Ted Roche
Sent: Tuesday, April 11, 2017 8:13 AM
To: profoxtech@leafe.com
Subject: Re: VFP EXE and RDS random crashes
On Tue, Apr 11, 2017 at 7:30 AM, Richard Kaye <rkaye@invaluable.com> wrote:
> Throwing this out to the collective wisdom.
>
> I've recently rolled out a hosted environment for my application. So I'm in the cloud...
It's hard to see clearly with your head in the clouds...
Which cloud? I'm guessing multiple WIndows X VMs hosted on...
something. Azure? Amazon? Hosted server? What brand/version of all?
> I've been observing random hard application errors, particularly around running reports. Of course, it's not consistent.
Which VFP? Reports using VFP9 or VFP8 compatibility? New Report
listeners or old "classic" FRXs?
How was VFP installed? Are all the runtimes the same version? Are they
patched up to Sedna + service packs?
Install vFoxRun if you haven't already. This is a *GREAT* tool for
debugging (Thanks, Ed!) Then you can test things like VERSION(), and
REPORT FORM right from the commandline, in your runtime environment.
One owner of our vertical-niche app runs virtualized, using RDP and TS
to run multiple workstations on a hosted WInServer2008. There are lots
of kinks with TMPFILES and sharing...
> A user will be able to run a report with no errors just fine one time and then other times the same report will just result in an application crash. What I'm seeing in the Windows application log when this happens are mainly C6 errors. The Google gave me some recommendations about setting the EXE and the runtime DLLs read-only but I'm hoping that out there in Profox land this might ring some bells.
*ding*
--
Ted Roche & Associates, LLC
[excessive quoting removed by server]
_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/BN4PR10MB09134354F4B0CB46C1BDCE7CD2000@BN4PR10MB0913.namprd10.prod.outlook.com
** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
>
> What I'm seeing in the Windows application log when this happens are
> mainly C6 errors.
>
C6 errors occur when VFP opens a file using memory mapping (APP, EXE, DLL,
mostly), accesses a part of the file that is mapped into memory and the
file isn't accessible. Usually this happens when the network was briefly
disconnected and the SMB session became invalid. Typical reasons are flaky
WiFi connections, slow VPNs or virus scanners suddenly detecting a
heuristic pattern.
--
Christof
--- StripMime Report -- processed MIME parts ---
multipart/alternative
text/plain (text body -- kept)
text/html
---
_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/CAL4QJhhcfTLJ1cU0Ky0kh4=r=nghJ_JiWPeC5ZD1Q2LO9hoHRg@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
Thanks for the details, Christof. Greatly appreciated. I had mentioned to my IT team that this appeared to be some kind of network related issue. I will pass this info on to them.
--
rk
-----Original Message-----
From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of Wollenhaupt, Christof
Sent: Tuesday, April 11, 2017 9:19 AM
To: profoxtech@leafe.com
Subject: Re: VFP EXE and RDS random crashes
>
> What I'm seeing in the Windows application log when this happens are
> mainly C6 errors.
>
C6 errors occur when VFP opens a file using memory mapping (APP, EXE, DLL,
mostly), accesses a part of the file that is mapped into memory and the
file isn't accessible. Usually this happens when the network was briefly
disconnected and the SMB session became invalid. Typical reasons are flaky
WiFi connections, slow VPNs or virus scanners suddenly detecting a
heuristic pattern.
--
Christof
--- StripMime Report -- processed MIME parts ---
multipart/alternative
text/plain (text body -- kept)
text/html
---
[excessive quoting removed by server]
_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/BN4PR10MB0913F59E811A6139A4C1D590D2000@BN4PR10MB0913.namprd10.prod.outlook.com
** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
Author: mbsoftwaresolutions@mbsoftwaresolutions.com
Posted: 2017-04-11 16:57:39 Link
On 2017-04-11 09:19, Wollenhaupt, Christof wrote:
>>
>> What I'm seeing in the Windows application log when this happens are
>> mainly C6 errors.
>>
>
> C6 errors occur when VFP opens a file using memory mapping (APP, EXE,
> DLL,
> mostly), accesses a part of the file that is mapped into memory and the
> file isn't accessible. Usually this happens when the network was
> briefly
> disconnected and the SMB session became invalid. Typical reasons are
> flaky
> WiFi connections, slow VPNs or virus scanners suddenly detecting a
> heuristic pattern.
To that point--would copying the FRX/FRT locally and running from there
be a better option to avoid that?
_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/817955805e901d38e697a5a150323c49@mbsoftwaresolutions.com
** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
>
> To that point--would copying the FRX/FRT locally and running from there be
> a better option to avoid that?
>
It would depend on which file is causing the problem... It certainly would
be worth a try. If the EXE or any of the REPORT*.APP files is on the
network it also would help to copy those to a local drive. Same is true for
any DLL or OCX you use.
Another issue that causes crashes mostly when printing, but usually
wouldn't result in a C6 exception, is the floating point problem. 15 years
ago HP printers where notoriously famous for changing the exception
handling for the floating point unit so that a division by zero caused a
crash instead of returning NaN (not a number).
To work around this, we have
DECLARE _fpreset in MSVCR71.DLL
_fpreset()
everywhere in our program where we access a printer driver. So before and
after printing a report, selecting a printer, listing printers, etc.
--
Christof
--- StripMime Report -- processed MIME parts ---
multipart/alternative
text/plain (text body -- kept)
text/html
---
_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/CAL4QJhhCqFtDP4G_kFBeRT4rmCQgg1WZL7o4gYc7FvrjgT4EjQ@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
IMO in general with multiuser applications the safest approach is to
programmatically copy the report FRX\FRT to the user's temp location
with unique filenames, run the report using the copied files, and delete
them afterward.
--
Alan Bourke
alanpbourke (at) fastmail (dot) fm
_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/1491995153.3691553.942325976.2F48D68D@webmail.messagingengine.com
** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
On Wed, 12 Apr 2017, at 10:58 AM, Wollenhaupt, Christof wrote:
> ago HP printers where notoriously famous for changing the exception
> handling for the floating point uni
Now they're famous for their PCL6 drivers *still* being a pile of crap.
--
Alan Bourke
alanpbourke (at) fastmail (dot) fm
_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/1491995212.3691655.942327608.708E8B4B@webmail.messagingengine.com
** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
I have vague memories of the floating point bug and will look at getting that in place as suggested.
Just to clarify here, all users are accessing the EXE using RDP. There is no "local" C drive as far as they are concerned. And while there is a drive mapped to a share, it is all self-contained on the same VM. So it seems odd that it might drop the network connection to itself but...
--
rk
-----Original Message-----
From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of Wollenhaupt, Christof
Sent: Wednesday, April 12, 2017 5:59 AM
To: profoxtech@leafe.com
Subject: Re: VFP EXE and RDS random crashes
>
> To that point--would copying the FRX/FRT locally and running from there be
> a better option to avoid that?
>
It would depend on which file is causing the problem... It certainly would
be worth a try. If the EXE or any of the REPORT*.APP files is on the
network it also would help to copy those to a local drive. Same is true for
any DLL or OCX you use.
Another issue that causes crashes mostly when printing, but usually
wouldn't result in a C6 exception, is the floating point problem. 15 years
ago HP printers where notoriously famous for changing the exception
handling for the floating point unit so that a division by zero caused a
crash instead of returning NaN (not a number).
To work around this, we have
DECLARE _fpreset in MSVCR71.DLL
_fpreset()
everywhere in our program where we access a printer driver. So before and
after printing a report, selecting a printer, listing printers, etc.
--
Christof
--- StripMime Report -- processed MIME parts ---
multipart/alternative
text/plain (text body -- kept)
text/html
---
[excessive quoting removed by server]
_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/BN4PR10MB091365E7D788ED2303B90859D2030@BN4PR10MB0913.namprd10.prod.outlook.com
** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.