[omniORB] OBJECT_NOT_EXIST exception

Quinlan, Michael MQuinlan@idacorpenergy.com
Tue, 7 Aug 2001 07:55:36 -0600


This is a multi-part message in MIME format.

------_=_NextPart_001_01C11F48.A213ECE8
Content-Type: multipart/related;
	type="multipart/alternative";
	boundary="----_=_NextPart_002_01C11F48.A213ECE8"


------_=_NextPart_002_01C11F48.A213ECE8
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_003_01C11F48.A213ECE8"


------_=_NextPart_003_01C11F48.A213ECE8
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

=20
I have an application that is working correctly in our development
environment (a Sun Enterprise 3500 running Solaris 7). When we port it
to our test environment (2 Enterprise 450s in a cluster, also running
Solaris 7) I get a CORBA::OBJECT_NOT_EXIST exception when I attempt to
do a callback using a passed reference to a CORBA server.
=20
Our UNIX people have verified that software-wise the environments are
identical; the Solaris patches are the same, the LD_LIBRARY_PATHs are
equivalent, the library directory contents are the same, etc. We have
also verified that the firewall isn't blocking any traffic between the
computers.
=20
We are using a combination of omniORB 3.0.3 for one side and 2.8 for the
other, but we have re-created the problem with a sample program using
just omniORB 2.8.
=20
The sequence of operations is: the first program ("zs") uses omniNames
to locate a factory object. zs uses the factory object to create a
"txmWrapper" object, then calls the Qry function in the txmWrapper. One
of the parameters passed to the Qry function is a reference to a CORBA
object within zs (the "rate server") that the txmWrapper uses to request
additional information. Everything works fine in our development
environment. In our test environment, everything works fine until the
txmWrapper attempts to call back to the rate server. That is where the
CORBA::OBJECT_NOT_EXIST exception is thrown.
=20
I can re-create this problem with the txmWrapper running on my Windows
2000 computer and the zs program running in the test environment, and
also with both programs running in the test environment.
=20
The only difference between the development and test environments that I
can find is that the development environment has a single IP address,
while the test environment has two IP addresses - a "virtual" IP address
for the cluster (which points to whichever node is currently active),
and a "real" IP address for the node.
=20
Below is the call trace from where the exception is thrown, taken with
the txmWrapper running on Windows 2000 and zs running in our test
environment. I have also attached a log.
=20
If anyone has any suggestions as to how we might go about resolving this
problem, I would really appreciate it.
=20
Thanks,
=20
omniRemoteIdentity::locateRequest() line 231
omniObjRef::_locateRequest() line 598
omniObjRef::_assertExistsAndTypeVerified() line 228
omniObjRef::_invoke(omniCallDescriptor & {...}, unsigned char 1) line
516
CorbaTxmModule::_objref_CtxmPricer::getMCInfo(const char * 0x004985f0,
const char * 0x0049861a,
_CORBA_ConstrType_Variable_OUT_arg<CorbaTxmModule::CtxmMCInfo,_CORBA_Con
strType_Variable_Var<CorbaTxmModule::CtxmMCInfo> > {...}) line 961
Pricer_wrap::getMCInfo(const char * 0x004985f0, const char * 0x0049861a,
TxmMCInfo & {...}) line 140
MontgomerySpreadModel::getCurrencyInfo() line 1598 + 55 bytes
MontgomerySpreadModel::Qry(const TxmQueryParameters & {...}, TxmPricer &
{...}, std::vector<TxmResults,std::allocator<TxmResults> > & {...}) line
1695
CtxmModel_i::Qry(const CorbaTxmModule::CtxmQueryParameters & {...},
CorbaTxmModule::_objref_CtxmPricer * 0x00498088,
CorbaTxmModule::CtxmResultSet_out {...}) line 181 + 31 bytes
CorbaTxmModule::_impl_CtxmModel::_dispatch(GIOP_S & {...}) line 2078 +
48 bytes
omniOrbPOA::dispatch(GIOP_S & {...}, omniLocalIdentity * 0x004991a8)
line 1331 + 26 bytes
omniLocalIdentity::dispatch(GIOP_S & {...}) line 143
GIOP_S::HandleRequest(unsigned char 0) line 602
GIOP_S::dispatcher(Strand * 0x0048e930) line 404
tcpSocketWorker::_realRun(void * 0x0048e930) line 1622 + 9 bytes
omniORB::giopServerThreadWrapper::run(void (void *)* 0x67e8e32e
tcpSocketWorker::_realRun(void *), void * 0x0048e930) line 541 + 14
bytes
tcpSocketWorker::run(void * 0x0048e930) line 1597
omni_thread_wrapper(void * 0x0048a0d8) line 496
_threadstartex(void * 0x0048a180) line 212 + 13 bytes
KERNEL32! 77e837cd()
=20
---
Michael A. Quinlan
IDACORP Energy
  MQuinlan@idacorpenergy.com
  208-275-8408
