[ofw] opensm 3.3.11 crash

Leonid Keller leonid at mellanox.co.il
Mon Oct 17 08:25:45 PDT 2011


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/127f219a/attachment.html>


More information about the ofw mailing list