<br><br><div class="gmail_quote">On Thu, Oct 27, 2011 at 11:49 AM, Smith, Stan <span dir="ltr"><<a href="mailto:stan.smith@intel.com">stan.smith@intel.com</a>></span> wrote:<br><blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote">






<div lang="EN-US" vlink="purple" link="blue">
<div>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Hello,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">PSB.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<div style="border-width: medium medium medium 1.5pt; border-style: none none none solid; border-color: currentColor currentColor currentColor blue; padding: 0in 0in 0in 4pt;">
<div>
<div style="border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(181, 196, 223) currentColor currentColor; padding: 3pt 0in 0in;">
<p class="MsoNormal"><b><span style="font-size: 10pt;">From:</span></b><span style="font-size: 10pt;"> Leonid Keller [mailto:<a href="mailto:leonid@mellanox.com" target="_blank">leonid@mellanox.com</a>]
<br>
<b>Sent:</b> Thursday, October 27, 2011 5:52 AM</span><div class="im"><br>
<b>To:</b> Smith, Stan; Hefty, Sean<br>
<b>Cc:</b> ofw_list<br>
<b>Subject:</b> RE: opensm 3.3.11 crash<u></u><u></u></div><p></p>
</p></div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">What about Vista ?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">(I’m not sure whether it’s relevant for you)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">We are compiling code for Server 2008  with 6001.18001 compiler.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">We got two warnings.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal">[stan]<u></u><u></u></p>
<p class="MsoNormal">I use the compiler from the Windows Driver Kit version 7.1.0 release  ‘C:\WinDDK\7600.16385.1’ and compile for win7, Svr2008-R2, Svr2008(wlh) and Vista on x86, x64 & ia64.<u></u><u></u></p>
<p class="MsoNormal">None of the compiles of osm_link_mgr.c show any compilation errors/warnings?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Googling around I see the 6001.1801 compiler is from a much older DDK, around 2009.<u></u><u></u></p>
<p class="MsoNormal">You might want to consider updating your compilation environment (WDK).<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Stan.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">In link_mgr_set_physp_pi() on zero-size memset:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                memset(payload + sizeof(ib_port_info_t), 0,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                       IB_SMP_DATA_SIZE - sizeof(ib_port_info_t));<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">( Because after the last changes IB_SMP_DATA_SIZE - sizeof(ib_port_info_t) = 0; )<u></u><u></u></span></p>
<p style="text-indent: 0.5in;" class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">I’ve just removed the memset.</span></p><p class="MsoNormal"><span style="color: rgb(31, 73, 125);"></span> </p></div></div></div></blockquote><div> </div><div>
I know I removed other similar (size 0) memset but somehow missed this one :-( I'll send an official patch for this shortly so it'll be fixed in the next version.</div><div> </div><div>-- Hal</div><div> </div><blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote">
<div lang="EN-US" vlink="purple" link="blue"><div><div style="border-width: medium medium medium 1.5pt; border-style: none none none solid; border-color: currentColor currentColor currentColor blue; padding: 0in 0in 0in 4pt;">
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"></span> </p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Index: B:/users/leonid/svn/winib/trunk/ulp/opensm/user/opensm/osm_link_mgr.c<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">===================================================================<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">--- B:/users/leonid/svn/winib/trunk/ulp/opensm/user/opensm/osm_link_mgr.c            (revision 9050)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">+++ B:/users/leonid/svn/winib/trunk/ulp/opensm/user/opensm/osm_link_mgr.c         (revision 9051)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">@@ -157,8 +157,6 @@<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                memcpy(payload, p_old_pi, sizeof(ib_port_info_t));<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">-              memset(payload + sizeof(ib_port_info_t), 0,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">-                     IB_SMP_DATA_SIZE - sizeof(ib_port_info_t));<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                /*<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                   Should never write back a value that is bigger then 3 in<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Another warnings are in  osm_torus.c:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">The warnings I witnessed in compilation osm_torus.c required the cast (bool) in order to get a clean (warnings free compile).<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">The (bool) cast is not in the OFED for Linux code base.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">13>b:\users\leonid\svn\winib\trunk\ulp\opensm\user\opensm\osm_torus.c(1191) : warning C4311: 'type cast' : pointer truncation from  'f_switch *' to 'unsigned int'<u></u><u></u></span></p>

<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">And some more like that.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">I excluded them with #pragma – didn’t want to change Linux code.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Index: B:/users/leonid/svn/winib/trunk/ulp/opensm/user/opensm/osm_torus.c<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">===================================================================<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">--- B:/users/leonid/svn/winib/trunk/ulp/opensm/user/opensm/osm_torus.c   (revision 9078)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">+++ B:/users/leonid/svn/winib/trunk/ulp/opensm/user/opensm/osm_torus.c                (revision 9079)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">@@ -1188,7 +1188,9 @@<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                                port_cnt = osm_node_get_num_physp(osm_node);<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                                sw_guid = osm_node_get_node_guid(osm_node);<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">+#pragma warning( disable:4311 )<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                                success = (bool)alloc_fswitch(fabric, sw_guid, port_cnt);<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">+#pragma warning( default:4311 )<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                                if (!success)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                                                goto out;<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">@@ -1457,6 +1459,7 @@<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                jp1 = canonicalize(j + 1, t->y_sz);<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                kp1 = canonicalize(k + 1, t->z_sz);<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">+#pragma warning( disable:4311 )<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                fp  = set_fp_bit((bool)t->sw[i][j][k], 0, 0, 0);<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                fp |= set_fp_bit((bool)t->sw[ip1][j][k], x_sz_gt1, 0, 0);<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                fp |= set_fp_bit((bool)t->sw[i][jp1][k], 0, y_sz_gt1, 0);<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">@@ -1465,6 +1468,7 @@<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                fp |= set_fp_bit((bool)t->sw[ip1][j][kp1], x_sz_gt1, 0, z_sz_gt1);<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                fp |= set_fp_bit((bool)t->sw[i][jp1][kp1], 0, y_sz_gt1, z_sz_gt1);<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                fp |= set_fp_bit((bool)t->sw[ip1][jp1][kp1], x_sz_gt1, y_sz_gt1, z_sz_gt1);<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">+#pragma warning( default:4311 )<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                fp |= x_sz_gt1 << 8;<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                fp |= y_sz_gt1 << 9;<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">@@ -8789,6 +8793,7 @@<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                return IB_SUCCESS;<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">+#pragma warning( disable:4311 )<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> static<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> bool good_xy_ring(struct torus *t, const int x, const int y, const int z)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> {<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">@@ -8804,6 +8809,7 @@<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                return good_ring;<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">+#pragma warning( default:4311 )<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> static<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> struct t_switch *find_plane_mid(struct torus *t, const int z)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">@@ -8830,6 +8836,7 @@<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                return NULL;<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">+#pragma warning( disable:4311 )<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> static<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> struct t_switch *find_stree_root(struct torus *t)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> {<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">@@ -8892,6 +8899,7 @@<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> out:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">                return root;<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">+#pragma warning( default:4311 )<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> static<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> bool sw_in_master_stree(struct t_switch *sw)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<div>
<div style="border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(181, 196, 223) currentColor currentColor; padding: 3pt 0in 0in;">
<p class="MsoNormal"><b><span style="font-size: 10pt;">From:</span></b><span style="font-size: 10pt;"> Smith, Stan [mailto:<a href="mailto:stan.smith@intel.com" target="_blank">stan.smith@intel.com</a>]
<br>
<b>Sent:</b> Monday, October 17, 2011 8:20 PM</span><div><div></div><div class="h5"><br>
<b>To:</b> Leonid Keller; Hefty, Sean<br>
<b>Cc:</b> ofw_list<br>
<b>Subject:</b> RE: opensm 3.3.11 crash<u></u><u></u></div></div><p></p>
</p></div>
</div><div><div></div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">No problems Leo; please feel to criticize, I value your insights and experience – all comments are welcome; that’s the way the code gets better!<u></u><u></u></span></p>

<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">I just wanted you to understand you are way ahead of us in win8 testing…<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Stan.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<div style="border-width: medium medium medium 1.5pt; border-style: none none none solid; border-color: currentColor currentColor currentColor blue; padding: 0in 0in 0in 4pt;">
<div>
<div style="border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(181, 196, 223) currentColor currentColor; padding: 3pt 0in 0in;">
<p class="MsoNormal"><b><span style="font-size: 10pt;">From:</span></b><span style="font-size: 10pt;"> Leonid Keller [mailto:<a href="mailto:leonid@mellanox.co.il" target="_blank">leonid@mellanox.co.il</a>]
<br>
<b>Sent:</b> Monday, October 17, 2011 9:56 AM<br>
<b>To:</b> Smith, Stan; Hefty, Sean<br>
<b>Cc:</b> ofw_list<br>
<b>Subject:</b> RE: opensm 3.3.11 crash<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Stan, I absolutely didn’t mean to criticize or so.
</span><span style="color: rgb(31, 73, 125); font-family: Wingdings;">L</span><span style="color: rgb(31, 73, 125);"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">I know you didn’t work with win8, but even if you did, so what ?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">It was just a bug  report with mentioning where it happened.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Because I’m not sure you can reproduce it in win7, for example.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<div>
<div style="border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(181, 196, 223) currentColor currentColor; padding: 3pt 0in 0in;">
<p class="MsoNormal"><b><span style="font-size: 10pt;">From:</span></b><span style="font-size: 10pt;"> Smith, Stan [mailto:<a href="mailto:stan.smith@intel.com" target="_blank">stan.smith@intel.com</a>]
<br>
<b>Sent:</b> Monday, October 17, 2011 6:17 PM<br>
<b>To:</b> Leonid Keller; Hefty, Sean<br>
<b>Cc:</b> ofw_list<br>
<b>Subject:</b> RE: opensm 3.3.11 crash<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Hi Leo,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">  Just so everyone understands, neither Sean nor myself have done any testing on Win8; we are still trying to get winOFED 3.0 out the door… 
</span><span style="color: rgb(31, 73, 125); font-family: Wingdings;">J</span><span style="color: rgb(31, 73, 125);"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Please continue the win8 reports as it only helps, just understand no one here has walked the win8 path.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Stan.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"><u></u> <u></u></span></p>
<div style="border-width: medium medium medium 1.5pt; border-style: none none none solid; border-color: currentColor currentColor currentColor blue; padding: 0in 0in 0in 4pt;">
<div>
<div style="border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(181, 196, 223) currentColor currentColor; padding: 3pt 0in 0in;">
<p class="MsoNormal"><b><span style="font-size: 10pt;">From:</span></b><span style="font-size: 10pt;"> <a href="mailto:ofw-bounces@lists.openfabrics.org" target="_blank">ofw-bounces@lists.openfabrics.org</a> [mailto:<a href="mailto:ofw-bounces@lists.openfabrics.org" target="_blank">ofw-bounces@lists.openfabrics.org</a>]
<b>On Behalf Of </b>Leonid Keller<br>
<b>Sent:</b> Monday, October 17, 2011 8:26 AM<br>
<b>To:</b> Hefty, Sean<br>
<b>Cc:</b> ofw_list<br>
<b>Subject:</b> [ofw] opensm 3.3.11 crash<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Hi Sean,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">We experienced a crash of opensm in win8.<u></u><u></u></p>
<p class="MsoNormal">The core reason for the crash was that WinMad driver has not started for some reason.<u></u><u></u></p>
<p class="MsoNormal">So libibumad couldn’t work.<u></u><u></u></p>
<p class="MsoNormal">But it had a bug in error flow which caused an access violation.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I bring here two quotes of umad_open_port() function with my comments:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">// umad_open_port<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">…<u></u><u></u></p>
<p class="MsoNormal">                hr = WmGetObject(IID_IWMProvider, (LPVOID*) &ports[portid].prov);<u></u><u></u></p>
<p class="MsoNormal">                if (FAILED(hr)) {<u></u><u></u></p>
<p class="MsoNormal">                                CloseHandle(ports[portid].overlap.hEvent);<u></u><u></u></p>
<p class="MsoNormal">                                portid = GetLastError() & 0x80000000;<u></u><u></u></p>
<p class="MsoNormal">                                goto out;<u></u><u></u></p>
<p class="MsoNormal">                }<u></u><u></u></p>
<p class="MsoNormal">                <span style="background: yellow;">
// if there is no providers WmGetObject will return error, but portid wil be set to 0<u></u><u></u></span></p>
<p class="MsoNormal"><span style="background: yellow;">                // We saw it when GetLastError() returned 6. Maybe you mean it to be HRESULT_FROM_WIN32(GetLastError()) ?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="background: yellow;"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="background: yellow;">                // As a result umad_open_port() returns 0, i.e. SUCCESS which causes later an access violation</span>.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div></div></div>
</div>
</div>

<br>_______________________________________________<br>
ofw mailing list<br>
<a href="mailto:ofw@lists.openfabrics.org">ofw@lists.openfabrics.org</a><br>
<a href="http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw" target="_blank">http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw</a><br></blockquote></div><br>