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.
_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw