1. Gordon Weil
  2. PowerBuilder
  3. Wednesday, 1 February 2023 00:53 AM UTC

We have been stuck with version 2017 of PowerBuilder because every recent version of PowerBuilder has caused random crashes in our application.

During recent testing after migrating our main client application to PowerBuilder 2022 it became evident that the cause of the crashes was a currently running PowerBuilder application built with an older version of PowerBuilder.

I have been able to consistently reproduce the crashing behavior as long as I have an application built with an older version of PowerBuilder running before I start the PB2022 application. I have reproduced the behavior with an application built with PowerBuilder 2017 and also an app built with PowerBuilder 12.5. It does not appear to matter what application I am running, we have several, it only seems to require that the application was built with PB2017 or earlier.

We release our client application every year with an updated database. If we release our 2023 application built on PB 2022 it would be running concurrently with older versions built with PowerBuilder 2017 or earlier. This is not just an academic problem, it appears likely to affect our clients and be a serious issue.

I have not been able to duplicate the crashing behavior when running my application from the PB2022 IDE, but I can duplicate the behavior running the compiled app on the same machine I use with the PB2022 IDE.

We all run on recent versions of Windows 10, I will test on Windows 11 but have not yet. The PB2022 app was built using the latest MR, as you can see from the Event Viewer info:

Faulting module name: pbdwe.dll, version: 22.0.0.1892, time stamp: 0x6376455e
Exception code: 0xc0000005
Fault offset: 0x0027c7db
Faulting process id: 0x43c0
Faulting application start time: 0x01d935cac896f569
Faulting application path: C:\Program Files (x86)\NCC\NDSR 2023\ndsr.exe
Faulting module path: C:\Program Files (x86)\NCC\NDSR 2023\pbdwe.dll

Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 1 February 2023 01:23 AM UTC
  2. PowerBuilder
  3. # 1

Hi Gordon;

   This seems extremely weird. The PBDWE DLL is the DataWindow Expression Evaluator (EV) module. In PB 2017Rx, the DLL had a different name. So it seems extremely odd that a DWO crash would occur in modules with a different name and architecture (compiled in VC++ 2010 {for PB 12.5 or 2017} vs VC++ 2019 in PB 2022). 

  I have encountered this scenario once before where the crashing in the DWO's EV was a side effect of bad data coming from the DBMS for only a certain few rows of one table. 

   The other sam scenario came from two PBD's that were in the PB Application where one was an old PBD & not migrated to the new PB App's release. Therefore, trying to run an old DWO's P-Code under a newer PBVM (runtime).

Food for thought.  HTH

Regards... Chris 

Comment
  1. Gordon Weil
  2. Wednesday, 1 February 2023 02:31 AM UTC
What about DLLs that have the same names? PBDWE.DLL had a different name, but nlwnsck.dll, libjcc.dll, libjtml.dll, libjutils.dll and libsybunic.dll are all in both of our PB2017 and PB2022 installations under the same names. Is it possible one or more of those are causing the problem even though the Event Viewer says the error occurred in PBDWE.DLL?
  1. Helpful
  1. Gordon Weil
  2. Wednesday, 1 February 2023 02:35 AM UTC
There are other DLLs with the same name in the two installations, but the ones I listed are the ones that have different dates and file sizes and therefore appear to be different versions.
  1. Helpful
  1. Chris Pollach @Appeon
  2. Wednesday, 1 February 2023 02:48 AM UTC
That should not be an issue in PB 2022 because you now need to also deploy the new <App name>.XML file produced by the PB 2022 IDE during an App EXE compilation. This XML file must reside in the same folder as the PB App's EXE. This directs the PB App to only load the appropriate runtime from a specific folder. You should no longer rely on the O/S's System Path.
  1. Helpful 1
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.