asp.net mvc - System.Data.OracleClient.dll crashes w3wp.exe on w2k8 -
i'm using windbg debug error happening in website have on windows server 2008, iis7 environment. i've set symbol path "srv*c:\websymbols*http://msdl.microsoft.com/download/symbols"
then browse website, takes me login page. in moment attach windbg w3wp.exe process. enter credentials login page , submit form, process giving problems. select windbg -> debug -> go unhandled exception, outputs following in console:
modload: 6d720000 6d835000 c:\windows\assembly\nativeimages_v2.0.50727_32\system.data.oraclec#\fb8da45f3873169a502db3cb492b25a0\system.data.oracleclient.ni.dll modload: 06a80000 06afb000 system.data.oracleclient.dll modload: 06b00000 06b7b000 system.data.oracleclient.dll modload: 06a80000 06afb000 c:\windows\assembly\gac_32 \system.data.oracleclient\2.0.0.0__b77a5c561934e089\system.data.oracleclient.dll modload: 06b80000 06be1000 c:\xeclient\bin\oci.dll modload: 7c340000 7c396000 c:\windows\system32\msvcr71.dll modload: 06c50000 09af9000 c:\xeclient\bin\oraocixe10.dll modload: 739d0000 73a02000 c:\windows\system32\winmm.dll modload: 73990000 739cd000 c:\windows\system32\oleacc.dll critical error detected c0000374
after hit f10 many times until following print output , debugger keep thinking:
eax=05cbe288 ebx=00000000 ecx=76e47463 edx=05cbe025 esi=001a0000 edi=01fb3210 eip=76ebfaf3 esp=05cbe274 ebp=05cbe2f0 iopl=0 nv ei pl zr na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246 ntdll!rtlreportcriticalfailure+0x56: 76ebfaf3 e89063fbff call ntdll!rtlraiseexception (76e75e88) 0:023> p (5b0.b5c): unknown exception - code c0000374 (first chance)
once debugger continues, prints following console:
warning: step/trace thread exited eax=000000c0 ebx=00000000 ecx=00000400 edx=00000000 esi=04420000 edi=000005b0 eip=76e75e74 esp=05cbdd88 ebp=05cbde0c iopl=0 nv ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202 ntdll!kifastsystemcallret: 76e75e74 c3 ret
then w3wp.exe dies.
my question is... how can more info error? knew related oracle because errors dissapear if put following in global.asax application_start method:
try{
new oracleconnection().connectionstring = "anything";
}catch(exception ex){
}
that simple line of code fixes application... incredible, right?
thanks in advance
update: 2011.02.09 15:46
web app working fine in windows xp & windows server 2003, iis 5 & 6.
global.asax
protected void application_start() { registerroutes(routetable.routes); logger.logmessage("application_start", "started"); } protected void application_end() { logger.logmessage("application_end", "ended"); }
logincontroller.cs
public actionresult logon() { string connstring = "data source=ip:port/service;persist security info=true;user id=user; password=user;unicode=true"; system.data.oracleclient.oracleconnection dbconn = new system.data.oracleclient.oracleconnection(); dbconn.connectionstring = connstring; system.data.oracleclient.oraclecommand dbcomm = new system.data.oracleclient.oraclecommand(); dbcomm.commandtext = "user.package.procedure"; dbcomm.commandtype = commandtype.storedprocedure; dbcomm.connection = dbconn; dbcomm.parameters.add("myparam", system.data.oracleclient.oracletype.number); dbcomm.parameters["myparam"].value = dbnull.value; system.data.oracleclient.oracledataadapter dbadap = new system.data.oracleclient.oracledataadapter(dbcomm); dataset ds = new dataset(); try { logger.logmessage("test", "1"); dbconn.open(); logger.logmessage("test", "2"); dbadap.fill(ds); logger.logmessage("test", "3"); } catch(exception ex) { logger.logmessage("test", "4"); } { logger.logmessage("test", "5"); if(dbconn.state != connectionstate.closed) { dbconn.close(); } dbconn.dispose(); } return view(); }
now curious thing: install website. browse it. you're taken login page. w3wp.exe live. enter credentials submit form. ok. log on site , start navigating through pages. pages have oracle interaction.
stop browsing.
some minutes after stopped browsing, w3wp.exe dies. ok. must happen unless specify otherwise.
browse again. taken login page , w3wp.exe live again. enter credentials , click submit. code stops when executing line "dbconn.open();"
what see in log is:
- application_start - started
- test - 1
after 1 minute or so, see following in log:
- application_start - started
- test - 1
after that, application display "internet explorer cannot display webpage" page.
log not show "test - 4" cause of catch neither shows "application_end - ended" cause of global.asax method.
eventviewer not helpful, since says w3wp.exe has failed.
now more courious thing. if apply following line in application_start method, application works:
try{ new system.data.oracleclient.oracleconnection().connectionstring = "anything"; }catch(exception ex){ }
it throws exception saying connection string format invalid. application works.
what expecting windbg? i'm expecting gives me can browse in google , google takes me blog guy wrote "you have reinstall oracle 10g" or that...
thanks again.
looks managed exception
steps diagnose managed code exception
- attach process
- issue command
.loadby sos mscorwks
.net 3.5 , .net 4.0 use.loadby sos clr
- next issue command
sxe -c "!clrstack;!pe;kb" clr ;g
this break debugger when there managed exception , provide managed /native call-stack exception details.
Comments
Post a Comment