Git Product home page Git Product logo

Comments (11)

cunha avatar cunha commented on August 22, 2024

Can you provide additional information to help us track the problem? A stack trace of strace would help.

from mtraceroute.

dragonxtek avatar dragonxtek commented on August 22, 2024

Can you provide additional information to help us track the problem? A stack trace of strace would help.

Here it is

log.txt

from mtraceroute.

rlcalmeida avatar rlcalmeida commented on August 22, 2024

@dragonxtek, please try upgrading libpcap. Version 1.8.1 should suffices.

from mtraceroute.

dragonxtek avatar dragonxtek commented on August 22, 2024

@dragonxtek, please try upgrading libpcap. Version 1.8.1 should suffices.

I installed the last version (1.9) and I have the same issue
selection_135

Here it is the new strace log
logv2.txt

from mtraceroute.

cunha avatar cunha commented on August 22, 2024

from mtraceroute.

cunha avatar cunha commented on August 22, 2024
==20055== HEAP SUMMARY:
==20055==     in use at exit: 64 bytes in 3 blocks
==20055==   total heap usage: 4,296 allocs, 4,293 frees, 138,665 bytes allocated
==20055== 
==20055== 16 bytes in 1 blocks are indirectly lost in loss record 1 of 3
==20055==    at 0x4C2DBC5: calloc (vg_replace_malloc.c:711)
==20055==    by 0x10E5D5: addr_to_str (addr.c:128)
==20055==    by 0x10E635: addr_bytes_to_str (addr.c:138)
==20055==    by 0x10B639: mda_read_response.constprop.5 (mt_mda.c:419)
==20055==    by 0x10BCE1: is_per_packet (mt_mda.c:513)
==20055==    by 0x10BCE1: mda (mt_mda.c:743)
==20055==    by 0x10C0F6: mt_mda (mt_mda.c:773)
==20055==    by 0x1091BB: main (mt.c:289)
==20055== 
==20055== 24 bytes in 1 blocks are indirectly lost in loss record 2 of 3
==20055==    at 0x4C2BBAF: malloc (vg_replace_malloc.c:299)
==20055==    by 0x10EA55: list_insert (list.c:48)
==20055==    by 0x10C043: is_per_packet (mt_mda.c:515)
==20055==    by 0x10C043: mda (mt_mda.c:743)
==20055==    by 0x10C0F6: mt_mda (mt_mda.c:773)
==20055==    by 0x1091BB: main (mt.c:289)
==20055== 
==20055== 64 (24 direct, 40 indirect) bytes in 1 blocks are definitely lost in loss record 3 of 3
==20055==    at 0x4C2BBAF: malloc (vg_replace_malloc.c:299)
==20055==    by 0x10EA1D: list_create (list.c:33)
==20055==    by 0x10BC67: is_per_packet (mt_mda.c:506)
==20055==    by 0x10BC67: mda (mt_mda.c:743)
==20055==    by 0x10C0F6: mt_mda (mt_mda.c:773)
==20055==    by 0x1091BB: main (mt.c:289)

@rlcalmeida let's check these leaks in the meantime while @dragonxtek gets us the dump with the incorrect memory accesses.

from mtraceroute.

dragonxtek avatar dragonxtek commented on August 22, 2024

Another thing that would help is to valgrind --leak-check=full --show-reachable=yes ./mtraceroute 8.8.8.8 -c mda.

Here it is
valgrind.txt

from mtraceroute.

dragonxtek avatar dragonxtek commented on August 22, 2024

I meant to ask for a (GDB) stack trace on my first message but a typo made that unclear. Can you compile with debug symbols and run it inside GDB so we get a better idea of where the segfault is happening? `.

I tried with ping option:

(gdb) run
Starting program: /usr/local/bin/mtraceroute 8.8.8.8 -c ping
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x000055555555acb3 in dst_create (a=<optimized out>, ip_dst=0x555555562590) at dst.c:59
59	    d->ip_dst   = ip_dst;

from mtraceroute.

rlcalmeida avatar rlcalmeida commented on August 22, 2024

@dragonxtek can you compile with -g -O0 and provide gdb's backtrace output?

from mtraceroute.

cunha avatar cunha commented on August 22, 2024

From @dragonxtek's valgrind dump:

==32117== Command: mtraceroute 8.8.8.8 -c mda
==32117== 
==32117== Invalid read of size 8
==32117==    at 0x10ECB3: dst_create (dst.c:61)
==32117==    by 0x109328: main (mt.c:278)
==32117==  Address 0x10 is not stack'd, malloc'd or (recently) free'd
==32117== 
==32117== 
==32117== Process terminating with default action of signal 11 (SIGSEGV)
==32117==  Access not within mapped region at address 0x10
==32117==    at 0x10ECB3: dst_create (dst.c:61)
==32117==    by 0x109328: main (mt.c:278)

from mtraceroute.

dragonxtek avatar dragonxtek commented on August 22, 2024

@dragonxtek can you compile with -g -O0 and provide gdb's backtrace output?

(gdb) run
Starting program: /usr/local/bin/mtraceroute 8.8.8.8 -c ping
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x000055555555acb3 in dst_create (a=<optimized out>, ip_dst=0x555555562590) at dst.c:59
59	    d->ip_dst   = ip_dst;
(gdb) backtrace 
#0  0x000055555555acb3 in dst_create (a=<optimized out>, ip_dst=0x555555562590) at dst.c:59
#1  0x0000555555555329 in main (argc=<optimized out>, argv=<optimized out>) at mt.c:278
(gdb) backtrace full
#0  0x000055555555acb3 in dst_create (a=<optimized out>, ip_dst=0x555555562590) at dst.c:59
        d = 0x5555555625b0
        r = 0x5555555625e0
        n = 0x0
        i = 0x5555555637f0
        if_ip = 0x555555562820
#1  0x0000555555555329 in main (argc=<optimized out>, argv=<optimized out>) at mt.c:278
        args = 0x555555562260
        a = 0x5555555624a0
        d = <optimized out>

from mtraceroute.

Related Issues (6)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.