sasikanthbabu/Layer3Switch — Issue #9: ping crashes
Author: sasikanthbabu
Created: 2012-02-28 19:00:14+00:00
State: open

OpenSwitch# ping 192.168.122.1
PING 192.168.122.1 (192.168.122.1): 56 data bytes

--- 192.168.122.1 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
==20480== Thread 13:
==20480== Conditional jump or move depends on uninitialised value(s)
==20480== at 0x806191B: pqueue_valid (pqueue.c:84)
==20480== by 0x806B37A: netconn_free (api_msg.c:657)
==20480== by 0x806A18C: netconn_delete (api_lib.c:128)
==20480== by 0x806D119: lwip_close (sockets.c:503)
==20480== by 0x805B4BA: ping (ping.c:482)
==20480== by 0x805B4EB: ping_me (ping.c:487)
==20480== by 0x8059027: cparser_cmd_ping_hostaddr (ip_cli.c:81)
==20480== by 0x805148A: cparser_glue_ping_hostaddr (cparser_tree.c:65)
==20480== by 0x804D78C: cparser_execute_cmd (cparser.c:264)
==20480== by 0x804E483: cparser_input (cparser.c:628)
==20480== by 0x804E52D: cparser_run (cparser.c:651)
==20480== by 0x804A7A6: cmdinterface (cli_main.c:245)
==20480==
==20480== Use of uninitialised value of size 4
==20480== at 0x8061927: pqueue_valid (pqueue.c:86)
==20480== by 0x806B37A: netconn_free (api_msg.c:657)
==20480== by 0x806A18C: netconn_delete (api_lib.c:128)
==20480== by 0x806D119: lwip_close (sockets.c:503)
==20480== by 0x805B4BA: ping (ping.c:482)
==20480== by 0x805B4EB: ping_me (ping.c:487)
==20480== by 0x8059027: cparser_cmd_ping_hostaddr (ip_cli.c:81)
==20480== by 0x805148A: cparser_glue_ping_hostaddr (cparser_tree.c:65)
==20480== by 0x804D78C: cparser_execute_cmd (cparser.c:264)
==20480== by 0x804E483: cparser_input (cparser.c:628)
==20480== by 0x804E52D: cparser_run (cparser.c:651)
==20480== by 0x804A7A6: cmdinterface (cli_main.c:245)
==20480==
==20480== Invalid read of size 4
==20480== at 0x8061927: pqueue_valid (pqueue.c:86)
==20480== by 0x806B37A: netconn_free (api_msg.c:657)
==20480== by 0x806A18C: netconn_delete (api_lib.c:128)
==20480== by 0x806D119: lwip_close (sockets.c:503)
==20480== by 0x805B4BA: ping (ping.c:482)
==20480== by 0x805B4EB: ping_me (ping.c:487)
==20480== by 0x8059027: cparser_cmd_ping_hostaddr (ip_cli.c:81)
==20480== by 0x805148A: cparser_glue_ping_hostaddr (cparser_tree.c:65)
==20480== by 0x804D78C: cparser_execute_cmd (cparser.c:264)
==20480== by 0x804E483: cparser_input (cparser.c:628)
==20480== by 0x804E52D: cparser_run (cparser.c:651)
==20480== by 0x804A7A6: cmdinterface (cli_main.c:245)
==20480== Address 0x785e is not stack'd, malloc'd or (recently) free'd
==20480==
==20480==
==20480== Process terminating with default action of signal 11 (SIGSEGV)
==20480== Access not within mapped region at address 0x785E
==20480== at 0x8061927: pqueue_valid (pqueue.c:86)
==20480== by 0x806B37A: netconn_free (api_msg.c:657)
==20480== by 0x806A18C: netconn_delete (api_lib.c:128)
==20480== by 0x806D119: lwip_close (sockets.c:503)
==20480== by 0x805B4BA: ping (ping.c:482)
==20480== by 0x805B4EB: ping_me (ping.c:487)
==20480== by 0x8059027: cparser_cmd_ping_hostaddr (ip_cli.c:81)
==20480== by 0x805148A: cparser_glue_ping_hostaddr (cparser_tree.c:65)
==20480== by 0x804D78C: cparser_execute_cmd (cparser.c:264)
==20480== by 0x804E483: cparser_input (cparser.c:628)
==20480== by 0x804E52D: cparser_run (cparser.c:651)
==20480== by 0x804A7A6: cmdinterface (cli_main.c:245)
==20480== If you believe this happened as a result of a stack
==20480== overflow in your program's main thread (unlikely but
==20480== possible), you can try to increase the size of the
==20480== main thread stack using the --main-stacksize= flag.
==20480== The main thread stack size used in this run was 10485760.
==20480==
==20480== HEAP SUMMARY:
==20480== in use at exit: 700,702,229 bytes in 166 blocks
==20480== total heap usage: 63,170 allocs, 63,004 frees, 754,093,101 bytes allocated
==20480==
==20480== LEAK SUMMARY:
==20480== definitely lost: 398 bytes in 23 blocks
==20480== indirectly lost: 588 bytes in 25 blocks
==20480== possibly lost: 2,416 bytes in 30 blocks
==20480== still reachable: 700,698,827 bytes in 88 blocks
==20480== suppressed: 0 bytes in 0 blocks
==20480== Rerun with --leak-check=full to see details of leaked memory
==20480==
==20480== For counts of detected and suppressed errors, rerun with: -v
==20480== Use --track-origins=yes to see where uninitialised values come from
==20480== ERROR SUMMARY: 66 errors from 16 contexts (suppressed: 14 from 8)
Killed
[root@Shash src]#