[openib-general] the valgrind support of libibverbs/libmthca is not full

Dotan Barak dotanb at dev.mellanox.co.il
Sun Jan 7 23:51:22 PST 2007


Roland Dreier wrote:
> with a mem-free or tavor mode HCA?
>
> Are your test programs available from a git tree anywhere?
>
> Thanks,
>   Roland
>   

Here is the output of the valgrind when executing a "standard" test 
which comes with the driver:
The server was executed on tavor and the client was executed on memfree 
device.


on tavor
--------


# valgrind --leak-check=yes ibv_rc_pingpong -p=2
==29141== Memcheck, a memory error detector.
==29141== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==29141== Using LibVEX rev 1658, a library for dynamic binary translation.
==29141== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==29141== Using valgrind-3.2.1, a dynamic binary instrumentation framework.
==29141== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==29141== For more details, rerun with: -v
==29141==
==29141== Syscall param write(buf) points to uninitialised byte(s)
==29141==    at 0x3F8980AF22: __write_nocancel (in 
/lib64/tls/libpthread-2.3.4.so)
==29141==    by 0x4A30B2E: ibv_cmd_reg_mr (cmd.c:245)
==29141==    by 0x4C3DBA3: __mthca_reg_mr (verbs.c:134)
==29141==    by 0x4A33F75: ibv_reg_mr (verbs.c:159)
==29141==    by 0x401BFC: main (rc_pingpong.c:323)
==29141==  Address 0x7FF0004C8 is on thread 1's stack
==29141==
==29141== Syscall param write(buf) points to uninitialised byte(s)
==29141==    at 0x3F8980AF22: __write_nocancel (in 
/lib64/tls/libpthread-2.3.4.so)
==29141==    by 0x4A30B2E: ibv_cmd_reg_mr (cmd.c:245)
==29141==    by 0x4C3DBA3: __mthca_reg_mr (verbs.c:134)
==29141==    by 0x4C3DCE9: mthca_create_cq (mthca.h:259)
==29141==    by 0x4A34174: ibv_create_cq (verbs.c:247)
==29141==    by 0x401C6C: main (rc_pingpong.c:329)
==29141==  Address 0x7FF000418 is on thread 1's stack
==29141==
==29141== Syscall param write(buf) points to uninitialised byte(s)
==29141==    at 0x3F8980AF22: __write_nocancel (in 
/lib64/tls/libpthread-2.3.4.so)
==29141==    by 0x4A30D43: ibv_cmd_create_cq (cmd.c:315)
==29141==    by 0x4C3DDED: mthca_create_cq (verbs.c:233)
==29141==    by 0x4A34174: ibv_create_cq (verbs.c:247)
==29141==    by 0x401C6C: main (rc_pingpong.c:329)
==29141==  Address 0x7FF0004B8 is on thread 1's stack
==29141==
==29141== Syscall param write(buf) points to uninitialised byte(s)
==29141==    at 0x3F8980AF22: __write_nocancel (in 
/lib64/tls/libpthread-2.3.4.so)
==29141==    by 0x4A30B2E: ibv_cmd_reg_mr (cmd.c:245)
==29141==    by 0x4C3DBA3: __mthca_reg_mr (verbs.c:134)
==29141==    by 0x4C3E542: mthca_create_qp (verbs.c:523)
==29141==    by 0x4A34371: ibv_create_qp (verbs.c:342)
==29141==    by 0x401CE5: main (rc_pingpong.c:349)
==29141==  Address 0x7FF000428 is on thread 1's stack
==29141==
==29141== Syscall param write(buf) points to uninitialised byte(s)
==29141==    at 0x3F8980AF22: __write_nocancel (in 
/lib64/tls/libpthread-2.3.4.so)
==29141==    by 0x4A31633: ibv_cmd_create_qp (cmd.c:603)
==29141==    by 0x4C3E5CD: mthca_create_qp (verbs.c:554)
==29141==    by 0x4A34371: ibv_create_qp (verbs.c:342)
==29141==    by 0x401CE5: main (rc_pingpong.c:349)
==29141==  Address 0x7FF0004B8 is on thread 1's stack
==29141==
==29141== Use of uninitialised value of size 8
==29141==    at 0x4C3D262: mthca_store_qp (qp.c:909)
==29141==    by 0x4C3E5F2: mthca_create_qp (mthca.h:259)
==29141==    by 0x4A34371: ibv_create_qp (verbs.c:342)
==29141==    by 0x401CE5: main (rc_pingpong.c:349)
==29141==
==29141== Use of uninitialised value of size 8
==29141==    at 0x4C3D2D8: mthca_store_qp (qp.c:910)
==29141==    by 0x4C3E5F2: mthca_create_qp (mthca.h:259)
==29141==    by 0x4A34371: ibv_create_qp (verbs.c:342)
==29141==    by 0x401CE5: main (rc_pingpong.c:349)
==29141==
==29141== Use of uninitialised value of size 8
==29141==    at 0x4C3D276: mthca_store_qp (qp.c:918)
==29141==    by 0x4C3E5F2: mthca_create_qp (mthca.h:259)
==29141==    by 0x4A34371: ibv_create_qp (verbs.c:342)
==29141==    by 0x401CE5: main (rc_pingpong.c:349)
==29141==
==29141== Use of uninitialised value of size 8
==29141==    at 0x4C3D27C: mthca_store_qp (qp.c:919)
==29141==    by 0x4C3E5F2: mthca_create_qp (mthca.h:259)
==29141==    by 0x4A34371: ibv_create_qp (verbs.c:342)
==29141==    by 0x401CE5: main (rc_pingpong.c:349)
==29141==
==29141== Use of uninitialised value of size 8
==29141==    at 0x4C3D28C: mthca_store_qp (qp.c:919)
==29141==    by 0x4C3E5F2: mthca_create_qp (mthca.h:259)
==29141==    by 0x4A34371: ibv_create_qp (verbs.c:342)
==29141==    by 0x401CE5: main (rc_pingpong.c:349)
==29141==
==29141== Syscall param write(buf) points to uninitialised byte(s)
==29141==    at 0x3F8980AF22: __write_nocancel (in 
/lib64/tls/libpthread-2.3.4.so)
==29141==    by 0x4A31AF7: ibv_cmd_modify_qp (cmd.c:774)
==29141==    by 0x4C3E7E0: mthca_modify_qp (verbs.c:617)
==29141==    by 0x4A34463: ibv_modify_qp (verbs.c:381)
==29141==    by 0x401D4C: main (rc_pingpong.c:364)
==29141==  Address 0x7FF000478 is on thread 1's stack
==29141==
==29141== Conditional jump or move depends on uninitialised value(s)
==29141==    at 0x4C3C4F4: mthca_tavor_post_recv (qp.c:91)
==29141==    by 0x4016B9: pp_post_recv (verbs.h:965)
==29141==    by 0x401D6B: main (rc_pingpong.c:561)
==29141==
==29141== Conditional jump or move depends on uninitialised value(s)
==29141==    at 0x4C3C544: mthca_tavor_post_recv (qp.c:369)
==29141==    by 0x4016B9: pp_post_recv (verbs.h:965)
==29141==    by 0x401D6B: main (rc_pingpong.c:561)
==29141==
==29141== Use of uninitialised value of size 8
==29141==    at 0x4C3C5A1: mthca_tavor_post_recv (qp.c:386)
==29141==    by 0x4016B9: pp_post_recv (verbs.h:965)
==29141==    by 0x401D6B: main (rc_pingpong.c:561)
==29141==
==29141== Use of uninitialised value of size 8
==29141==    at 0x4C3C50E: mthca_tavor_post_recv (qp.c:360)
==29141==    by 0x4016B9: pp_post_recv (verbs.h:965)
==29141==    by 0x401D6B: main (rc_pingpong.c:561)








