Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: AtomicParsley crashing (Read 3989 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

AtomicParsley crashing

I've just added the Linux version of Nero's AAC codec to the command line of Rubyripper. While the encoding process works as expected, the tagging done by AtomicParsley, including the --overWrite option,  results in this dump after every single call of the application:

Code: [Select]
*** glibc detected *** AtomicParsley: double free or corruption (top): 0x08080a10 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7d78d65]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7d7c800]
/lib/tls/i686/cmov/libc.so.6(fclose+0x134)[0xb7d676f4]
AtomicParsley[0x8057c8c]
AtomicParsley[0x805d4b7]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7d25050]
AtomicParsley(__gxx_personality_v0+0x51)[0x8048ef1]
======= Memory map: ========
08048000-0806b000 r-xp 00000000 08:07 2250800    /usr/bin/AtomicParsley
0806b000-0806e000 rw-p 00022000 08:07 2250800    /usr/bin/AtomicParsley
0806e000-0809e000 rw-p 0806e000 00:00 0          [heap]
b7b00000-b7b21000 rw-p b7b00000 00:00 0
b7b21000-b7c00000 ---p b7b21000 00:00 0
b7c90000-b7d0f000 rw-p b7c90000 00:00 0
b7d0f000-b7e53000 r-xp 00000000 08:07 311925    /lib/tls/i686/cmov/libc-2.6.1.so
b7e53000-b7e54000 r--p 00143000 08:07 311925    /lib/tls/i686/cmov/libc-2.6.1.so
b7e54000-b7e56000 rw-p 00144000 08:07 311925    /lib/tls/i686/cmov/libc-2.6.1.so
b7e56000-b7e59000 rw-p b7e56000 00:00 0
b7e59000-b7e63000 r-xp 00000000 08:07 311918    /lib/libgcc_s.so.1
b7e63000-b7e64000 rw-p 0000a000 08:07 311918    /lib/libgcc_s.so.1
b7e64000-b7e65000 rw-p b7e64000 00:00 0
b7e65000-b7e88000 r-xp 00000000 08:07 311929    /lib/tls/i686/cmov/libm-2.6.1.so
b7e88000-b7e8a000 rw-p 00023000 08:07 311929    /lib/tls/i686/cmov/libm-2.6.1.so
b7e8a000-b7f72000 r-xp 00000000 08:07 1020407    /usr/lib/libstdc++.so.6.0.9
b7f72000-b7f75000 r--p 000e8000 08:07 1020407    /usr/lib/libstdc++.so.6.0.9
b7f75000-b7f77000 rw-p 000eb000 08:07 1020407    /usr/lib/libstdc++.so.6.0.9
b7f77000-b7f7d000 rw-p b7f77000 00:00 0
b7f95000-b7f98000 rw-p b7f95000 00:00 0
b7f98000-b7fb2000 r-xp 00000000 08:07 313668    /lib/ld-2.6.1.so
b7fb2000-b7fb4000 rw-p 00019000 08:07 313668    /lib/ld-2.6.1.so
bfc71000-bfc86000 rw-p bfc71000 00:00 0          [stack]
ffffe000-fffff000 r-xp 00000000 00:00 0          [vdso]
Aborted (core dumped)

Without --overWrite the AtomicParsley tagger doesn't encounter any problems. Besides, despite this error message the target file also seems to be fully intact, playback and tag reading both don't cause any troubles in the Amarok audio player. Still, the question is whether any corruption caused by this crash actually takes place.

This is the command line I wrote for the "other" codec in Rubyripper's settings file:

othersettings=neroAacEnc -q 0.34 -if %i -of "%o.m4a" && AtomicParsley "%o.m4a" --overWrite --artist "%a" --album "%b" --tracknum "%n" --title "%t" --year "%y" --genre "%g"

The AtomicParsley version I use is the 0.9.0 one, compiled from source by myself without any special switches, on a Pentium 4 2.66 Ghz with Kubuntu 7.10 running.

AtomicParsley crashing

Reply #1
I had a problem with the very same switch on the Win32 build of the tool. I believe there is a bug in the command line parsing. In my case, files names containing " - " was interpreted as a command line switch, even when using quotes around the name.

As a workaround I used a script like this:

AP blabla track.m4a -o aptemp.m4a
move aptemp.m4a  track.m4a

Maybe you can use something like that on linux as well.

 

AtomicParsley crashing

Reply #2
If you got this problem on Windows as well, then there's no need for trying to fix this obvious bug. Hence, I added your small workaround to the command line, thanks for your help here. This updated command line moves the files generated by AtomicParsley onto an internal drive (the output directory configured in the ripper is an external one, for additional FLAC copies), creating appropriate directories, and deletes the untagged sources now.

In case someone was having similar problems in setting up Nero in conjunction with AtomicParsley on Linux, this is the (working) command line, tested with Rubyripper (slightly modifying it should also make it work for many alternative rippers):

neroAacEnc -q 0.34 -if %i -of "%o.m4a" && mkdir -p "/media/Eowyn/Audio/Nero/%a/[%y] %b" && AtomicParsley "%o.m4a" -o "/media/Eowyn/Audio/Nero/%a/[%y] %b/%n. %t.m4a" --artist "%a" --album "%b" --tracknum "%n" --title "%t" --year "%y" --genre "%g" && rm "%o.m4a"