[ofw] opensm 3.3.11 crash

Smith, Stan stan.smith at intel.com
Mon Oct 17 11:19:54 PDT 2011


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!
I just wanted you to understand you are way ahead of us in win8 testing...

Stan.

From: Leonid Keller [mailto:leonid at mellanox.co.il]
Sent: Monday, October 17, 2011 9:56 AM
To: Smith, Stan; Hefty, Sean
Cc: ofw_list
Subject: RE: opensm 3.3.11 crash

Stan, I absolutely didn't mean to criticize or so. :(
I know you didn't work with win8, but even if you did, so what ?
It was just a bug  report with mentioning where it happened.
Because I'm not sure you can reproduce it in win7, for example.

From: Smith, Stan [mailto:stan.smith at intel.com]
Sent: Monday, October 17, 2011 6:17 PM
To: Leonid Keller; Hefty, Sean
Cc: ofw_list
Subject: RE: opensm 3.3.11 crash

Hi Leo,
  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...  :)
Please continue the win8 reports as it only helps, just understand no one here has walked the win8 path.

Stan.

From: ofw-bounces at lists.openfabrics.org [mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of Leonid Keller
Sent: Monday, October 17, 2011 8:26 AM
To: Hefty, Sean
Cc: ofw_list
Subject: [ofw] opensm 3.3.11 crash

Hi Sean,

We experienced a crash of opensm in win8.
The core reason for the crash was that WinMad driver has not started for some reason.
So libibumad couldn't work.
But it had a bug in error flow which caused an access violation.

I bring here two quotes of umad_open_port() function with my comments:

// umad_open_port

...
                hr = WmGetObject(IID_IWMProvider, (LPVOID*) &ports[portid].prov);
                if (FAILED(hr)) {
                                CloseHandle(ports[portid].overlap.hEvent);
                                portid = GetLastError() & 0x80000000;
                                goto out;
                }
                // if there is no providers WmGetObject will return error, but portid wil be set to 0
                // We saw it when GetLastError() returned 6. Maybe you mean it to be HRESULT_FROM_WIN32(GetLastError()) ?

                // As a result umad_open_port() returns 0, i.e. SUCCESS which causes later an access violation.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20111017/142e3985/attachment.html>


More information about the ofw mailing list