on memfree
----------
# valgrind --leak-check=yes ibv_rc_pingpong -p=2 10.4.3.30
==28102== Memcheck, a memory error detector.
==28102== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==28102== Using LibVEX rev 1658, a library for dynamic binary translation.
==28102== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==28102== Using valgrind-3.2.1, a dynamic binary instrumentation framework.
==28102== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==28102== For more details, rerun with: -v
==28102==
==28102== Conditional jump or move depends on uninitialised value(s)
==28102==    at 0x4C3BA8B: mthca_alloc_db_tab (memfree.c:186)
==28102==    by 0x4C3BCD0: mthca_alloc_context (mthca.c:162)
==28102==    by 0x4A32536: ibv_open_device (device.c:126)
==28102==    by 0x401B81: main (rc_pingpong.c:301)
==28102==
==28102== Conditional jump or move depends on uninitialised value(s)
==28102==    at 0x4C3BAA0: mthca_alloc_db_tab (memfree.c:187)
==28102==    by 0x4C3BCD0: mthca_alloc_context (mthca.c:162)
==28102==    by 0x4A32536: ibv_open_device (device.c:126)
==28102==    by 0x401B81: main (rc_pingpong.c:301)
==28102==
==28102== Syscall param write(buf) points to uninitialised byte(s)
==28102==    at 0x382340AF22: __write_nocancel (in 
/lib64/tls/libpthread-2.3.4.so)
==28102==    by 0x4A30B2E: ibv_cmd_reg_mr (cmd.c:245)
==28102==    by 0x4C3DBA3: __mthca_reg_mr (verbs.c:134)
==28102==    by 0x4A33F75: ibv_reg_mr (verbs.c:159)
==28102==    by 0x401BFC: main (rc_pingpong.c:323)
==28102==  Address 0x7FF000488 is on thread 1's stack
==28102==
==28102== Syscall param write(buf) points to uninitialised byte(s)
==28102==    at 0x382340AF22: __write_nocancel (in 
/lib64/tls/libpthread-2.3.4.so)
==28102==    by 0x4A30B2E: ibv_cmd_reg_mr (cmd.c:245)
==28102==    by 0x4C3DBA3: __mthca_reg_mr (verbs.c:134)
==28102==    by 0x4C3DCE9: mthca_create_cq (mthca.h:259)
==28102==    by 0x4A34174: ibv_create_cq (verbs.c:247)
==28102==    by 0x401C6C: main (rc_pingpong.c:329)
==28102==  Address 0x7FF0003D8 is on thread 1's stack
==28102==
==28102== Conditional jump or move depends on uninitialised value(s)
==28102==    at 0x4C3B7DA: mthca_alloc_db (memfree.c:91)
==28102==    by 0x4C3DD33: mthca_create_cq (mthca.h:259)
==28102==    by 0x4A34174: ibv_create_cq (verbs.c:247)
==28102==    by 0x401C6C: main (rc_pingpong.c:329)
==28102==
==28102== Conditional jump or move depends on uninitialised value(s)
==28102==    at 0x4C3B82D: mthca_alloc_db (memfree.c:97)
==28102==    by 0x4C3DD33: mthca_create_cq (mthca.h:259)
==28102==    by 0x4A34174: ibv_create_cq (verbs.c:247)
==28102==    by 0x401C6C: main (rc_pingpong.c:329)
==28102==
==28102== Use of uninitialised value of size 8
==28102==    at 0x4906375: posix_memalign (vg_replace_malloc.c:421)
==28102==    by 0x4C3ABFE: mthca_alloc_buf (mthca.h:240)
==28102==    by 0x4C3B854: mthca_alloc_db (memfree.c:102)
==28102==    by 0x4C3DD33: mthca_create_cq (mthca.h:259)
==28102==    by 0x4A34174: ibv_create_cq (verbs.c:247)
==28102==    by 0x401C6C: main (rc_pingpong.c:329)
==28102==
==28102== Use of uninitialised value of size 8
==28102==    at 0x4C3AC20: mthca_alloc_buf (buf.c:68)
==28102==    by 0x4C3B854: mthca_alloc_db (memfree.c:102)
==28102==    by 0x4C3DD33: mthca_create_cq (mthca.h:259)
==28102==    by 0x4A34174: ibv_create_cq (verbs.c:247)
==28102==    by 0x401C6C: main (rc_pingpong.c:329)
==28102==
==28102== Use of uninitialised value of size 8
==28102==    at 0x4C3AC32: mthca_alloc_buf (buf.c:73)
==28102==    by 0x4C3B854: mthca_alloc_db (memfree.c:102)
==28102==    by 0x4C3DD33: mthca_create_cq (mthca.h:259)
==28102==    by 0x4A34174: ibv_create_cq (verbs.c:247)
==28102==    by 0x401C6C: main (rc_pingpong.c:329)
==28102==
==28102== Use of uninitialised value of size 8
==28102==    at 0x4C3B85D: mthca_alloc_db (memfree.c:109)
==28102==    by 0x4C3DD33: mthca_create_cq (mthca.h:259)
==28102==    by 0x4A34174: ibv_create_cq (verbs.c:247)
==28102==    by 0x401C6C: main (rc_pingpong.c:329)
==28102==
==28102== Use of uninitialised value of size 8
==28102==    at 0x4C3B871: mthca_alloc_db (memfree.c:110)
==28102==    by 0x4C3DD33: mthca_create_cq (mthca.h:259)
==28102==    by 0x4A34174: ibv_create_cq (verbs.c:247)
==28102==    by 0x401C6C: main (rc_pingpong.c:329)
==28102==
==28102== Use of uninitialised value of size 8
==28102==    at 0x4C3B879: mthca_alloc_db (memfree.c:110)
==28102==    by 0x4C3DD33: mthca_create_cq (mthca.h:259)
==28102==    by 0x4A34174: ibv_create_cq (verbs.c:247)
==28102==    by 0x401C6C: main (rc_pingpong.c:329)
==28102==
==28102== Use of uninitialised value of size 8
==28102==    at 0x4C3B881: mthca_alloc_db (memfree.c:110)
==28102==    by 0x4C3DD33: mthca_create_cq (mthca.h:259)
==28102==    by 0x4A34174: ibv_create_cq (verbs.c:247)
==28102==    by 0x401C6C: main (rc_pingpong.c:329)
==28102==
==28102== Use of uninitialised value of size 8
==28102==    at 0x4C3B889: mthca_alloc_db (memfree.c:110)
==28102==    by 0x4C3DD33: mthca_create_cq (mthca.h:259)
==28102==    by 0x4A34174: ibv_create_cq (verbs.c:247)
==28102==    by 0x401C6C: main (rc_pingpong.c:329)
==28102==
==28102== Use of uninitialised value of size 8
==28102==    at 0x4C3B891: mthca_alloc_db (memfree.c:110)
==28102==    by 0x4C3DD33: mthca_create_cq (mthca.h:259)
==28102==    by 0x4A34174: ibv_create_cq (verbs.c:247)
==28102==    by 0x401C6C: main (rc_pingpong.c:329)



thanks
Dotan




More information about the general mailing list