Compiling mediatomb

I got this run time error when using mediatomb.
Anyone could tell me how to debug this program?
I've very limited experience in C++, but I think I could try to debug it myself.

But I don't know where or which file cause this error.(there are tons of file in source...)
The only thing I know is just the first sentence: some function is calling free() and got errors.

I could upload source if needed, but you can download it by googling mediatomb.
Before that, mediatomb wont compile because most libmp4 function is deprecated and won't work anymore. I did my little adjustment, if needed, I would upload my code too.

This back trace is too big to post, I just post some of them here:P
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
*** glibc detected *** mediatomb: free(): invalid pointer: 0x0942e5ec ***
======= Backtrace: =========
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x6e221)[0xb6ee2221]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x6fa88)[0xb6ee3a88]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(cfree+0x6d)[0xb6ee6b3d]
mediatomb(_ZN15LibMP4V2Handler12fillMetadataEN3zmm3RefI7CdsItemEE+0xd6)[0x80cf6f6]
mediatomb[0x81ad81a]
======= Memory map: ========
08048000-081f0000 r-xp 00000000 08:01 7577893    /usr/local/bin/mediatomb
081f0000-081f1000 r--p 001a8000 08:01 7577893    /usr/local/bin/mediatomb
081f1000-081f2000 rw-p 001a9000 08:01 7577893    /usr/local/bin/mediatomb
081f2000-08205000 rw-p 00000000 00:00 0 
092d8000-0947f000 rw-p 00000000 00:00 0          [heap]
...
..
.
b160c000-b1836000 rw-p 00000000 08:01 7594213    /usr/share/file/magic.mgc
b1836000-b1837000
...
..
.
b483c000-b4846000 r-xp 00000000 08:01 213666     /lib/i386-linux-gnu/i686/cmov/libnss_files-2.13.so
b4846000-b4847000 r--p 00009000 08:01 213666     /lib/i386-linux-gnu/i686/cmov/libnss_files-2.13.so
b4847000-b4848000 rw-p 0000a000 08:01 213666     /lib/i386-linux-gnu/i686/cmov/libnss_files-2.13.so
b485b000-b485c000 ---p 00000000 00:00 0 
b485c000-b50d2000 rw-p 00000000 00:00 0 
b50d2000-b52d2000 r--p 00000000 08:01 7577931    /usr/lib/locale/locale-archive
b52d2000-b52d8000 rw-p 00000000 00:00 0 
b52d8000-b52db000 r-xp 00000000 08:01 180273     /lib/i386-linux-gnu/libgpg-error.so.0.8.0
b52db000-b52dc000 rw-p 00002000 08:01 180273     /lib/i386-linux-gnu/libgpg-error.so.0.8.0
b52dc000-b5368000 r-xp 00000000 08:01 7568573    /usr/lib/liborc-0.4.so.0.16.0
b5368000-b536c000 rw-p 0008c000 08:01 7568573    /usr/lib/liborc-0.4.so.0.16.0
b536c000-b5372000 r-xp 00000000 08:01 7565154    /usr/lib/libogg.so.0.7.1
b5372000-b5373000 rw-p 00005000 08:01 7565154    /usr/lib/libogg.so.0.7.1
b5373000-b5383000 r-xp 00000000 08:01 7644050    /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0
b5383000-b5384000 rw-p 00010000 08:01 7644050    /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0
b5384000-b5385000 rw-p 00000000 00:00 0 
b5385000-b5395000 r-xp 00000000 08:01 7644218    /usr/lib/i386-linux-gnu/libtasn1.so.3.1.13
b5395000-b5396000 rw-p 0000f000 08:01 7644218    /usr/lib/i386-linux-gnu/libtasn1.so.3.1.13
b5396000-b5399000 r-xp 00000000 08:01 180369     /lib/i386-linux-gnu/libkeyutils.so.1.4
b5399000-b539a000 r--p 00002000 08:01 180369     /lib/i386-linux-gnu/libkeyutils.so.1.4
b539a000-b539b000 rw-p 00003000 08:01 180369     /lib/i386-linux-gnu/libkeyutils.so.1.4
b539b000-b539d000 r-xp 00000000 08:01 213651     /lib/i386-linux-gnu/i686/cmov/libdl-2.13.so
b539d000-b539e000 r--p 00001000 08:01 213651     /lib/i386-linux-gnu/i686/cmov/libdl-2.13.so
b539e000-b539f000 rw-p 00002000 08:01 213651     /lib/i386-linux-gnu/i686/cmov/libdl-2.13.so
b539f000-b53a6000 r-xp 00000000 08:01 7644143    /usr/lib/i386-linux-gnu/libkrb5support.so.0.1
b53a6000-b53a7000 r--p 00006000 08:01 7644143    /usr/lib/i386-linux-gnu/libkrb5support.so.0.1
b53a7000-b53a8000 rw-p 00007000 08:01 7644143    /usr/lib/i386-linux-gnu/libkrb5support.so.0.1
b53a8000-b53ab000 r-xp 00000000 08:01 180305     /lib/i386-linux-gnu/libcom_err.so.2.1
b53ab000-b53ac000 rw-p 00002000 08:01 180305     /lib/i386-linux-gnu/libcom_err.so.2.1
.
..
..
....
....
.
..
.
b702d000-b7109000 r-xp 00000000 08:01 7643442    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
b7109000-b710a000 ---p 000dc000 08:01 7643442    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
b710a000-b710e000 r--p 000dc000 08:01 7643442    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
b710e000-b710f000 rw-p 000e0000 08:01 7643442    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
b710f000-b7117000 rw-p 00000000 00:00 0 
b7117000-b7181000 r-xp 00000000 08:01 7643568    /usr/lib/i386-linux-gnu/libcurl.so.4.2.0
b7181000-b7182000 ---p 0006a000 08:01 7643568    /usr/lib/i386-linux-gnu/libcurl.so.4.2.0
b7182000-b7184000 r--p 0006a000 08:01 7643568    /usr/lib/i386-linux-gnu/libcurl.so.4.2.0
b7184000-b7185000 rw-p 0006c000 08:01 7643568    /usr/lib/i386-linux-gnu/libcurl.so.4.2.0
b7185000-b71ab000 r-xp 00000000 08:01 180294     /lib/i386-linux-gnu/libexpat.so.1.5.2
b71ab000-b71ad000 rw-p 00026000 08:01 180294     /lib/i386-linux-gnu/libexpat.so.1.5.2
b71ad000-b71bf000 r-xp 00000000 08:01 4587635    /usr/lib/libffmpegthumbnailer.so.4.0.7
b71bf000-b71c0000 rw-p 00011000 08:01 4587635    /usr/lib/libffmpegthumbnailer.so.4.0.7Aborted
Last edited on
You''re trying free memory that wasn't allocated by the system allocator. You must be running with a debug heap.

This sort of problem is extremely difficult to find. If your memory is managed in classes, it creatly reduces the chance of this happening and/or reduces the time to find it.

With C, you've got your work cut out for you, especially if you can't reproduce it t will.
How to run a debug heap?
Could you suggest some resources for me to dig in?
Topic archived. No new replies allowed.