[openib-general] [ANNOUNCE] New iWARP Branch

Pradipta Kumar Banerjee bpradip at in.ibm.com
Thu Jun 8 10:42:03 PDT 2006


Sundeep Narravula wrote:
> Hi,
> 
>> I don't see this problem at all. I am using kernel 2.6.16.16, SLES 9 glibc
>> version 2.3.3-98, gcc version 3.3.3 and AMSO1100 RNIC.
> 
> The versions I used are glibc 2.3.4, kernel 2.6.16 and gcc 3.4.3 and
> AMSO1100 RNIC.
> 
>> Will running it under gdb be of some help ?
> 
> I am able to reproduce this error with/without gdb. The glibc error
> disappears with higher number of iterations.
> 
> (gdb) r -c -vV -C10 -S10 -a 150.111.111.100 -p 9999

The problem is due to specifying a less than sufficient size (-S10, -S4) for the 
buffer. If you look into the following lines from the function rping_test_client 
  in rping.c

for (ping = 0; !cb->count || ping < cb->count; ping++) {
                 cb->state = RDMA_READ_ADV;

                /* Put some ascii text in the buffer. */
------>        cc = sprintf(cb->start_buf, "rdma-ping-%d: ", ping);

 From the above its clear that minimum size for start_buf should be atleast 
sufficient to hold the string, which in the invocations mentioned here (-S10 or 
-S4) is not the case. Hence you notice the glibc errors.


cb->start_buf is allocated in rping_setup_buffers() as
	cb->start_buf = malloc(cb->size);

Basically the check

if ((cb->size < 1) ||
                (cb->size > (RPING_BUFSIZE - 1))) {

in the main()  should be changed to something like this

#define RPING_MIN_BUFSIZE   sizeof(itoa(INT_MAX)) + sizeof("rdma-ping-%d: ")

---> 'ping' is defined as a signed int, its maximum permissible value is defined 
in limits.h (INT_MAX = 2147483647)
We can even hardcode the RPING_MIN_BUFSIZE to '19' if desired/

if ((cb->size < RPING_MIN_BUFSIZE) ||
                (cb->size > (RPING_BUFSIZE - 1))) {

Steve what do you say ??


Thanks,
Pradipta Kumar.


> Starting program: /usr/local/bin/rping -c -vV -C10 -S10 -a 150.111.111.100
> -p 9999
> Reading symbols from shared object read from target memory...done.
> Loaded system supplied DSO at 0xffffe000
> [Thread debugging using libthread_db enabled]
> [New Thread -1208465728 (LWP 23960)]
> libibverbs: Warning: no userspace device-specific driver found for uverbs1
>         driver search path: /usr/local/lib/infiniband
> libibverbs: Warning: no userspace device-specific driver found for uverbs0
>         driver search path: /usr/local/lib/infiniband
> [New Thread -1208468560 (LWP 23963)]
> [New Thread -1216861264 (LWP 23964)]
> ping data: rdma-ping
> ping data: rdma-ping
> ping data: rdma-ping
> ping data: rdma-ping
> ping data: rdma-ping
> ping data: rdma-ping
> ping data: rdma-ping
> ping data: rdma-ping
> ping data: rdma-ping
> ping data: rdma-ping
> cq completion failed status 5
> DISCONNECT EVENT...
> *** glibc detected *** free(): invalid next size (fast): 0x0804ea80 ***
> 
> Program received signal SIGABRT, Aborted.
> [Switching to Thread -1208465728 (LWP 23960)]
> 0xffffe410 in __kernel_vsyscall ()
> (gdb)
> 
>   --Sundeep.
> 
>> Thanks
>> Pradipta Kumar.
>>>> Thanx,
>>>>
>>>>
>>>> Steve.
>>>>
>>>>
>>>> On Mon, 2006-06-05 at 00:43 -0400, Sundeep Narravula wrote:
>>>>> Hi Steve,
>>>>>    We are trying the new iwarp branch on ammasso adapters. The installation
>>>>> has gone fine. However, on running rping there is a error during
>>>>> disconnect phase.
>>>>>
>>>>> $ rping -c -vV -C4 -S4 -a 150.10.108.100 -p 9999
>>>>> libibverbs: Warning: no userspace device-specific driver found for uverbs1
>>>>>          driver search path: /usr/local/lib/infiniband
>>>>> libibverbs: Warning: no userspace device-specific driver found for uverbs0
>>>>>          driver search path: /usr/local/lib/infiniband
>>>>> ping data: rdm
>>>>> ping data: rdm
>>>>> ping data: rdm
>>>>> ping data: rdm
>>>>> cq completion failed status 5
>>>>> DISCONNECT EVENT...
>>>>> *** glibc detected *** free(): invalid next size (fast): 0x0804ea80 ***
>>>>> Aborted
>>>>>
>>>>> There are no apparent errors showing up in dmesg. Is this error
>>>>> currently expected?
>>>>>
>>>>> Thanks,
>>>>>    --Sundeep.
>>>>>
> 
> 
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
> 
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
> 
> 





More information about the general mailing list