1. Sivaprakash BKR
  2. PowerBuilder
  3. Tuesday, 29 December 2020 11:19 AM UTC

Hello,

We migrated our PB 10.5 based application to PB 2017 R3 recently.  No issues were reported while compiling that application in 2017R3.  ON implementation we started receiving two complaints from our client.

1.  The application is slower.   We couldn't gather much information from them except that they feel it's slower.  Most of the staff were unaware of the changes done.   The same issue was echoed by another client who is using the same application, that they feel that the application is slower now.  


2.  The application is giving the following error message in Win 10 machine, while either continuously working on it or working after leaving it idle for some time.   That client uses the same application in 8 machines, mostly with Win 7.  No errors reported for other Win 7 machines.  The same application was working without issues when it was in PB 10.5 in those same machines.   No hardware related changed done, only the application was (re)compiled in PB 2017 R3 and installed.  [ The error message image has been attached ]

elifa4.exe has stopped working

A problem caused the program to stop working correctly.  Windows will close the program and notify you if a solution is available. 

 

Could not find what to check and where to start, with no additional information.  When run after closing, the same window works fine without issue till this message re-occurs.  This particular user using this machine is working mostly on this window only.  

Any clues to debug the cause of the error is appreciated.

Happiness Always
BKR Sivaprakash

 

Attachments (1)
mike S Accepted Answer Pending Moderation
  1. Tuesday, 29 December 2020 15:35 PM UTC
  2. PowerBuilder
  3. # 1

any timer/idle processes that run?

Comment
  1. Sivaprakash BKR
  2. Thursday, 31 December 2020 07:02 AM UTC
Thanks Mike

No timer or idle processes are there..

  1. Helpful
There are no comments made yet.
John Fauss Accepted Answer Pending Moderation
  1. Tuesday, 29 December 2020 17:16 PM UTC
  2. PowerBuilder
  3. # 2

Greetings, Sivaprakash -

What is the user and/or app doing/performing when this occurs? Are they running the app remotely? Narrowing down what the app/user is doing when this occurs is important, as it should give you some idea on where to look for potential problems.

What database are you using (SQLCA.DBMS = ???)

PB 10.5 was released around 2005. Are you using the same (ancient) DB client or a newer version?

Win 10 is a dramatically different O/S under the covers than Win 7. Even though Microsoft goes to great lengths to maximize compatibility, I've never seen or heard of a 100% compatibility guarantee.

Rightly or wrongly, Windows detects what it believes to be a non-responding application by monitoring each thread's message queue. Each message added to a thread's queue is timestamped, and when no messages are pulled from the queue for five seconds, Windows considers the app to be no longer responding and the "application has stopped working" message appears.

AFAIK, there are no "magic pills" to resolving this issue (others may disagree), but avoid long-running processes whenever possible. Use the Yield() PowerScript function during long-running, compute-intensive loops to allow thread message queue processing to occur.

If you are able to give us a clearer picture what is going on when this occurs, we may be able to provide additional suggestions/ideas.

Regards, John

Comment
  1. Sivaprakash BKR
  2. Thursday, 31 December 2020 07:01 AM UTC
Thanks John Fauss,

The issue occurs when the user enters data, either at start or while entering the data half way. He might be working continuously or after some idle time. Its really difficult the reproduce it.

We use SQL Server 2012 and OLE DB driver.

There is no long running process there in that screen. Max record won't cross 40000. Total DB size is less than 2.5GB.

As per the user, they just keep open this screen, enter whenever billing is to be done and occasionally checking few reports. Reports won't take more than 70 seconds max.

  1. Helpful
  1. John Fauss
  2. Thursday, 31 December 2020 14:54 PM UTC
I appreciate the follow-up information. What you've described should not be causing Windows to consider an app to be "not responding".

Is the application built upon a framework? If so, which one and what version?

Is this an MDI application?

