cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Help us improve the PTC Community by taking this short Community Survey! X

EXCEPTION_ACCESS_VIOLATION in pfcasyncmt.dll when running Creoson server 2.8.0-win64

MS_9921167
4-Participant

EXCEPTION_ACCESS_VIOLATION in pfcasyncmt.dll when running Creoson server 2.8.0-win64

Hello,

(I am not sure if this is the right place to post) I am running into an EXCEPTION_ACCESS_VIOLATION in the Creoson server that I cannot reproduce consistently. Basically, I am working with a pipeline using creopyson to post JSON requests (via the JLink interface, if I understand correctly) to build each of multiple assemblies (e.g. 100s of assemblies, each containing 10s of components) in Creo 5.0.6, in succession (one after another). The command that is used to start the Creoson server is the following and is called from a .bat script before starting Creo and then starting a design automation python script that connects to the running creoson server using creopyson and sends JSON requests:

"%JAVA_HOME%\bin\java" -classpath "%cp%" -Dsli.jlink.timeout=200 -Dsli.socket.port=%JSON_PORT% com.simplifiedlogic.nitro.jshell.MainServer"

After some yet unknown conditions occur (I originally just thought it was the jlink timeout parameter causing the issue, but increasing this to e.g. 9000 did not seem to prevent the same error from happening), the following crash is reported:

# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffd1fcf9b6b, pid=10476, tid=6524
#
# JRE version: OpenJDK Runtime Environment Corretto-11.0.13.8.1 (11.0.13+8) (build 11.0.13+8-LTS)
# Java VM: OpenJDK 64-Bit Server VM Corretto-11.0.13.8.1 (11.0.13+8-LTS, mixed mode, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C [pfcasyncmt.dll+0x1c9b6b]
#
# Core dump will be written. Default location: C:\CreosonServerWithSetup-2.8.0-win64\hs_err_pid10476.mdmp
#
# An error report file with more information is saved as:
# C:\CreosonServerWithSetup-2.8.0-win64\hs_err_pid10476.log
#
# If you would like to submit a bug report, please visit:
# https://github.com/corretto/corretto-11/issues/
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.

 

I have seen similar issues to this on the Corretto github issues page, but am posting directly here because I  think (?) the pfcasyncmt.dll is maintained by PTC. Is that correct? It also looks like there is a 32-bit offset into the problematic frame, so I am curious if this is at all related to calling across 32-bit and 64-bit code (I am not an expert nor a native Windows user).

I have attached a couple of log examples (with different jlink timeouts and time-until-crash) which I hope are helpful. The System info (taken directly from log) is:

--------------- S Y S T E M ---------------

OS: Windows Server 2019 , 64 bit Build 17763 (10.0.17763.3287)
OS uptime: 2 days 5:29 hours
Xen hardware-assisted virtualization detected

CPU:total 4 (initial active 4) (4 cores per cpu, 1 threads per core) family 6 model 79 stepping 1 microcode 0xb000040, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, lzcnt, tsc, bmi1, bmi2, fma

Memory: 4k page, system-wide physical 16383M (10072M free)
TotalPageFile size 18815M (AvailPageFile size 12248M)
current process WorkingSet (physical memory assigned to process): 247M, peak: 272M
current process commit charge ("private bytes"): 368M, peak: 405M

vm_info: OpenJDK 64-Bit Server VM (11.0.13+8-LTS) for windows-amd64 JRE (11.0.13+8-LTS), built on Oct 13 2021 21:32:06 by "Administrator" with unknown MS VC++:1916


I am also happy to provide the .mdmp core dumps that go with the attached log files upon request. Thank you!

1 REPLY 1
MS_9921167
4-Participant
(To:MS_9921167)

Following up- Based on the thread stackframe from the attached crash logs, it looks like the issue is related to the method:

com.ptc.pfc.Implementation.pfcSession$Session.GetModelFromFileName(Ljava/lang/String;)Lcom/ptc/pfc/pfcModel/Model;

 

(I also posted this issue on (https://github.com/corretto/corretto-11/issues/290).

Top Tags