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
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general