=20
=20

------_=_NextPart_003_01C11F48.A213ECE8
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">

<meta name=3D"Microsoft Theme 2.00" content=3D"Clear Day.htm 011">

<meta name=3DProgId content=3DWord.Document>
<meta name=3DGenerator content=3D"Microsoft Word 9">
<meta name=3DOriginator content=3D"Microsoft Word 9">
<link rel=3DFile-List href=3D"cid:filelist.xml@01C11F16.576457E0">
<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:DoNotRelyOnCSS/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:DocumentKind>DocumentEmail</w:DocumentKind>
  <w:EnvelopeVis/>
 </w:WordDocument>
</xml><![endif]-->
<style>
<!--
 /* Font Definitions */
@font-face
	{font-family:Verdana;
	panose-1:2 11 6 4 3 5 4 4 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:536871559 0 0 0 415 0;}
 /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
p.MsoAutoSig, li.MsoAutoSig, div.MsoAutoSig
	{margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
p
	{margin-right:0in;
	mso-margin-top-alt:auto;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
span.EmailStyle17
	{mso-style-type:personal-compose;
	mso-ansi-font-size:12.0pt;
	mso-ascii-font-family:Verdana;
	mso-hansi-font-family:Verdana;
	mso-bidi-font-family:Arial;
	color:navy;
	font-weight:normal;
	font-style:normal;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1027"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1"/>
 </o:shapelayout></xml><![endif]-->
</head>

<body bgcolor=3Dwhite background=3D"cid:image001.jpg@01C11F16.576457E0" =
lang=3DEN-US
style=3D'tab-interval:.5in'>
<img src=3D"cid:image001.jpg@01C11F16.576457E0"
v:src=3D"cid:image001.jpg@01C11F16.576457E0" v:shapes=3D"_x0000_Mail" =
width=3D0
height=3D0 class=3Dshape style=3D'display:none;width:0;height:0'><!--[if =
gte mso 9]><xml>
 <v:background id=3D"_x0000_s1025" o:bwmode=3D"white">
  <v:fill src=3D"cid:image001.jpg@01C11F16.576457E0" o:title=3D"Clear =
Day Bkgrd"=20
   type=3D"tile"/>
 </v:background></xml><![endif]-->

<div class=3DSection1>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>I have an application that is working =
correctly in
our development environment (a Sun Enterprise 3500 running Solaris 7). =
When we
port it to our test environment (2 Enterprise 450s in a cluster, also =
running
Solaris 7) I get a CORBA::OBJECT_NOT_EXIST exception when I attempt to =
do a
callback using a passed reference to a CORBA =
server.<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>Our UNIX people have verified that =
software-wise the
environments are identical; the Solaris patches are the same, the
LD_LIBRARY_PATHs are equivalent, the library directory contents are the =
same,
etc. We have also verified that the firewall isn&#8217;t blocking any =
traffic between
the computers.<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>We are using a combination of omniORB 3.0.3 =
for one
side and 2.8 for the other, but we have re-created the problem with a =
sample program
using just omniORB 2.8.<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>The sequence of operations is: the first =
program (&#8220;zs&#8221;)
uses omniNames to locate a factory object. zs uses the factory object to =
create
a &#8220;txmWrapper&#8221; object, then calls the Qry function in the =
txmWrapper. One of
the parameters passed to the Qry function is a reference to a CORBA =
object
within zs (the &#8220;rate server&#8221;) that the txmWrapper uses to =
request additional
information. Everything works fine in our development environment. In =
our test
environment, everything works fine until the txmWrapper attempts to call =
back
to the rate server. That is where the CORBA::OBJECT_NOT_EXIST exception =
is
thrown.<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>I can re-create this problem with the =
txmWrapper
running on my Windows 2000 computer and the zs program running in the =
test environment,
and also with both programs running in the test =
environment.<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>The only difference between the development =
and test
environments that I can find is that the development environment has a =
single
IP address, while the test environment has two IP addresses &#8211; a =
&#8220;virtual&#8221; IP
address for the cluster (which points to whichever node is currently =
active),
and a &#8220;real&#8221; IP address for the =
node.<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>Below is the call trace from where the =
exception is
thrown, taken with the txmWrapper running on Windows 2000 and zs running =
in our
test environment. I have also attached a =
log.<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>If anyone has any suggestions as to how we =
might go
about resolving this problem, I would really appreciate =
it.<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>Thanks,<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>omniRemoteIdentity::locateRequest() line =
231<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>omniObjRef::_locateRequest() line =
598<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>omniObjRef::_assertExistsAndTypeVerified() =
line 228<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>omniObjRef::_invoke(omniCallDescriptor &amp; =
{...},
unsigned char 1) line 516<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier =
New"'>CorbaTxmModule::_objref_CtxmPricer::getMCInfo(const
char * 0x004985f0, const char * 0x0049861a, =
_CORBA_ConstrType_Variable_OUT_arg&lt;CorbaTxmModule::CtxmMCInfo,_CORBA_C=
onstrType_Variable_Var&lt;CorbaTxmModule::CtxmMCInfo&gt;
&gt; {...}) line 961<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>Pricer_wrap::getMCInfo(const char * =
0x004985f0,
const char * 0x0049861a, TxmMCInfo &amp; {...}) line =
140<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>MontgomerySpreadModel::getCurrencyInfo() line =
1598 +
55 bytes<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>MontgomerySpreadModel::Qry(const =
TxmQueryParameters
&amp; {...}, TxmPricer &amp; {...},
std::vector&lt;TxmResults,std::allocator&lt;TxmResults&gt; &gt; &amp; =
{...})
line 1695<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>CtxmModel_i::Qry(const
CorbaTxmModule::CtxmQueryParameters &amp; {...}, =
CorbaTxmModule::_objref_CtxmPricer
* 0x00498088, CorbaTxmModule::CtxmResultSet_out {...}) line 181 + 31 =
bytes<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier =
New"'>CorbaTxmModule::_impl_CtxmModel::_dispatch(GIOP_S
&amp; {...}) line 2078 + 48 bytes<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>omniOrbPOA::dispatch(GIOP_S &amp; {...},
omniLocalIdentity * 0x004991a8) line 1331 + 26 =
bytes<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>omniLocalIdentity::dispatch(GIOP_S &amp; =
{...}) line
143<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>GIOP_S::HandleRequest(unsigned char 0) line =
602<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>GIOP_S::dispatcher(Strand * 0x0048e930) line =
404<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>tcpSocketWorker::_realRun(void * 0x0048e930) =
line
1622 + 9 bytes<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>omniORB::giopServerThreadWrapper::run(void =
(void *)*
0x67e8e32e tcpSocketWorker::_realRun(void *), void * 0x0048e930) line =
541 + 14
bytes<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>tcpSocketWorker::run(void * 0x0048e930) line =
1597<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>omni_thread_wrapper(void * 0x0048a0d8) line =
496<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>_threadstartex(void * 0x0048a180) line 212 + =
13
bytes<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D2 =
color=3Dnavy
face=3D"Courier New"><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:"Courier New"'>KERNEL32! =
77e837cd()<o:p></o:p></span></font></span></p>

<p class=3DMsoNormal><span class=3DEmailStyle17><font size=3D3 =
color=3Dnavy
face=3DVerdana><span =
style=3D'font-size:12.0pt;font-family:Verdana'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=3DMsoAutoSig><!--[if supportFields]><font size=3D2 =
color=3D"#0033cc"=20
face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;color:#0033CC'><span=20
style=3D'mso-element:field-begin'></span><span style=3D"mso-spacerun:=20
yes">&nbsp;</span>AUTOTEXTLIST \s &quot;E-mail Signature&quot; <span=20
style=3D'mso-element:field-separator'></span></span></font><![endif]--><f=
ont
color=3Dnavy><span style=3D'color:navy'>---</span></font><font =
color=3Dnavy><span
style=3D'color:navy;mso-color-alt:windowtext'><o:p></o:p></span></font></=
p>

<p class=3DMsoAutoSig><font size=3D3 color=3Dnavy face=3D"Times New =
Roman"><span
style=3D'font-size:12.0pt;color:navy'>Michael A. =
Quinlan</span></font><font
color=3Dnavy><span =
style=3D'color:navy;mso-color-alt:windowtext'><o:p></o:p></span></font></=
p>

<p class=3DMsoAutoSig><font size=3D3 color=3Dnavy face=3D"Times New =
Roman"><span
style=3D'font-size:12.0pt;color:navy'>IDACORP Energy</span></font><font
color=3Dnavy><span =
style=3D'color:navy;mso-color-alt:windowtext'><o:p></o:p></span></font></=
p>

<p class=3DMsoAutoSig><font size=3D3 color=3Dnavy face=3D"Times New =
Roman"><span
style=3D'font-size:12.0pt;color:navy'><span style=3D"mso-spacerun: =
yes">&nbsp;
</span>MQuinlan@idacorpenergy.com</span></font><font color=3Dnavy><span
style=3D'color:navy;mso-color-alt:windowtext'><o:p></o:p></span></font></=
p>

<p class=3DMsoAutoSig><font size=3D3 color=3Dnavy face=3D"Times New =
Roman"><span
style=3D'font-size:12.0pt;color:navy'><span style=3D"mso-spacerun: =
yes">&nbsp;
</span>208-275-8408</span></font><font color=3Dnavy><span =
style=3D'color:navy;
mso-color-alt:windowtext'><o:p></o:p></span></font></p>

<p class=3DMsoAutoSig><font size=3D3 color=3Dnavy face=3D"Times New =
Roman"><span
style=3D'font-size:12.0pt;color:navy'><![if =
!supportEmptyParas]>&nbsp;<![endif]></span></font><font
color=3Dnavy><span =
style=3D'color:navy;mso-color-alt:windowtext'><o:p></o:p></span></font></=
p>

<p class=3DMsoNormal><!--[if supportFields]><font size=3D2 =
color=3D"#0033cc"=20
face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;color:#0033CC'><span=20
style=3D'mso-element:field-end'></span></span></font><![endif]--><font =
size=3D2
color=3D"#0033cc" face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial;
color:#0033CC'>&nbsp;<o:p></o:p></span></font></p>

</div>

</body>

</html>

------_=_NextPart_003_01C11F48.A213ECE8--

------_=_NextPart_002_01C11F48.A213ECE8
Content-Type: image/jpeg;
	name="image001.jpg"
Content-Transfer-Encoding: base64
Content-ID: <image001.jpg@01C11F16.576457E0>
Content-Description: image001.jpg
Content-Location: image001.jpg

/9j/4AAQSkZJRgABAgEASABIAAD/7QVoUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQABOEJJTQPzAAAAAAAIAAAAAAAAAAA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgAB
AAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEA
MgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP//////////
//////////////////8D6AAAAAD/////////////////////////////A+gAAAAA////////////
/////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQIAAAAAAAQ
AAAAAQAAAkAAAAJAAAAAADhCSU0ECQAAAAAD9wAAAAEAAACAAAAAgAAAAYAAAMAAAAAD2wAYAAH/
2P/gABBKRklGAAECAQBIAEgAAP/+ACdGaWxlIHdyaXR0ZW4gYnkgQWRvYmUgUGhvdG9zaG9wqCA0
LjAA/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwM
DAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwM
DAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAgACAAwEiAAIRAQMR
Af/dAAQACP/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVS
wWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSl
tcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFR
YXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOE
w9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A
9LSS7JlWLMolMkkmpXSTpIqUnCinCQQySTSknWilJkpSQtKxSlJJBKk6ZOkFP//Q9LlJMnVZmVCY
qRUUCpSRKUpkErSpBRhOkClkCkmCcJ1rVQmUk0JKUm7p0kEqSTSkUrU//9H0kKQUU8qoCzlclRTy
opEqC6SSSSVwlokkihScJAJwEgEKCRTpiE6lLJJJkFLJJJJq5//S9JTJ0ypthcJJkpSUukklqipS
kmhSARAQVBJOE6ctWCdJIooYlRKkSok6ppXBSRSCcodEv//T9JSSThVGwxITKZTQhSrUE6QCdOCC
uEkySKF5Ugop0QgrpikSokokqCxTKSaEwrlBP8Eyfskh/9T0lSUSkCVUZ2SSYKSKFkkkgipSSdMU
lLpFMmJStVLykmlOhaVJJAJ4RQslKSZBL//V9JTwkkqjOunUU4KchSQTpJKWJSTEppQtNLkpkk8I
bqUAnSTIqZJSmSRQsmUlEoFIf//W9KCSSdVWdZIJQkkplKZNKSNopc6qMKSZBKycFOkB4pUq1JJ4
CUI0i1kydMUClUpkkkEv/9kAOEJJTQQGAAAAAAAHAAMAAAABAQD//gAnRmlsZSB3cml0dGVuIGJ5
IEFkb2JlIFBob3Rvc2hvcKggNC4wAP/uAA5BZG9iZQBkAAAAAAH/2wCEAAoHBwcIBwoICAoPCggK
DxINCgoNEhQQEBIQEBQRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBCwwMFRMV
IhgYIhQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
DP/AABEIASwBLAMBEQACEQEDEQH/3QAEACb/xAGiAAAABwEBAQEBAAAAAAAAAAAEBQMCBgEABwgJ
CgsBAAICAwEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAgEDAwIEAgYHAwQCBgJzAQIDEQQABSES
MUFRBhNhInGBFDKRoQcVsUIjwVLR4TMWYvAkcoLxJUM0U5KismNzwjVEJ5OjszYXVGR0w9LiCCaD
CQoYGYSURUaktFbTVSga8uPzxNTk9GV1hZWltcXV5fVmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9zhI
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

------_=_NextPart_002_01C11F48.A213ECE8--

------_=_NextPart_001_01C11F48.A213ECE8
Content-Type: text/plain;
	name="TestLog.txt"
Content-Transfer-Encoding: base64
Content-Description: TestLog.txt
Content-Disposition: attachment;
	filename="TestLog.txt"

c3RhcnRlZCBQT0ENCnJlZ2lzdGVyaW5nIE9uZQ0KZ290IFJvb3QgQ29udGV4dA0KZ2V0dGluZyBl
eGlzdGluZyBDaGlsZCBDb250ZXh0DQpnb3QgQ2hpbGQgQ29udGV4dA0KcmVnaXN0ZXJpbmcgWk5U
RVNUDQpnb3QgUm9vdCBDb250ZXh0DQpnZXR0aW5nIGV4aXN0aW5nIENoaWxkIENvbnRleHQNCmdv
dCBDaGlsZCBDb250ZXh0DQpvbW5pT1JCOiBzdHJhbmQgUm9wZTo6aW5jclJlZkNvdW50OiBvbGQg
dmFsdWUgPSAwDQpvbW5pT1JCOiBDcmVhdGluZyByZWYgdG8gcmVtb3RlOiBrZXk8MHg0OTRlNDk1
ND4NCiB0YXJnZXQgaWQgICAgICA6IElETDpvbWcub3JnL0NPUkJBL09iamVjdDoxLjANCiBtb3N0
IGRlcml2ZWQgaWQ6IG9tZy5vcmcvQ09SQkEvSW5pdGlhbFJlZmVyZW5jZXM6MS4wDQpvbW5pT1JC
OiBJbml0aWFsaXNpbmcgb21uaUR5bmFtaWMgbGlicmFyeS4NCm9tbmlPUkI6IEluaXRpYWxpc2lu
ZyBpbmNvbWluZyByb3BlIGZhY3Rvcmllcy4NCm9tbmlPUkI6IHN0cmFuZCBSaXBwZXI6IHN0YXJ0
Lg0Kb21uaU9SQjogc2NhdmVuZ2VyIDogc3RhcnQuDQpvbW5pT1JCOiBzdHJhbmQgUm9wZTo6aW5j
clJlZkNvdW50OiBvbGQgdmFsdWUgPSAwDQpvbW5pT1JCOiBTdGFydGluZyBpbmNvbWluZyByb3Bl
IGZhY3Rvcmllcy4NCm9tbmlPUkI6IEFjdGl2YXRpbmc6IHJvb3Q8MD4NCm9tbmlPUkI6IENyZWF0
aW5nIHJlZiB0byBsb2NhbDogcm9vdDwwPg0KIHRhcmdldCBpZCAgICAgIDogSURMOkNvcmJhVHht
TW9kdWxlL0N0eG1Nb2RlbEZhY3Rvcnk6MS4wDQogbW9zdCBkZXJpdmVkIGlkOiBJREw6Q29yYmFU
eG1Nb2R1bGUvQ3R4bU1vZGVsRmFjdG9yeToxLjANCm9tbmlPUkI6IFRyeWluZyB0byByZXNvbHZl
IGluaXRpYWwgcmVmZXJlbmNlIGBOYW1lU2VydmljZScNCiB3aXRoIGJvb3QgYWdlbnQ6IElPUjow
MTAwMDAwMDI0MDAwMDAwNmY2ZDY3MmU2ZjcyNjcyZjQzNGY1MjQyNDEyZjQ5NmU2OTc0Njk2MTZj
NTI2NTY2NjU3MjY1NmU2MzY1NzMzYTMxMmUzMDAwMDEwMDAwMDAwMDAwMDAwMDFjMDAwMDAwMDEw
MTAwMDAwODAwMDAwMDY2NmM2ZjcyNjk2NDYxMDA5MDY1Y2RjZDA0MDAwMDAwNDk0ZTQ5NTQNCm9t
bmlPUkI6IHRjcFNvY2tldE1UZmFjdG9yeSBSZW5kZXp2b3VzZXI6IHN0YXJ0Lg0Kb21uaU9SQjog
dGNwU29ja2V0TVRmYWN0b3J5IFJlbmRlenZvdXNlcjogYmxvY2sgb24gYWNjZXB0KCkNCm9tbmlP
UkI6IHN0cmFuZCBSb3BlOjppbmNyUmVmQ291bnQ6IG9sZCB2YWx1ZSA9IDANCm9tbmlPUkI6IENy
ZWF0aW5nIHJlZiB0byByZW1vdGU6IGJvYTwweDNiNjk2MWNjMjhjMzZlNzEwMDAwMDAwMj4NCiB0
YXJnZXQgaWQgICAgICA6IElETDpvbWcub3JnL0NPUkJBL09iamVjdDoxLjANCiBtb3N0IGRlcml2
ZWQgaWQ6IElETDpvbWcub3JnL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0OjEuMA0Kb21uaU9SQjog
SW5pdGlhbCByZWZlcmVuY2UgYE5hbWVTZXJ2aWNlJyByZXNvbHZlZCB3aXRoIGJvb3QgYWdlbnQu
DQpvbW5pT1JCOiBMb2NhdGVSZXF1ZXN0IHRvIHJlbW90ZTogYm9hPDB4M2I2OTYxY2MyOGMzNmU3
MTAwMDAwMDAyPg0Kb21uaU9SQjogc3RyYW5kIFJvcGU6OmluY3JSZWZDb3VudDogb2xkIHZhbHVl
ID0gMQ0Kb21uaU9SQjogQ3JlYXRpbmcgcmVmIHRvIHJlbW90ZTogYm9hPDB4M2I2OTYxY2MyOGMz
NmU3MTAwMDAwMDA0Pg0KIHRhcmdldCBpZCAgICAgIDogSURMOm9tZy5vcmcvQ09SQkEvT2JqZWN0
OjEuMA0KIG1vc3QgZGVyaXZlZCBpZDogSURMOm9tZy5vcmcvQ29zTmFtaW5nL05hbWluZ0NvbnRl
eHQ6MS4wDQpvbW5pT1JCOiBvbW5pUmVtb3RlSWRlbnRpdHkgZGVsZXRlZC4NCm9tbmlPUkI6IHN0
cmFuZCBSb3BlOjpkZWNyUmVmQ291bnQ6IG9sZCB2YWx1ZSA9IDINCm9tbmlPUkI6IE9ialJlZihJ
REw6b21nLm9yZy9Db3NOYW1pbmcvTmFtaW5nQ29udGV4dDoxLjApIC0tIGRlbGV0ZWQuDQpvbW5p
T1JCOiBSZWYgdG86IHJvb3Q8MD4gLS0gZGVsZXRlZC4NCm9tbmlPUkI6IEFjdGl2YXRpbmc6IHJv
b3Q8MTY3NzcyMTY+DQpvbW5pT1JCOiBDcmVhdGluZyByZWYgdG8gbG9jYWw6IHJvb3Q8MD4NCiB0
YXJnZXQgaWQgICAgICA6IElETDpDb3JiYVR4bU1vZHVsZS9DdHhtTW9kZWxGYWN0b3J5OjEuMA0K
IG1vc3QgZGVyaXZlZCBpZDogSURMOkNvcmJhVHhtTW9kdWxlL0N0eG1Nb2RlbEZhY3Rvcnk6MS4w
DQpvbW5pT1JCOiBJbml0aWFsIHJlZmVyZW5jZSBgTmFtZVNlcnZpY2UnIHJlc29sdmVkIGZyb20g
LU9SQkluaXRSZWYgYXJndW1lbnQuDQpvbW5pT1JCOiBzdHJhbmQgUm9wZTo6aW5jclJlZkNvdW50
OiBvbGQgdmFsdWUgPSAxDQpvbW5pT1JCOiBDcmVhdGluZyByZWYgdG8gcmVtb3RlOiBib2E8MHgz
YjY5NjFjYzI4YzM2ZTcxMDAwMDAwMDQ+DQogdGFyZ2V0IGlkICAgICAgOiBJREw6b21nLm9yZy9D
T1JCQS9PYmplY3Q6MS4wDQogbW9zdCBkZXJpdmVkIGlkOiBJREw6b21nLm9yZy9Db3NOYW1pbmcv
TmFtaW5nQ29udGV4dDoxLjANCm9tbmlPUkI6IG9tbmlSZW1vdGVJZGVudGl0eSBkZWxldGVkLg0K
b21uaU9SQjogc3RyYW5kIFJvcGU6OmRlY3JSZWZDb3VudDogb2xkIHZhbHVlID0gMg0Kb21uaU9S
QjogT2JqUmVmKElETDpvbWcub3JnL0Nvc05hbWluZy9OYW1pbmdDb250ZXh0OjEuMCkgLS0gZGVs
ZXRlZC4NCm9tbmlPUkI6IFJlZiB0bzogcm9vdDwwPiAtLSBkZWxldGVkLg0Kb21uaU9SQjogc2Nh
dmVuZ2VyIDogc2Nhbm5pbmcgY29ubmVjdGlvbnMNCm9tbmlPUkI6IHNjYXZlbmdlciA6IHNjYW5u
aW5nIGNvbm5lY3Rpb25zDQpvbW5pT1JCOiBzY2F2ZW5nZXIgOiBzY2FubmluZyBjb25uZWN0aW9u
cw0Kb21uaU9SQjogc2NhdmVuZ2VyIDogc2Nhbm5pbmcgY29ubmVjdGlvbnMNCm9tbmlPUkI6IHNj
YXZlbmdlciA6IHNjYW5uaW5nIGNvbm5lY3Rpb25zDQpvbW5pT1JCOiBzY2F2ZW5nZXIgOiBzY2Fu
bmluZyBjb25uZWN0aW9ucw0Kb21uaU9SQjogc2NhdmVuZ2VyIDogc2Nhbm5pbmcgY29ubmVjdGlv
bnMNCm9tbmlPUkI6IHNjYXZlbmdlciA6IHNjYW5uaW5nIGNvbm5lY3Rpb25zDQpvbW5pT1JCOiBz
Y2F2ZW5nZXIgOiBzY2FubmluZyBjb25uZWN0aW9ucw0Kb21uaU9SQjogc2NhdmVuZ2VyIDogc2Nh
bm5pbmcgY29ubmVjdGlvbnMNCm9tbmlPUkI6IHNjYXZlbmdlciA6IHNjYW5uaW5nIGNvbm5lY3Rp
b25zDQpvbW5pT1JCOiBzY2F2ZW5nZXIgOiBzY2FubmluZyBjb25uZWN0aW9ucw0Kb21uaU9SQjog
c2NhdmVuZ2VyIDogc2Nhbm5pbmcgY29ubmVjdGlvbnMNCm9tbmlPUkI6IHNjYXZlbmdlciA6IHNj
YW5uaW5nIGNvbm5lY3Rpb25zDQpvbW5pT1JCOiBzY2F2ZW5nZXIgOiBzY2FubmluZyBjb25uZWN0
aW9ucw0Kb21uaU9SQjogc2NhdmVuZ2VyIDogc2Nhbm5pbmcgY29ubmVjdGlvbnMNCm9tbmlPUkI6
IHRjcFNvY2tldE1UZmFjdG9yeSBSZW5kZXp2b3VzZXI6IHVuYmxvY2sgZnJvbSBhY2NlcHQoKQ0K
b21uaU9SQjogdGNwU29ja2V0TVRmYWN0b3J5IFJlbmRlenZvdXNlcjogYWNjZXB0IG5ldyBzdHJh
bmQuDQpvbW5pT1JCOiB0Y3BTb2NrZXRNVGZhY3RvcnkgUmVuZGV6dm91c2VyOiBibG9jayBvbiBh
Y2NlcHQoKQ0Kb21uaU9SQjogdGNwU29ja2V0TVRmYWN0b3J5IFdvcmtlcjogc3RhcnQuDQpvbW5p
T1JCOiBIYW5kbGluZyBhIEdJT1AgTE9DQVRFX1JFUVVFU1QuDQpvbW5pT1JCOiBBY3RpdmF0aW5n
OiByb290PDMzNTU0NDMyPg0Kb21uaU9SQjogQ3JlYXRpbmcgcmVmIHRvIGxvY2FsOiByb290PDMz
NTU0NDMyPg0KIHRhcmdldCBpZCAgICAgIDogSURMOkNvcmJhVHhtTW9kdWxlL0N0eG1Nb2RlbDox
LjANCiBtb3N0IGRlcml2ZWQgaWQ6IElETDpDb3JiYVR4bU1vZHVsZS9DdHhtTW9kZWw6MS4wDQpv
bW5pT1JCOiBSZWYgdG86IHJvb3Q8MzM1NTQ0MzI+IC0tIGRlbGV0ZWQuDQpvbW5pT1JCOiBIYW5k
bGluZyBhIEdJT1AgTE9DQVRFX1JFUVVFU1QuDQpvbW5pT1JCOiBzdHJhbmQgUm9wZTo6aW5jclJl
ZkNvdW50OiBvbGQgdmFsdWUgPSAwDQpvbW5pT1JCOiBDcmVhdGluZyByZWYgdG8gcmVtb3RlOiBi
b2E8MHgzYjY5NjMwYjgxZmRjZjY5MDAwMDAwMDI+DQogdGFyZ2V0IGlkICAgICAgOiBJREw6Q29y
YmFUeG1Nb2R1bGUvQ3R4bVByaWNlcjoxLjANCiBtb3N0IGRlcml2ZWQgaWQ6IElETDpDb3JiYVR4
bU1vZHVsZS9DdHhtUHJpY2VyOjEuMA0Kb21uaU9SQjogTG9jYXRlUmVxdWVzdCB0byByZW1vdGU6
IGJvYTwweDNiNjk2MzBiODFmZGNmNjkwMDAwMDAwMj4NCm9tbmlPUkI6IHNjYXZlbmdlciA6IHNj
YW5uaW5nIGNvbm5lY3Rpb25zDQpvbW5pT1JCOiB0aHJvdyBPQkpFQ1RfTk9UX0VYSVNUIGZyb20g
cmVtb3RlSWRlbnRpdHkuY2M6MjMxDQpvbW5pT1JCOiBvbW5pUmVtb3RlSWRlbnRpdHkgZGVsZXRl
ZC4NCm9tbmlPUkI6IHN0cmFuZCBSb3BlOjpkZWNyUmU=

------_=_NextPart_001_01C11F48.A213ECE8--