For the first time in 24 years some users are getting the scrolling "Record is not available" in FPW 2.5. This error is extremely annoying because it can't be trapped by an error handler, and it has no error number. I can only rely on users to tell me it's happening, and have no way to time stamp it. The program is running on Terminal Services with Windows Server 2008 as the file server.
There are 4 terminal services servers, 1 file server, and approximately 40 users. I have been told this happens on 2 unrelated programs each hosted on the same server, although this is not verified. This makes me think this may not be a software issue, hut instead a hardware issue. This started when 5 new employees started. 5 more simultaneous users, but these users are only using one of the programs. It only happens for a few minutes then clears itself. It happens maybe 2 times a day for 5-10 minutes and everyone has to wait. I've gone through google and the leafe archives and found some hints. I think this is a hardware issue, where some rogue task is taking down the file server's or terminal server's performance. The hardware guy seems to think it's a software issue, even though 2 separate, distinct programs are having issues and they don't have any interaction between them.
1. I recreated the indexes from scratch, not just reindex. 2. The line code that triggers this
set century on replace gemdebto.dmmemo with gemdebto.dmmemo+chr(13)+chr(13)+chr(10)+"Notes:"+dtoc(date())+' '+time()+' '+"Computer:"+padr(memuser,15,' ')+' '+memnotes flush
if rlock() replace debt.lastworked with date(), debt.nxt_con_dt with date()+7 flush endif
I know I can do that in one line with one replace command, and one flush.
Are Flushes necessary on a modern setup like this? Set autosave is on, should it be set off? Could that be causing too much network traffic? I can't believe that it would with only 40 people.
Any ideas?
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html ---
On 02/06/2017 11:26, Michael Madigan wrote:
<snip> 2. The line code that triggers this
set century on replace gemdebto.dmmemo with gemdebto.dmmemo+chr(13)+chr(13)+chr(10)+"Notes:"+dtoc(date())+' '+time()+' '+"Computer:"+padr(memuser,15,' ')+' '+memnotes flush
Why no rlock() before the replace? In a multi-user setup using fpw2.6 you should be locking before the replace, then unlock after.
if rlock() replace debt.lastworked with date(), debt.nxt_con_dt with date()+7 flush endif
I know I can do that in one line with one replace command, and one flush.
You should have an UNLOCK after the replace then you can flush or not. I have found that if you move off the record after the replace (go top say) then it flushes anyway.
HTH
Peter
This communication is intended for the person or organisation to whom it is addressed. The contents are confidential and may be protected in law. Unauthorised use, copying or disclosure of any of it may be unlawful. If you have received this message in error, please notify us immediately by telephone or email.
www.whisperingsmith.com
Whispering Smith Ltd Head Office:61 Great Ducie Street, Manchester M3 1RR. Tel:0161 831 3700 Fax:0161 831 3715
London Office:17-19 Foley Street, London W1W 6DW Tel:0207 299 7960
I have an unlock in the show gets snippet, which happens right after this code, but you're suggesting the unlock occur before the flush?
From: Peter Cushing pcushing@whisperingsmith.com To: profox@leafe.com Sent: Friday, June 2, 2017 6:44 AM Subject: Re: "Record is not available" error in FPW 2.6
On 02/06/2017 11:26, Michael Madigan wrote:
<snip> 2. The line code that triggers this
set century on replace gemdebto.dmmemo with gemdebto.dmmemo+chr(13)+chr(13)+chr(10)+"Notes:"+dtoc(date())+' '+time()+' '+"Computer:"+padr(memuser,15,' ')+' '+memnotes flush
Why no rlock() before the replace? In a multi-user setup using fpw2.6 you should be locking before the replace, then unlock after.
if rlock() replace debt.lastworked with date(), debt.nxt_con_dt with date()+7 flush endif
I know I can do that in one line with one replace command, and one flush.
You should have an UNLOCK after the replace then you can flush or not. I have found that if you move off the record after the replace (go top say) then it flushes anyway.
HTH
Peter
This communication is intended for the person or organisation to whom it is addressed. The contents are confidential and may be protected in law. Unauthorised use, copying or disclosure of any of it may be unlawful. If you have received this message in error, please notify us immediately by telephone or email.
www.whisperingsmith.com
Whispering Smith Ltd Head Office:61 Great Ducie Street, Manchester M3 1RR. Tel:0161 831 3700 Fax:0161 831 3715
London Office:17-19 Foley Street, London W1W 6DW Tel:0207 299 7960
[excessive quoting removed by server]
On 02/06/2017 12:12, Michael Madigan wrote:
I have an unlock in the show gets snippet, which happens right after this code, but you're suggesting the unlock occur before the flush?
Yes. When I worked on FPW2.6 stuff we always had a save something like this.
if <saveexistingrecord> if RLOCK() replace ... etc unlock * move off record to flush skip skip -1 ELSE * put up messagebox and/or send email. ENDIF else * new record - m. vars should have been set up insert into <table> from memvar endif
Peter
This communication is intended for the person or organisation to whom it is addressed. The contents are confidential and may be protected in law. Unauthorised use, copying or disclosure of any of it may be unlawful. If you have received this message in error, please notify us immediately by telephone or email.
www.whisperingsmith.com
Whispering Smith Ltd Head Office:61 Great Ducie Street, Manchester M3 1RR. Tel:0161 831 3700 Fax:0161 831 3715
London Office:17-19 Foley Street, London W1W 6DW Tel:0207 299 7960
IMHO, if you have a RLOCK() / UNLOCK you don't need the FLUSH command. I remember, but it is far, that the fact to lock a rcord forces the 'flush'. Can someone agree or disagree ?
The Foxil
Virus scanner at the server?
On Fri, Jun 2, 2017 at 6:26 PM, Michael Madigan mmadi10699@yahoo.com wrote:
For the first time in 24 years some users are getting the scrolling "Record is not available" in FPW 2.5. This error is extremely annoying because it can't be trapped by an error handler, and it has no error number. I can only rely on users to tell me it's happening, and have no way to time stamp it. The program is running on Terminal Services with Windows Server 2008 as the file server.
There are 4 terminal services servers, 1 file server, and approximately 40 users. I have been told this happens on 2 unrelated programs each hosted on the same server, although this is not verified. This makes me think this may not be a software issue, hut instead a hardware issue. This started when 5 new employees started. 5 more simultaneous users, but these users are only using one of the programs. It only happens for a few minutes then clears itself. It happens maybe 2 times a day for 5-10 minutes and everyone has to wait. I've gone through google and the leafe archives and found some hints.
The IT guy says no.
From: Man-wai Chang changmw@gmail.com To: ProFox Email List profox@leafe.com Sent: Friday, June 2, 2017 9:04 AM Subject: Re: "Record is not available" error in FPW 2.6
Virus scanner at the server?
On Fri, Jun 2, 2017 at 6:26 PM, Michael Madigan mmadi10699@yahoo.com wrote:
For the first time in 24 years some users are getting the scrolling "Record is not available" in FPW 2.5. This error is extremely annoying because it can't be trapped by an error handler, and it has no error number. I can only rely on users to tell me it's happening, and have no way to time stamp it. The program is running on Terminal Services with Windows Server 2008 as the file server.
There are 4 terminal services servers, 1 file server, and approximately 40 users. I have been told this happens on 2 unrelated programs each hosted on the same server, although this is not verified. This makes me think this may not be a software issue, hut instead a hardware issue. This started when 5 new employees started. 5 more simultaneous users, but these users are only using one of the programs. It only happens for a few minutes then clears itself. It happens maybe 2 times a day for 5-10 minutes and everyone has to wait. I've gone through google and the leafe archives and found some hints.
Tell him to set the virus/malware scanner to exclude Foxpro data files, or maybe the whole folder containing them. See if the problem went away...
On Sat, Jun 3, 2017 at 11:33 AM, Michael Madigan mmadi10699@yahoo.com wrote:
The IT guy says no.
From: Man-wai Chang changmw@gmail.com
Virus scanner at the server?
Here are some of the corrections I made so far.
1. Set reprocess to 30 seconds otherwise Foxpro tries and retries to lock the record, and it never gets logged as an error. 2. Some screens did not have the READ NOLOCK box. checked. These errors only show up now because of the added users.
3. Some of the new users were minimizing screens instead of closing them, then opening up new instances of the program. I will make those screens non-minimiza-able
Thanks for all your suggestions so far, keep them coming.
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html ---
We've checked that, thank you.
From: Man-wai Chang changmw@gmail.com To: ProFox Email List profox@leafe.com Sent: Tuesday, June 6, 2017 7:24 AM Subject: Re: "Record is not available" error in FPW 2.6
Tell him to set the virus/malware scanner to exclude Foxpro data files, or maybe the whole folder containing them. See if the problem went away...
On Sat, Jun 3, 2017 at 11:33 AM, Michael Madigan mmadi10699@yahoo.com wrote:
The IT guy says no.
From: Man-wai Chang changmw@gmail.com
Virus scanner at the server?
Final report So even though there were only 40 people logged in, 20 of those people had the program open twice. This exposed bugs that were there all along. Also there were too many indexes. These were set up to make it blazingly fast for the user, but the updates were taking too long because of that, causing the 'record not available" error. This system now should be able to handle hundreds of users. Thank you to everyone who offered suggestions. From: Michael Madigan mmadi10699@yahoo.com To: ProFox Email List profox@leafe.com Sent: Wednesday, June 7, 2017 12:40 AM Subject: Re: "Record is not available" error in FPW 2.6
We've checked that, thank you.
From: Man-wai Chang changmw@gmail.com To: ProFox Email List profox@leafe.com Sent: Tuesday, June 6, 2017 7:24 AM Subject: Re: "Record is not available" error in FPW 2.6
Tell him to set the virus/malware scanner to exclude Foxpro data files, or maybe the whole folder containing them. See if the problem went away...
On Sat, Jun 3, 2017 at 11:33 AM, Michael Madigan mmadi10699@yahoo.com wrote:
The IT guy says no.
From: Man-wai Chang changmw@gmail.com
Virus scanner at the server?
Try removing the hardware caching on the drive in the device manager on the server.
Device manager, right click on the drive and select properties and if you have a policies tab then unselect the "enable write caching on the device" option.
Dave
-----Original Message----- From: ProFox [mailto:profox-bounces@leafe.com] On Behalf Of Michael Madigan Sent: 02 June 2017 11:27 To: ProFox Email List profox@leafe.com Subject: "Record is not available" error in FPW 2.6
For the first time in 24 years some users are getting the scrolling "Record is not available" in FPW 2.5. This error is extremely annoying because it can't be trapped by an error handler, and it has no error number. I can only rely on users to tell me it's happening, and have no way to time stamp it. The program is running on Terminal Services with Windows Server 2008 as the file server.
There are 4 terminal services servers, 1 file server, and approximately 40 users. I have been told this happens on 2 unrelated programs each hosted on the same server, although this is not verified. This makes me think this may not be a software issue, hut instead a hardware issue. This started when 5 new employees started. 5 more simultaneous users, but these users are only using one of the programs. It only happens for a few minutes then clears itself. It happens maybe 2 times a day for 5-10 minutes and everyone has to wait. I've gone through google and the leafe archives and found some hints. I think this is a hardware issue, where some rogue task is taking down the file server's or terminal server's performance. The hardware guy seems to think it's a software issue, even though 2 separate, distinct programs are having issues and they don't have any interaction between them.
1. I recreated the indexes from scratch, not just reindex. 2. The line code that triggers this
set century on replace gemdebto.dmmemo with gemdebto.dmmemo+chr(13)+chr(13)+chr(10)+"Notes:"+dtoc(date())+' '+time()+' '+"Computer:"+padr(memuser,15,' ')+' '+memnotes flush
if rlock() replace debt.lastworked with date(), debt.nxt_con_dt with date()+7 flush endif
I know I can do that in one line with one replace command, and one flush.
Are Flushes necessary on a modern setup like this? Set autosave is on, should it be set off? Could that be causing too much network traffic? I can't believe that it would with only 40 people.
Any ideas?
--- 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/238495782.247263.1496399207964@mail.y... ** 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 been fighting a cannot find a transaction the past two days myself. Not in FPW or VFP but the work ERP in java.
Damned easy fix when I switched to the correct company in the ERP because this plant in Canada and I was looking in USA. My users don't use a sig in their email and I had to remember that they were in the sole Canada plant by their name. OOPS!
On Fri, Jun 2, 2017 at 8:56 AM, Dave Crozier DaveC@flexipol.co.uk wrote:
Try removing the hardware caching on the drive in the device manager on the server.
Device manager, right click on the drive and select properties and if you have a policies tab then unselect the "enable write caching on the device" option.
Dave
-----Original Message----- From: ProFox [mailto:profox-bounces@leafe.com] On Behalf Of Michael Madigan Sent: 02 June 2017 11:27 To: ProFox Email List profox@leafe.com Subject: "Record is not available" error in FPW 2.6
For the first time in 24 years some users are getting the scrolling "Record is not available" in FPW 2.5. This error is extremely annoying because it can't be trapped by an error handler, and it has no error number. I can only rely on users to tell me it's happening, and have no way to time stamp it. The program is running on Terminal Services with Windows Server 2008 as the file server.
There are 4 terminal services servers, 1 file server, and approximately 40 users. I have been told this happens on 2 unrelated programs each hosted on the same server, although this is not verified. This makes me think this may not be a software issue, hut instead a hardware issue. This started when 5 new employees started. 5 more simultaneous users, but these users are only using one of the programs. It only happens for a few minutes then clears itself. It happens maybe 2 times a day for 5-10 minutes and everyone has to wait. I've gone through google and the leafe archives and found some hints. I think this is a hardware issue, where some rogue task is taking down the file server's or terminal server's performance. The hardware guy seems to think it's a software issue, even though 2 separate, distinct programs are having issues and they don't have any interaction between them.
- I recreated the indexes from scratch, not just reindex. 2. The line
code that triggers this
set century on replace gemdebto.dmmemo with gemdebto.dmmemo+chr(13)+chr( 13)+chr(10)+"Notes:"+dtoc(date())+' '+time()+' '+"Computer:"+padr(memuser,15,' ')+' '+memnotes flush
if rlock() replace debt.lastworked with date(), debt.nxt_con_dt with date()+7 flush endif
I know I can do that in one line with one replace command, and one flush.
Are Flushes necessary on a modern setup like this? Set autosave is on, should it be set off? Could that be causing too much network traffic? I can't believe that it would with only 40 people.
Any ideas?
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html
[excessive quoting removed by server]
On Fri, Jun 2, 2017 at 6:26 AM, Michael Madigan mmadi10699@yahoo.com wrote:
For the first time in 24 years some users are getting the scrolling "Record is not available" in FPW 2.5. This error is extremely annoying because it can't be trapped by an error handler, and it has no error number.
That's because you're in a RETRY loop, and your REPROCESS settings aren't allowing it to fail and fall into the error handler.
There are 4 terminal services servers, 1 file server, and approximately 40 users. I have been told this happens on 2 unrelated programs each hosted on the same server, although this is not verified. This makes me think this may not be a software issue, hut instead a hardware issue.
With the same information, my first thought that this was a network/OS locking configuration problem.
This started when 5 new employees started.
Well, that's interesting! Are they using new machines? Are they configured the same way as the existing machines? Are they patched up-to-date? Are they running the same AV as the others? Same exclusions? That's where I'd look first -- the thing that last changed.
You're running 16-bit FPW 2.5? How do you install it for the new employees? How do you patch it? Are the runtime libraries the same? How about the CONFIG.FPW? CONFIG.NT? What's the networking protocol? Are you running SMB 1, 2, or 3? How about oplocks?
It only happens for a few minutes then clears itself. It happens maybe 2 times a day for 5-10 minutes and everyone has to wait.
Sounds like a stale lock isn't getting cleared immediately. Hardware errors that clear up are more rare, though not impossible.
I think this is a hardware issue, where some rogue task is taking down the file server's or terminal server's performance.
I still don't get how this is "hardware."
The hardware guy seems to think it's a software issue,
Well, yeah.
even though 2 separate, distinct programs are having issues and they don't have any interaction between them.
Don't they run the same runtimes, on the same OS, using the same network protocols, to talk to the same servers?
Never mind. Just re-read the post and realized for some reason you are using Terminal Services in the middle. In that case, none of my suggestions make a whit of sense.
On Fri, Jun 2, 2017 at 10:32 AM, Ted Roche tedroche@gmail.com wrote:
There are 4 terminal services servers, 1 file server, and approximately 40 users.
Some of them still apply
From: Ted Roche tedroche@gmail.com To: "profox@leafe.com" profox@leafe.com Sent: Friday, June 2, 2017 2:25 PM Subject: Re: "Record is not available" error in FPW 2.6
Never mind. Just re-read the post and realized for some reason you are using Terminal Services in the middle. In that case, none of my suggestions make a whit of sense.
On Fri, Jun 2, 2017 at 10:32 AM, Ted Roche tedroche@gmail.com wrote:
There are 4 terminal services servers, 1 file server, and approximately 40 users.
So last night I created a routine to delete and rebuild one of the database's indexes by scratch. I also packed it for added measure. The other already gets rebuilt every night from scratch. I also packed that database. I called the supervisor today at 5:00 and she said everything worked ok but it was "slow" for about 10 minutes, whatever that means. I still think I have either a rogue software task starting and stopping, or some knucklehead downloading movies. or music or something. So the next thing I'm going to do is remove some unnecessary tags that are no longer needed, and add in an unlock command right after the write.
From: Ted Roche tedroche@gmail.com To: "profox@leafe.com" profox@leafe.com Sent: Friday, June 2, 2017 2:25 PM Subject: Re: "Record is not available" error in FPW 2.6
Never mind. Just re-read the post and realized for some reason you are using Terminal Services in the middle. In that case, none of my suggestions make a whit of sense.
On Fri, Jun 2, 2017 at 10:32 AM, Ted Roche tedroche@gmail.com wrote:
There are 4 terminal services servers, 1 file server, and approximately 40 users.
Thanks for your response, Ted. My answers are embedded in your answers.
From: Ted Roche tedroche@gmail.com To: "profox@leafe.com" profox@leafe.com Sent: Friday, June 2, 2017 10:32 AM Subject: Re: "Record is not available" error in FPW 2.6
On Fri, Jun 2, 2017 at 6:26 AM, Michael Madigan mmadi10699@yahoo.com wrote:
For the first time in 24 years some users are getting the scrolling "Record is not available" in FPW 2.5. This error is extremely annoying because it can't be trapped by an error handler, and it has no error number.
That's because you're in a RETRY loop, and your REPROCESS settings aren't allowing it to fail and fall into the error handler.
From what I've read on the internet, this error never gets trapped, regardless. What would you recommend the reprocess be set to? There are 4 terminal services servers, 1 file server, and approximately 40 users. I have been told this happens on 2 unrelated programs each hosted on the same server, although this is not verified. This makes me think this may not be a software issue, hut instead a hardware issue.
With the same information, my first thought that this was a network/OS locking configuration problem.
This started when 5 new employees started.
Well, that's interesting! Are they using new machines? Are they configured the same way as the existing machines? Are they patched up-to-date? Are they running the same AV as the others? Same exclusions? That's where I'd look first -- the thing that last changed. They are using terminal services with the same setup profile as the other machines.
You're running 16-bit FPW 2.5? How do you install it for the new employees? How do you patch it? Are the runtime libraries the same? How about the CONFIG.FPW? CONFIG.NT? What's the networking protocol? Are you running SMB 1, 2, or 3? How about oplocks? The hardware guy insists that he's installed many servers with legacy foxpro programs and he doesn't want to change his oplocks settings The users are using the same shared exe. I know that's not optimal, but there wasn't an issue until today.
my config.fpw exclusive=offdeleted=onKEYCOMP = WINDOWSescape=onautosave=oncentury=onresource=offMEMLIMIT=60,4096,8192refresh = 1,1tablevalidate=0 Should I have autosave on and are the refresh settings correct?
It only happens for a few minutes then clears itself. It happens maybe 2 times a day for 5-10 minutes and everyone has to wait.
Sounds like a stale lock isn't getting cleared immediately. Hardware errors that clear up are more rare, though not impossible. Yes, as someone else has suggested, I should do an unlock immediately after the write. That may be part of my problem. I have also heard that locks on memo fields behave differently than other fields. I'm not sure if that's the case or not.
I think this is a hardware issue, where some rogue task is taking down the file server's or terminal server's performance.
I still don't get how this is "hardware." I shouldn't say "hardware", I should say, "not my software" issue or "system" In other words, an antivirus, backup, or other program. Coincidentally we had one server that had a gazillion errors in the system log that had a Citrix receiver program not loading and retrying and retrying. The guy fixed that and I thought the problem was gone, then two days later it happened again.
Well, yeah.
even though 2 separate, distinct programs are having issues and they don't have any interaction between them.
Don't they run the same runtimes, on the same OS, using the same network protocols, to talk to the same servers? Right but program one has like 5 users and the other has like 40, so the load is way less, and this program didn't receive the new users.