Questions? Feedback?powered byOlark live chat software
Bug 2232

PB2017 R2 application exe randomly crashes on msctf.dll 13 February, 2019

Benton Yan
31 January, 2019
Product: PowerBuilder Category: Other
Version: 2017 R2 Publishing: Public
Status: Verifying Priority: P3
Classification: Resolution:
Mark Lee 13 February, 2019
Hi Benton,

Thanks for reporting this problem. 
This is probably caused by setting the valid scope for the column data type in DataWindow.  
In other words, it’s probably caused by the calling the SetInputScope method of the MSCTF.dll.
Please understand that we can only be sure after we reproduced it on our side. So if possible kindly please provide a test case (PB sample) further verify this.
Many thanks in advance.

Regards,
Mark Lee
Chris Pollach 11 February, 2019
Hi Benton;

  I will now turn this ticket over to the main Support/Engineering team for their input into this weird crash in a Microsoft DLL. Mayne they can sehd some light into this random crash.

  I should point out that Appeon has now released PB2017R3 as well as MR01 for R3. The R2 edition is not a long term supported edition whereas R3 is. If you get a chance, you might want to consider upgrading to the latest Appeon PB version to get long term fixes.

  I will defer your question on the use of "MSCTF.DLL" for SLE Control and/or DW Column data entry support to the Engineering team. They should be able to answer this specific question after looking at the underlying PB run-time code.

Regards ... Chris
Benton Yan 11 February, 2019
Hi Chris,

For our PB2017 R2 Build 1756 application that was migrated from PB12, we had already swapped in the latest PFC-2017 from GitHub last year.  As for PB2017 R3 Build 1880, I rebuilt the 32-bit pcode exe/pbd's using that release and tested again on Win10 64-bit.  The "random" crash still occurred on MSCTF.DLL with the same exception code and fault offset as seen in the Windows Event Viewer.

Faulting application name: otp.exe, version: 17.0.0.0, time stamp: 0x5c4c46f1
Faulting module name: MSCTF.dll, version: 10.0.16299.696, time stamp: 0x702fea3a
Exception code: 0xc0000005
Fault offset: 0x00056ddf
Faulting process id: 0x2d48
Faulting application start time: 0x01d4c237476012a0
Faulting application path: C:\Users\Public\pbntpa\UATT\OTP\exe_pb17\otp.exe
Faulting module path: C:\WINDOWS\System32\MSCTF.dll
Report Id: d2e9cb9e-241e-4fe5-850e-542a00966371
Faulting package full name: 
Faulting package-relative application ID: 

As I mentioned previously, it's "random" in that entering equivalent input data into the datawindow control on this window doesn't always cause the crash but it happens enough that it is noticeable.  As suggested by the Eclipse team, they believe it was correlated to setting focus on a text control in a dialog window that was closing.  

Getting back to my original question, is PowerBuilder 2017 also using the MSCTF.DLL for data entry into textboxes (standalone or within a datawindow) and that I should pay very close attention to any code that performs setfocus(), setrow(), or setcolumn() as well key events?
Chris Pollach 04 February, 2019
Hi Benton;

  I have never seen any other PB customer report a crash in the MSCTF.dll. So this is an unusual case indeed.

BTW: Did you ...

1) Update your PFC layer to the PB 2017 version?
   https://github.com/OpenSourcePFCLibraries

2) Try using PB2017R3 (LTS edition)?
   R2 has no long term support.

FYI: We just released PB2017R3 MR01 last week as well.
https://www.appeon.com/company/news/powerbuilder-2017-r3-mr-1880-released.html


Regards ... Chris
Benton Yan 04 February, 2019
Hi Chris,
Based on that eclipse bug, are you suggesting that msctf.dll is related to PowerBuilder's handling of an textbox control within a datawindow?  Most of my crashes occurred after the user clicked on a button to process input data from the datawindow control.  Unlike the eclipse bug, the window was not in the process of being closed.  On the other hand, the processing code may modify the values of datawindow control fields and/or set focus to them depending on the logic.  Is that where I should focus my attention with regards to msctf.dll?
Chris Pollach 31 January, 2019
Hi Benton;

  Sounds very strange and similar to this developer's experience ...

https://bugs.eclipse.org/bugs/show_bug.cgi?id=536735

Regards ... Chris
Benton Yan 31 January, 2019
*Phenomenon:
I migrated a PB12 32-bit application to PB2017 R2 32-bit.  On Win10, the PB12 version runs okay while the PB2017 R2 version will occasionally crash (not all the time but frequent enough to warrant stability concerns).  The crashes are somewhat random because the same input data for the window will work on a restart of the app.  Since this is a PFC 2017 application with our own additional customizations along with environmental settings to consider, I'm not expecting an answer from you on why it's crashing.  Instead, I want to know why the PB2017 runtime references the MSCTF.DLL?  If I know that, I could better isolate the part of the source code that is likely causing the crash.

Here's the crash information from the Win10 event viewer.  Otp.exe is the PB2017 R2 32-bit pcode app and its source code does not reference the MSCTF.DLL.  There's a possibility that MSCTF.DLL is used by a module other than the PB2017 runtime dll's but I wanted to check the PB2017 runtime first.  Hence, my question to you.

Faulting application name: otp.exe, version: 17.0.0.0, time stamp: 0x5a5f6d83
Faulting module name: MSCTF.dll, version: 10.0.16299.696, time stamp: 0x702fea3a
Exception code: 0xc0000005
Fault offset: 0x00056ddf
Faulting process id: 0x45c8
Faulting application start time: 0x01d4b9992fb517b3
Faulting application path: C:\Users\Public\pbntpa\UATT\OTP\exe_pb17\otp.exe
Faulting module path: C:\WINDOWS\System32\MSCTF.dll
Report Id: 2d8a4846-b959-4e1f-93df-edcba67bcb5e
Faulting package full name: 


*Reproduce Steps:


Remarks:
OS:
Windows 10 
Platform:
64-bit 
Database Type:
 
Database Version: