Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

segfault when analyzing mp3 in mad_stream_finish #7082

Closed
mixxxbot opened this issue Aug 22, 2022 · 4 comments
Closed

segfault when analyzing mp3 in mad_stream_finish #7082

mixxxbot opened this issue Aug 22, 2022 · 4 comments

Comments

@mixxxbot
Copy link
Collaborator

Reported by: daschuer
Date: 2013-06-23T15:31:05Z
Status: Invalid
Importance: Critical
Launchpad Issue: lp1193853


here is the tail of the mixxx.log:

Debug [Main]: LibraryTableModel(0xa367f90) select() took 584 ms 
Debug [Main]: BeatFactory::loadBeatsFromByteArray could not parse serialized beats. 
Debug [Main]: m_sTracks.count() = 1 
Debug [AnalyserQueue 1]: Prioritizing "Wolke 7" "/home/daniel/Musik/Volume_Musik/Party Wolle/2011/Alben/Dream Dance Vol. 59-2CD-2011/104 -  Rockstroh - Wolke 7.mp3" 
Debug [AnalyserQueue 1]: Analyzing "Wolke 7" "/home/daniel/Musik/Volume_Musik/Party Wolle/2011/Alben/Dream Dance Vol. 59-2CD-2011/104 -  Rockstroh - Wolke 7.mp3" 
Debug [AnalyserQueue 1]: AnalysisDAO fetched 0 analyses, 0 bytes for track 8787 in 0 ms 
Debug [AnalyserQueue 1]: Beat calculation started with plugin "qm-tempotracker:0" 
Debug [AnalyserQueue 1]: Vampanalyser BlockSize:  1024 
Debug [AnalyserQueue 1]: Vampanalyser StepSize:  512 
Debug [Main]: Committing transaction on "qt_sql_default_connection" result: true 
Debug [Main]: PlaylistTableModel(0xa376030) select() took 5 ms 
*** Error in `./mixxx': double free or corruption (!prev): 0x0a81f590 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x767e2)[0xb5c8a7e2]
/lib/i386-linux-gnu/libc.so.6(+0x77530)[0xb5c8b530]
/usr/lib/i386-linux-gnu/libmad.so.0(mad_stream_finish+0x29)[0xb5fae2e9]
./mixxx[0x84366a2]
./mixxx[0x816b6ac]
/usr/lib/i386-linux-gnu/libQtCore.so.4(+0x5a504)[0xb73c6504]
/usr/lib/i386-linux-gnu/libQtCore.so.4(+0x67b18)[0xb73d3b18]
/lib/i386-linux-gnu/libpthread.so.0(+0x6d78)[0xb5f83d78]
/lib/i386-linux-gnu/libc.so.6(clone+0x5e)[0xb5d053de]
======= Memory map: ========
08048000-08732000 r-xp 00000000 08:01 963381     /home/daniel/workspace/auto-dj-crates/mixxx/mixxx
08732000-08733000 r--p 006ea000 08:01 963381     /home/daniel/workspace/auto-dj-crates/mixxx/mixxx
08733000-08736000 rw-p 006eb000 08:01 963381     /home/daniel/workspace/auto-dj-crates/mixxx/mixxx
08736000-0873c000 rw-p 00000000 00:00 0 
09af8000-0c845000 rw-p 00000000 00:00 0          [heap]
9f025000-9f026000 ---p 00000000 00:00 0 
9f026000-9f826000 rw-p 00000000 00:00 0          [stack:3613]
9f826000-9f827000 ---p 00000000 00:00 0 
9f827000-a0027000 rw-p 00000000 00:00 0          [stack:3612]
a0027000-a0028000 ---p 00000000 00:00 0 
a0028000-a0be5000 rw-p 00000000 00:00 0          [stack:3611]
a0be5000-a10d0000 r--s 00000000 08:41 1893       /media/daniel/Musik/Volume_Musik/Musik/Party Wolle/2011/Alben/Dream Dance Vol. 59-2CD-2011/104 -  Rockstroh - Wolke 7.mp3
a10d0000-a15bb000 r--s 00000000 08:41 1893       /media/daniel/Musik/Volume_Musik/Musik/Party Wolle/2011/Alben/Dream Dance Vol. 59-2CD-2011/104 -  Rockstroh - Wolke 7.mp3
a15bb000-a15bc000 ---p 00000000 00:00 0 
a15bc000-a1dbc000 rw-p 00000000 00:00 0          [stack:3598]
a1dbc000-a1ffe000 rw-s 00000000 00:04 11075606   /SYSV00000000 (deleted)
a213a000-a223b000 rw-p 00000000 00:00 0 
a223b000-a2c3b000 rwxp 00000000 00:00 0 
a2c3b000-a6b62000 rw-p 00000000 00:00 0 
a6b8c000-a6ba3000 r-xp 00000000 08:01 1339495    /usr/lib/i386-linux-gnu/libvamp-sdk.so.2.4.0
a6ba3000-a6ba4000 r--p 00016000 08:01 1339495    /usr/lib/i386-linux-gnu/libvamp-sdk.so.2.4.0
a6ba4000-a6ba5000 rw-p 00017000 08:01 1339495    /usr/lib/i386-linux-gnu/libvamp-sdk.so.2.4.0
a6bbf000-a6c26000 r-xp 00000000 08:01 321210     /usr/local/lib/mixxx/plugins/vamp/libmixxxminimal.so
a6c26000-a6c27000 ---p 00067000 08:01 321210     /usr/local/lib/mixxx/plugins/vamp/libmixxxminimal.so
a6c27000-a6c28000 r--p 00067000 08:01 321210     /usr/local/lib/mixxx/plugins/vamp/libmixxxminimal.so
a6c28000-a6c29000 rw-p 00068000 08:01 321210     /usr/local/lib/mixxx/plugins/vamp/libmixxxminimal.so
a6c29000-a6ca9000 rw-s 00000000 00:04 11042837   /SYSV00000000 (deleted)
a6ca9000-a6d09000 rw-s 00000000 00:04 11010067   /SYSV00000000 (deleted)
a6d09000-a6d49000 rw-s 10670000 00:05 1566       /dev/dri/card0
a6d49000-a6d89000 rw-s 10630000 00:05 1566       /dev/dri/card0
a6d89000-a7cc9000 rw-p 00000000 00:00 0 
a7cc9000-a7d38000 r-xp 00000000 08:01 1318424    /usr/lib/i386-linux-gnu/libtiff.so.5.1.0
a7d38000-a7d39000 ---p 0006f000 08:01 1318424    /usr/lib/i386-linux-gnu/libtiff.so.5.1.0
a7d39000-a7d3a000 r--p 0006f000 08:01 1318424    /usr/lib/i386-linux-gnu/libtiff.so.5.1.0
a7d3a000-a7d3c000 rw-p 00070000 08:01 1318424    /usr/lib/i386-linux-gnu/libtiff.so.5.1.0
a7d4a000-a7d50000 rw-s 00000000 00:04 39108      /drm mm object (deleted)
a7d50000-a7d56000 r--p 00000000 08:01 1721657    /usr/share/locale-langpack/de/LC_MESSAGES/gdk-pixbuf.mo
a7d56000-a7da8000 r-xp 00000000 08:01 1318399    /usr/lib/i386-linux-gnu/libQtSvg.so.4.8.4
a7da8000-a7da9000 ---p 00052000 08:01 1318399    /usr/lib/i386-linux-gnu/libQtSvg.so.4.8.4
a7da9000-a7daa000 r--p 00052000 08:01 1318399    /usr/lib/i386-linux-gnu/libQtSvg.so.4.8.4
a7daa000-a7dab000 rw-p 00053000 08:01 1318399    /usr/lib/i386-linux-gnu/libQtSvg.so.4.8.4
a7dab000-a7de0000 r-xp 00000000 08:01 1319066    /usr/lib/i386-linux-gnu/liblcms.so.1.0.19
a7de0000-a7de1000 r--p 00034000 08:01 1319066    /usr/lib/i386-linux-gnu/liblcms.so.1.0.19
a7de1000-a7de2000 rw-p 00035000 08:01 1319066    /usr/lib/i386-linux-gnu/liblcms.so.1.0.19
a7de2000-a7de4000 rw-p 00000000 00:00 0 
a7de4000-a7e64000 r-xp 00000000 08:01 1319102    /usr/lib/i386-linux-gnu/libmng.so.1.1.0.10
a7e64000-a7e66000 r--p 0007f000 08:01 1319102    /usr/lib/i386-linux-gnu/libmng.so.1.1.0.10
a7e66000-a7e67000 rw-p 00081000 08:01 1319102    /usr/lib/i386-linux-gnu/libmng.so.1.1.0.10
a7e67000-a7eac000 r-xp 00000000 08:01 1319052    /usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
a7eac000-a7ead000 r--p 00044000 08:01 1319052    /usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
a7ead000-a7eae000 rw-p 00045000 08:01 1319052    /usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
a7eae000-a7ebe000 rw-p 00000000 00:00 0 
a7ec0000-a7ecb000 r-xp 00000000 08:01 1319048    /usr/lib/i386-linux-gnu/libjbig.so.0.0.0
a7ecb000-a7ecc000 r--p 0000a000 08:01 1319048    /usr/lib/i386-linux-gnu/libjbig.so.0.0.0
a7ecc000-a7ecf000 rw-p 0000b000 08:01 1319048    /usr/lib/i386-linux-gnu/libjbig.so.0.0.0
a7ecf000-a7ed6000 r-xp 00000000 08:01 1442432    /usr/lib/i386-linux-gnu/qt4/plugins/imageformats/libqtiff.so
a7ed6000-a7ed7000 r--p 00006000 08:01 1442432    /usr/lib/i386-linux-gnu/qt4/plugins/imageformats/libqtiff.so
a7ed7000-a7ed8000 rw-p 00007000 08:01 1442432    /usr/lib/i386-linux-gnu/qt4/plugins/imageformats/libqtiff.so
a7ed8000-a7ed9000 ---p 00000000 00:00 0 
a7ed9000-a86d9000 rw-p 00000000 00:00 0          [stack:3597]
a86d9000-a876f000 r--p 00000000 08:01 265213     /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf
a876f000-a8814000 r--p 00000000 08:01 265210     /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf
a8814000-a88c4000 r--p 00000000 08:01 265214     /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
a88c4000-a8c62000 r-xp 00000000 08:01 1339647    /usr/lib/i386-linux-gnu/libdricore9.1.3.so.1.0.0
a8c62000-a8c63000 ---p 0039e000 08:01 1339647    /usr/lib/i386-linux-gnu/libdricore9.1.3.so.1.0.0
a8c63000-a8c6c000 r--p 0039e000 08:01 1339647    /usr/lib/i386-linux-gnu/libdricore9.1.3.so.1.0.0
a8c6c000-a8c73000 rw-p 003a7000 08:01 1339647    /usr/lib/i386-linux-gnu/libdricore9.1.3.so.1.0.0
a8c73000-a8c88000 rw-p 00000000 00:00 0 
a8c88000-a8c89000 ---p 00000000 00:00 0 
a8c89000-a9489000 rw-p 00000000 00:00 0          [stack:3596]
a9489000-a948a000 ---p 00000000 00:00 0 
a948a000-a9c8a000 rw-p 00000000 00:00 0          [stack:3595]
a9c8a000-a9c8b000 ---p 00000000 00:00 0 
a9c8b000-aa48b000 rw-p 00000000 00:00 0          [stack:3594]Abgebrochen
@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2013-06-23T17:28:57Z


tis error happens when calling  free(stream->main_data); in mad_stream_finish().
I have doubl checked if there is a double free, but as far as I could see there is non in the first place.
Not in the Mixxx code and not in the library code.

But I am affraid we have a race condition with CachingReader::~CachingReader() because this is called from outside the worker thread, without a check if the worker is still running.

I well have a look.

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2013-06-23T20:45:12Z


The race condition is fixed now in #24.
But this is not the solution for the original problem. Because this happens only when closing Mixxx.

I could not find other issues yet.Maybe one other has any idea?

@mixxxbot
Copy link
Collaborator Author

Commented by: uklotzde
Date: 2016-10-12T15:12:38Z


Marked as 'Invalid', because CachingReader has been fixed in 2.1 with the introduction of the new SoundSource API.

@mixxxbot
Copy link
Collaborator Author

Issue closed with status Invalid.

@mixxxbot mixxxbot transferred this issue from another repository Aug 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant