[Openib-windows] [PATCH] access to freed object in ioc_pnp

Fabian Tillier ftillier at silverstorm.com
Fri Aug 4 08:06:44 PDT 2006


Hi Jan,

On 8/4/06, Jan Bottorff <jbottorff at xsigo.com> wrote:
> Hi,
>
> I downloaded 440, and still seem to see a hang on shutdown. If I ignore
> the assert at:
>
> *** Assertion failed: cl_status == CL_SUCCESS
> ***   Source File: k:\windows-openib\src\winib-440\core\al\al_common.c,
> line 535

Thanks for checking this.

> I unfortunately get an unusable dump of references objects, as you are
> using %016I64x in the format strings, which on 32-bit Windows prints
> garbage for the object type (as the object type pointer was just printed
> in hex as part of the previous pointer).

That's unfortunate, as a dump of the object types would definietly help.

> The format %p is supposed to
> "do the right thing" for pointers on 32 or 64 bit Windows.

It does do the right thing if you use DbgPrint, but it does the wrong
things if you use WPP tracing.  The problem is that %p in WPP tracing
is evaluated based on the application used to analyze the trace
(traceview), not the machine on which the trace was gathered.  Since
traceview is only available as a 32-bit app, everything gets
interpreted incorrectly when using 64-bit systems.

> I'll try to fix the format strings, or else shift over to 64-bit Windows
> for a while (I spend about 50/50 on each) and see if I can get a
> meaningful reference dump.

I'll go through and fix the debug statements to use macro magic to
give me a poor-man's %p functionality.

- Fab




More information about the ofw mailing list