[openib-general] error messages for debugging

Sayantan Sur surs at cse.ohio-state.edu
Mon Jun 6 09:02:23 PDT 2005


* On Jun,3 Roland Dreier<roland at topspin.com> wrote :
>     Sayantan> Upon more debugging, I seem to be hitting this error
>     Sayantan> condition in file libmthca/src:qp.c
> 
>     > 592         if (wr->opcode >= sizeof mthca_opcode / sizeof mthca_opcode[0]) {
> 
> If you're hitting that, then wr->opcode is out of range.  Can you add
> a print and dump the value of wr->opcode and (sizeof mthca_opcode /
> sizeof mthca_opcode[0]) so we can see if something is bogus?
> 
> This doesn't fit with your dump of the bad_wr, which shows the opcode
> is IBV_WR_RDMA_WRITE, which should be fine.
> 
> Something doesn't add up here...

I seem to have gotten around this issue. When I was creating the QP, I
didn't specify any `max_inline_data' (i.e. left attr.qp.max_inline_data
completely untouched). After I specify the `max_inline_data' and use
IBV_SEND_INLINE in the `send_flags', it works.

Funny that today my debugger says that the error condition is actually
caught in qp.c (when I try to reproduce that condition):

562                                     s += sge->length;
(gdb) 
564                                     if (s > max_size) {
(gdb) 
594                             *bad_wr = wr;

This is clearly a problem with wrong inline size. Anyways, if I hit that
problem again, I'll post the gdb output.


Thanks,
Sayantan.

> 
>  - R.

-- 
http://www.cse.ohio-state.edu/~surs



More information about the general mailing list