Does the application make any use of shared objects (i.e., multi-threaded capabilities)?

Does the application interface with any external software besides the DBMS and Windows?

I will be very interested to hear what you find out if you are able to analyze the wait chain. I'm very suspicious that there is some other piece to this puzzle that has not yet come to light.
  1. Helpful
  1. Sivaprakash BKR
  2. Friday, 1 January 2021 06:38 AM UTC
John Fauss



Framework -> No

MDI -> Yes. No coding in timer event(s) of MDI parent.

Use of Shared Objects -> No.

External Software -> No.



It's a simple screen in the application, that accepts user data and stores it in the database. They open a couple of other screens too, that too accepts and stores user data.



What the users say is, this error occurs even while entering the data on that screen without any idle time. Say while entering the 21st item the error comes up, after successfully entering 20 items. For every item entered, we check with the database for other values, which confirms that the connection is also intact with the server/database. After re-launch of the application, the user could enter all the 25/30 items without any issues.



They have 2 machines, both adjacent, at the billing point, one with Win 7 and the other with Win 10. Both users use the same set of screens/reports. Only the machine with Win 10 is giving this error, not the other machine with Win 7.

  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 29 December 2020 18:28 PM UTC
  2. PowerBuilder
  3. # 3

Hi  Sivaprakash;

For #1 ... Please try the following:

  1. Open IDE and proceed to the System Options dialogue.
  2. In the general tab, take note of the "Initialization Path" value
  3. Open the folder from Step #2 in File Explorer
  4. Open the PB.ini file in Notepad.
  5. Locate the  "[Data Window]" section
  6. Add the following value ... Accessibility=0
  7. Close & save the PB.ini file

Does that help the App's performance? If so, please create your own PB.ini file with the above setting and then deploy your custom PB.INI file with the App's EXE into the same folder on the deployment machine.

 

For #2 ... For the "not responding", please look at the EXE as follows:

  1. Open Task Manager
  2. RHMB the EXE (Process Tab)
  3. Select "Go To Details"
  4. RHMB EXE (Details Tab)
  5. Select "Analyze Wait Chain"

What is the App waiting for when it stops responding?

Regards ... Chris

 

Comment
  1. Chris Pollach @Appeon
  2. Thursday, 31 December 2020 14:31 PM UTC
Hi John;

Of course to be politically correct for us ambidextrous mousers ...

LHMB => Primary Mouse Button

RHMB => Alternate Mouse Button

;-)

Regards ... Chris
  1. Helpful
  1. John Fauss
  2. Thursday, 31 December 2020 14:42 PM UTC
How's that old saying go...?

"I'd give my right arm to be ambidextrous!"

Thanks for chuckle to start my day, Chris - Happy New Year!
  1. Helpful
  1. Sivaprakash BKR
  2. Friday, 1 January 2021 06:14 AM UTC
I think too much technical, it seems. RHMB, I should have guessed easily. Thanks.

  1. Helpful
There are no comments made yet.
Sivaprakash BKR Accepted Answer Pending Moderation
  1. Tuesday, 5 January 2021 13:51 PM UTC
  2. PowerBuilder
  3. # 4

John Fauss

Framework -> No

MDI -> Yes. No coding in timer event(s) of MDI parent.

Use of Shared Objects -> No.

External Software -> No.

It's a simple screen in the application, that accepts user data and stores it in the database. They open a couple of other screens too, that too accepts and stores user data.

What the users say is, this error occurs even while entering the data on that screen without any idle time. Say while entering the 21st item the error comes up, after successfully entering 20 items. For every item entered, we check with the database for other values, which confirms that the connection is also intact with the server/database. After re-launch of the application, the user could enter all the 25/30 items without any issues.

They have 2 machines, both adjacent, at the billing point, one with Win 7 and the other with Win 10. Both users use the same set of screens/reports. Only the machine with Win 10 is giving this error, not the other machine with Win 7.

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.