EXCEPTION_ACCESS_VIOLATION trying to use Webutil_C_API.Invoke_Long
404868Oct 17 2003 — edited Apr 7 2004We are currently investigating migrating our forms application from 6i to 9i. We use a couple of external apps - namely Quick Address and Bank Wizard - that we will have to get working before we can proceed with the migration.
We are getting the same problem when trying to run these apps with the Webutil package. When we issue the Webutil_C_API.Invoke_Long command the app crashes, including the java console and an error log is created on the desktop.
The details below are specific to Bank Wizard.
The code to start Bank Wizard is:
FUNCTION BWIZ_start(p_error_text OUT VARCHAR2)
RETURN BINARY_INTEGER
IS
f_handle WEBUTIL_C_API.FUNCTIONHANDLE;
args WEBUTIL_C_API.ParameterList;
param1 WEBUTIL_C_API.ParameterHandle;
v_bwiz_dir VARCHAR2(2000) := DBFP.Value('BANK_WIZARD_DIR');
v_return LONG;
v_error_code BINARY_INTEGER;
BEGIN
f_handle := WEBUTIL_C_API.register_function(v_bwiz_dir || 'BWCORE32.DLL','_WInitScans@4');
args := WEBUTIL_C_API.create_parameter_list;
param1 := WEBUTIL_C_API.add_parameter(args,WEBUTIL_C_API.C_LONG_PTR, WEBUTIL_C_API.PARAM_INOUT, 0);
MESSAGE('About to call Init Scan. App will crash trying to us Invoke_Long');pause;
v_return := WEBUTIL_C_API.Invoke_Long(f_handle, args);
-- Ignore v_return, bit of a red herring. Must use v_Error_Code
v_error_code := WEBUTIL_C_API.Get_Parameter_String(args, param1);
WEBUTIL_C_API.Destroy_Parameter_List(args);
WEBUTIL_C_API.Deregister_Function(f_handle);
IF NVL(v_Error_Code,0) <> 0 THEN
-- There is an error, set the error message
p_error_text := BWIZ_Start_Return(v_Error_Code);
END IF;
RETURN v_error_code;
RETURN NULL; EXCEPTION
WHEN OTHERS THEN
MESSAGE('Error Starting BWIZ : Status '||v_return);
RAISE form_trigger_failure;
END BWIZ_start;
We get an error log on the desktop of:
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x1
Function name=(N/A)
Library=(N/A)
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
at oracle.forms.webutil.cApi.CFunc.callInt(Native Method)
at oracle.forms.webutil.cApi.CApiFunctions.invokeCApi(CApiFunctions.java:814)
at oracle.forms.webutil.cApi.CApiFunctions.getProperty(CApiFunctions.java:131)
at oracle.forms.handler.UICommon.onGet(Unknown Source)
at oracle.forms.engine.Runform.onGetHandler(Unknown Source)
at oracle.forms.engine.Runform.processMessage(Unknown Source)
at oracle.forms.engine.Runform.processSet(Unknown Source)
at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
at oracle.forms.engine.Runform.onMessage(Unknown Source)
at oracle.forms.engine.Runform.processEventEnd(Unknown Source)
at oracle.ewt.lwAWT.LWComponent.redispatchEvent(Unknown Source)
at oracle.ewt.lwAWT.LWComponent.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Dynamic libraries:
0x00400000 - 0x00419000 C:\Program Files\Internet Explorer\iexplore.exe
0x77F80000 - 0x77FFB000 C:\WINNT\System32\ntdll.dll
0x78000000 - 0x78046000 C:\WINNT\system32\msvcrt.dll
0x77E80000 - 0x77F36000 C:\WINNT\system32\KERNEL32.dll
0x77E10000 - 0x77E75000 C:\WINNT\system32\USER32.dll
0x77F40000 - 0x77F7C000 C:\WINNT\system32\GDI32.DLL
0x70BD0000 - 0x70C34000 C:\WINNT\system32\SHLWAPI.dll
0x77DB0000 - 0x77E0D000 C:\WINNT\system32\ADVAPI32.dll
0x77D30000 - 0x77DA1000 C:\WINNT\system32\RPCRT4.DLL
0x71700000 - 0x71848000 C:\WINNT\System32\SHDOCVW.dll
0x007A0000 - 0x0082A000 C:\WINNT\system32\comctl32.dll
0x782F0000 - 0x78536000 C:\WINNT\system32\SHELL32.dll
0x77A50000 - 0x77B45000 C:\WINNT\system32\ole32.dll
0x6E420000 - 0x6E426000 C:\WINNT\System32\INDICDLL.dll
0x75E60000 - 0x75E7A000 C:\WINNT\System32\IMM32.dll
0x71160000 - 0x7125D000 C:\WINNT\System32\BROWSEUI.dll
0x719D0000 - 0x719E2000 C:\WINNT\System32\browselc.dll
0x775A0000 - 0x77625000 C:\WINNT\System32\CLBCATQ.DLL
0x779B0000 - 0x77A4B000 C:\WINNT\system32\OLEAUT32.dll
0x63000000 - 0x63094000 C:\WINNT\system32\WININET.dll
0x77440000 - 0x774B7000 C:\WINNT\system32\CRYPT32.dll
0x77430000 - 0x77440000 C:\WINNT\system32\MSASN1.DLL
0x77840000 - 0x7787D000 C:\WINNT\System32\cscui.dll
0x770C0000 - 0x770E3000 C:\WINNT\System32\CSCDLL.DLL
0x10000000 - 0x10008000 C:\Program Files\Adobe\Acrobat 5.0\Reader\ActiveX\AcroIEHelper.ocx
0x1A400000 - 0x1A479000 C:\WINNT\system32\urlmon.dll
0x77820000 - 0x77827000 C:\WINNT\system32\VERSION.dll
0x759B0000 - 0x759B6000 C:\WINNT\system32\LZ32.DLL
0x016A0000 - 0x01728000 C:\WINNT\System32\shdoclc.dll
0x70440000 - 0x704CF000 C:\WINNT\System32\mlang.dll
0x75050000 - 0x75058000 C:\WINNT\System32\wsock32.dll
0x75030000 - 0x75043000 C:\WINNT\System32\WS2_32.DLL
0x75020000 - 0x75028000 C:\WINNT\System32\WS2HELP.DLL
0x74FD0000 - 0x74FED000 C:\WINNT\system32\msafd.dll
0x75010000 - 0x75017000 C:\WINNT\System32\wshtcpip.dll
0x774E0000 - 0x77512000 C:\WINNT\System32\RASAPI32.DLL
0x774C0000 - 0x774D1000 C:\WINNT\System32\RASMAN.DLL
0x77530000 - 0x77552000 C:\WINNT\System32\TAPI32.DLL
0x77830000 - 0x7783E000 C:\WINNT\System32\RTUTILS.DLL
0x75AB0000 - 0x75AB5000 C:\WINNT\System32\sensapi.dll
0x77C10000 - 0x77C6E000 C:\WINNT\System32\USERENV.DLL
0x75170000 - 0x751BF000 C:\WINNT\System32\netapi32.dll
0x77BE0000 - 0x77BEF000 C:\WINNT\System32\SECUR32.DLL
0x751C0000 - 0x751C6000 C:\WINNT\System32\NETRAP.DLL
0x75150000 - 0x75160000 C:\WINNT\System32\SAMLIB.DLL
0x77950000 - 0x7797A000 C:\WINNT\system32\WLDAP32.DLL
0x77980000 - 0x779A4000 C:\WINNT\System32\DNSAPI.DLL
0x782C0000 - 0x782CC000 C:\WINNT\System32\rnr20.dll
0x77340000 - 0x77353000 C:\WINNT\System32\iphlpapi.dll
0x77520000 - 0x77525000 C:\WINNT\System32\ICMP.DLL
0x77320000 - 0x77337000 C:\WINNT\System32\MPRAPI.DLL
0x773B0000 - 0x773DE000 C:\WINNT\System32\ACTIVEDS.DLL
0x77380000 - 0x773A2000 C:\WINNT\System32\ADSLDPC.DLL
0x77880000 - 0x7790D000 C:\WINNT\System32\SETUPAPI.DLL
0x77360000 - 0x77379000 C:\WINNT\System32\DHCPCSVC.DLL
0x770F0000 - 0x772ED000 C:\WINNT\System32\msi.dll
0x01E80000 - 0x01E88000 C:\PROGRA~1\MOUSEW~1\SYSTEM\LgMousHk.dll
0x11C00000 - 0x11C3D000 C:\Program Files\Network Associates\VirusScan\Wbhook32.dll
0x01FA0000 - 0x01FA9000 C:\Program Files\Network Associates\VirusScan\Res09\WbhkRes.dll
0x01FB0000 - 0x01FC2000 C:\Program Files\Common Files\Network Associates\McPal\NAKRNL32.DLL
0x020E0000 - 0x02110000 C:\Program Files\Common Files\Network Associates\McPal\NAUTIL32.DLL
0x76620000 - 0x76630000 C:\WINNT\system32\MPR.dll
0x76B30000 - 0x76B6D000 C:\WINNT\system32\comdlg32.dll
0x02220000 - 0x02225000 C:\Program Files\Common Files\Network Associates\McPal\Res0901\naUtlRes.dll
0x12000000 - 0x121BB000 C:\Program Files\Common Files\Network Associates\VirusScan Engine\4.0.xx\MCSCAN32.DLL
0x02340000 - 0x0238E000 C:\Program Files\Common Files\Network Associates\McPal\naARCHIV.DLL
0x024A0000 - 0x024C9000 C:\Program Files\Common Files\Network Associates\McPal\NAEVENT.DLL
0x74FF0000 - 0x75002000 C:\WINNT\System32\MSWSOCK.dll
0x025E0000 - 0x025E7000 C:\Program Files\Common Files\Network Associates\McPal\Res0901\naEvtRes.dll
0x11400000 - 0x1143B000 C:\Program Files\Network Associates\VirusScan\VsUtil.dll
0x02700000 - 0x02716000 C:\Program Files\Network Associates\VirusScan\Res09\VsutlRes.dll
0x11D00000 - 0x11D1A000 C:\Program Files\Network Associates\VirusScan\NTClient.dll
0x11A00000 - 0x11A49000 C:\Program Files\Network Associates\VirusScan\Syncutil.dll
0x11700000 - 0x1174D000 C:\Program Files\Network Associates\VirusScan\Res09\resdll.dll
0x13000000 - 0x1300D000 C:\Program Files\Common Files\Network Associates\VirusScan Engine\4.0.xx\AvParam.dll
0x6B050000 - 0x6B13A000 C:\WINNT\System32\MSJAVA.dll
0x66130000 - 0x66178000 C:\WINNT\System32\VMHELPER.DLL
0x777E0000 - 0x777E8000 C:\WINNT\System32\winrnr.dll
0x777F0000 - 0x777F5000 C:\WINNT\System32\rasadhlp.dll
0x63580000 - 0x63825000 C:\WINNT\System32\mshtml.dll
0x75AC0000 - 0x75AE8000 C:\WINNT\System32\MSLS31.DLL
0x6D320000 - 0x6D32D000 C:\Program Files\Oracle\JInitiator 1.3.1.9\bin\npjinit1319.dll
0x6D670000 - 0x6D697000 C:\Program Files\Oracle\JInitiator 1.3.1.9\bin\beans.ocx
0x6D2D0000 - 0x6D2E6000 C:\Program Files\Oracle\JInitiator 1.3.1.9\bin\jpishare.dll
0x6D3C0000 - 0x6D48F000 C:\PROGRA~1\Oracle\JINITI~1.9\bin\hotspot\jvm.dll
0x77570000 - 0x775A0000 C:\WINNT\System32\WINMM.dll
0x6D1F0000 - 0x6D1F7000 C:\PROGRA~1\Oracle\JINITI~1.9\bin\hpi.dll
0x6D350000 - 0x6D35D000 C:\PROGRA~1\Oracle\JINITI~1.9\bin\verify.dll
0x6D220000 - 0x6D237000 C:\PROGRA~1\Oracle\JINITI~1.9\bin\java.dll
0x6D360000 - 0x6D36D000 C:\PROGRA~1\Oracle\JINITI~1.9\bin\zip.dll
0x6D020000 - 0x6D128000 C:\Program Files\Oracle\JInitiator 1.3.1.9\bin\awt.dll
0x77800000 - 0x7781E000 C:\WINNT\System32\WINSPOOL.DRV
0x6D1B0000 - 0x6D1EB000 C:\Program Files\Oracle\JInitiator 1.3.1.9\bin\fontmanager.dll
0x72800000 - 0x72846000 C:\WINNT\System32\DDRAW.dll
0x728A0000 - 0x728A6000 C:\WINNT\System32\DCIMAN32.dll
0x17010000 - 0x17180000 C:\WINNT\System32\i81xgicd.dll
0x17290000 - 0x172ED000 C:\WINNT\System32\i81xGDEV.DLL
0x6D310000 - 0x6D318000 C:\Program Files\Oracle\JInitiator 1.3.1.9\bin\net.dll
0x20B30000 - 0x20B40000 C:\Program Files\Oracle\JInitiator 1.3.1.9\bin\JNIsharedstubs.dll
0x20C50000 - 0x20C63000 U:\Bankwiz\BWCORE32.DLL
0x77920000 - 0x77943000 C:\WINNT\system32\imagehlp.dll
0x72A00000 - 0x72A2D000 C:\WINNT\system32\DBGHELP.dll
0x690A0000 - 0x690AB000 C:\WINNT\System32\PSAPI.DLL
Local Time = Fri Oct 17 10:29:39 2003
Elapsed Time = 374
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.3.1-rc2-b22 mixed mode)
#
I was able to get a snapshot of the Java Console just before it crashed as follows:
Oracle JInitiator: Version 1.3.1.9
Using JRE version 1.3.1.9 Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\isd17
Proxy Configuration: Manual Configuration
Proxy: extsrv:8080
Proxy Overrides: nt4lan,<local>
JAR cache enabled
Location: C:\Documents and Settings\isd17\Oracle Jar Cache
Maximum size: 50 MB
Compression level: 0
----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
q: hide console
s: dump system properties
t: dump thread list
x: clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------
Loading http://isd28.nt4lan.com:8888/forms90/webutil/webutil.jar from JAR cache
RegisterWebUtil - Loading Webutil Version 1.0.2 Beta
Loading http://isd28.nt4lan.com:8888/forms90/webutil/jacob.jar from JAR cache
Loading http://isd28.nt4lan.com:8888/forms90/java/f90all_jinit.jar from JAR cache
connectMode=HTTP, native.
Forms Applet version is : 902110
2003-Oct-17 10:24:46.00 WUI[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2003-Oct-17 10:24:46.94 WUF[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2003-Oct-17 10:24:46.94 WUH[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2003-Oct-17 10:24:46.109 WUS[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2003-Oct-17 10:24:46.125 WUT[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2003-Oct-17 10:24:56.156 WUO[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2003-Oct-17 10:25:06.16 WUL[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2003-Oct-17 10:25:11.00 WUB[VBeanCommon.findLocalHost()] obtaining LocalHost info from InetAddress
2003-Oct-17 10:25:31.844 WUT[setProperty()] Setting property WUC_GET_LOCAL_PROPERTY to syslib.jacob.dll
2003-Oct-17 10:25:32.63 WUT[getProperty()] Getting property WUC_GET_LOCAL_PROPERTY
2003-Oct-17 10:25:32.78 WUT[loadSettings()] Local properties file loaded
2003-Oct-17 10:25:32.94 WUT[setProperty()] Setting property WUC_GET_LOCAL_PROPERTY to syslib.JNIsharedstubs.dll
2003-Oct-17 10:25:32.94 WUT[getProperty()] Getting property WUC_GET_LOCAL_PROPERTY
2003-Oct-17 10:25:32.109 WUT[setProperty()] Setting property WUC_GET_LOCAL_PROPERTY to syslib.d2kwut60.dll
2003-Oct-17 10:25:32.141 WUT[getProperty()] Getting property WUC_GET_LOCAL_PROPERTY
2003-Oct-17 10:26:36.594 WUL[setProperty()] Setting property WUL_FUNCTION_SPEC to U:\Bankwiz\BWCORE32.DLL|_WInitScans@4
2003-Oct-17 10:26:36.625 WUL[getProperty()] Getting property WUL_REGISTER_FUNCTION
2003-Oct-17 10:26:42.359 WUL[getProperty()] Getting property WUL_CREATE_PARAMLIST
2003-Oct-17 10:26:42.453 WUL[setProperty()] Setting property WUL_PARAM_PROPERTIES to B|2|97|51|0|0
2003-Oct-17 10:26:42.500 WUL[getProperty()] Getting property WUL_ADD_PARAMETER
2003-Oct-17 10:28:05.891 WUL[setProperty()] Setting property WUL_INVOKE_SPEC to 1|2|33
2003-Oct-17 10:28:11.16 WUL[getProperty()] Getting property WUL_INVOKE
I wanted to also include some Webutil logging but despite setting the following in webutil.cfg:
logging.file=c:\webutil\webutil.log
logging.enabled=TRUE
logging.errorsonly=FALSE
logging.connections=FALSE
and the following i my Formsweb.cfg:
WebUtilLogging=on
WebUtilLoggingDetail=normal
WebUtilErrorMode=Alert
I did not get an error log created, at least not in c:\webutil\webutil.log.
Can someone tell me how to set this up correctly, or is it because the Java Console disappears completely that no log file is written?
Has anyone successfully implemented Bank Wizard or Quick Address? Knowing that this can be done will encourage us to keep investigating this.
Thanks
Richard