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

  1. attach process
  2. issue command .loadby sos mscorwks .net 3.5 , .net 4.0 use .loadby sos clr
  3. 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

Popular posts from this blog

python - Scipy curvefit RuntimeError:Optimal parameters not found: Number of calls to function has reached maxfev = 1000 -

c# - How to add a new treeview at the selected node? -

java - netbeans "Please wait - classpath scanning in progress..." -