我们正在使用.pl压缩在特定应用服务器上运行的所有.r代码。现在,我们在访问库中的其中一些程序时发现了一些问题。
我们似乎注意到只有单例对象存在这些问题。
当前,我们可以通过从.pl中删除文件并将它们放在.pl之前的目录中来解决。
我们正在使用Progress Version 11.6.3。
这些是我们发现存在问题的类的示例。
USING Progress.Lang.*.
ROUTINE-LEVEL ON ERROR UNDO, THROW.
CLASS GROUP.prg.rep.Singleton:
DEFINE PRIVATE STATIC VARIABLE Instance AS Singleton NO-UNDO.
/*------------------------------------------------------------------------------
@Purpose : basic private constructor
------------------------------------------------------------------------------*/
CONSTRUCTOR PRIVATE Singleton ():
END CONSTRUCTOR.
/*------------------------------------------------------------------------------
@Purpose : get the instance of the class
------------------------------------------------------------------------------*/
METHOD PUBLIC STATIC Singleton GetInstance ():
IF NOT VALID-OBJECT (Instance) THEN
Instance = NEW Singleton().
RETURN Instance.
END METHOD.
END CLASS.
由于无法共享公司代码,我从此类中删除了一些重要信息,但是在所有问题中,该原则都是相同的。
=====================================================
PROGRESS stack trace as of Fri Mar 22 13:53:36 2019
=====================================================
Progress OpenEdge Release 11.6 build 1442 SP04 on WINNT
Startup parameters:
-pf E:\Progress\OpenEdge\116\startup.pf,-cpinternal ISO8859-1,-cpstream
ISO8859-1,-cpcoll Basic,-cpcase Basic,-d dmy,-numsep 46,-numdec 44,(end
.pf),-b,-pf E:\OpenEdge\WRK\116\MENU_PF\MENUD.pf,-h 10, -d dmy,-L 1000,-inp
32000,-E,-lng 2,-s 15000,-TB 31,-TM 32,-Bt 15000,-mmax 10000,-l 12500,-tok
4000,-T E:\TMP,-yd,-yx,-D 10000,-reusableObjects 10000,(end .pf),-basekey
INI,-ininame E:\OpenEdge\WRK\116\Menu_PF\ICE.ini,-p IndexationStartup.p,-
param 0005#1292#1#22/03/2019 13:53:24,260+01:00
Exception code: C0000005 ACCESS_VIOLATION
Fault address: 00007FF60600E74D 01:000000000048D74D
E:\Progress\OpenEdge\116\bin\_progres.exe
Registers:
RAX:0000000000000001
RBX:0000000020B75C00
RCX:0000000000000000
RDX:000000002155C240
RSI:0000000000000523
RDI:00007FF6066FE180
R8 :0000000000000104
R9 :0000000000000443
R10:000000000600E000
R11:00007FF605B80000
R12:0000000000000080
R13:00000000003E9000
R14:0000002000001000
R15:0000000001000000
CS:RIP:0033:00007FF60600E74D
SS:RSP:002B:000000000051E730 RBP:0000000000000001
DS:002B ES:002B FS:0053 GS:002B
Flags:00010202
Call Stack:
Address Frame
00007FF60600E74D 000000000051E770 Progress::ClrBridge::ITypeManager::operator=+74E6D
00007FF606039A19 000000000051E7A0 Progress::ClrBridge::ITypeManager::operator=+A0139
00007FF605FF22D6 000000000051E7D0 Progress::ClrBridge::ITypeManager::operator=+589F6
00007FF605FC9C9B 000000000051E860 Progress::ClrBridge::ITypeManager::operator=+303BB
00007FF605FCA4D3 000000000051EA70 Progress::ClrBridge::ITypeManager::operator=+30BF3
00007FF605FCABAE 000000000051EAD0 Progress::ClrBridge::ITypeManager::operator=+312CE
00007FF605BDDFC0 000000000051EB60 common_srvrLogFile+4C840
00007FF605BE0E85 000000000051EC20 common_srvrLogFile+4F705
00007FF605FC54FC 000000000051ECA0 Progress::ClrBridge::ITypeManager::operator=+2BC1C
00007FF605FC6CF4 000000000051ED00 Progress::ClrBridge::ITypeManager::operator=+2D414
00007FF605FC6E08 000000000051ED60 Progress::ClrBridge::ITypeManager::operator=+2D528
00007FF605BFAA56 000000000051EE20 common_srvrLogFile+692D6
00007FF605FE6FA5 000000000051EF20 Progress::ClrBridge::ITypeManager::operator=+4D6C5
00007FF60600A959 000000000051EFD0 Progress::ClrBridge::ITypeManager::operator=+71079
00007FF606014B7A 000000000051F000 Progress::ClrBridge::ITypeManager::operator=+7B29A
00007FF605FC71FE 000000000051F030 Progress::ClrBridge::ITypeManager::operator=+2D91E
00007FF605FC91EB 000000000051F0C0 Progress::ClrBridge::ITypeManager::operator=+2F90B
00007FF605FCA28A 000000000051F2F0 Progress::ClrBridge::ITypeManager::operator=+309AA
00007FF605FCA507 000000000051F500 Progress::ClrBridge::ITypeManager::operator=+30C27
00007FF605FCAA96 000000000051F560 Progress::ClrBridge::ITypeManager::operator=+311B6
00007FF605BCD418 000000000051F700 common_srvrLogFile+3BC98
00007FF605BFAA56 000000000051F7C0 common_srvrLogFile+692D6
00007FF605FE81BA 000000000051FA40 Progress::ClrBridge::ITypeManager::operator=+4E8DA
00007FF605FE9F9E 000000000051FAA0 Progress::ClrBridge::ITypeManager::operator=+506BE
00007FF60600A959 000000000051FB50 Progress::ClrBridge::ITypeManager::operator=+71079
00007FF606014B7A 000000000051FB80 Progress::ClrBridge::ITypeManager::operator=+7B29A
00007FF605C1F74F 000000000051FBB0 dbut_utclex+1F5BF
00007FF605BAB5E8 000000000051FDC0 common_srvrLogFile+19E68
00007FF605C3E8F3 000000000051FDF0 dbut_utclex+3E763
00007FF6063A7ABE 000000000051FE20 Progress::ClrBridge::rnProFromClr::FindOnPropath+13530E
00007FFF5D2B13D2 000000000051FE50 BaseThreadInitThunk+22
00007FFF5F9654F4 000000000051FEA0 RtlUserThreadStart+34
答案 0 :(得分:0)
我在Progress Knowledge Base中找不到与此相关的任何信息(我没有),假设您正在维护中,您应该向Progress Support开立一个案例。
您还可以尝试使用更新的Progress版本或至少11.1.6或11.6.4的更新服务包。
答案 1 :(得分:0)
我们打开了一个进度案例,并得出结论,我们在.pf文件中使用-Yd参数。使用单例对象会导致一些脏错误。仍在寻求如何解决此问题的进展,但是我们的解决方法只是删除-yd参数。
希望这可以帮助某些人。