gco / rubyripper

Automatically exported from code.google.com/p/rubyripper
0 stars 0 forks source link

Crash when needing a trial rip #3 (i.e. blocks didn't match) #483

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
1) Please describe the steps to reproduce the situation:
a. Rip a track from a CD known to be difficult (scratches on surface)
b. Let the first 2 trials find a mismatch
c. Crashes during 3rd trial

2) What is the expected output? What do you see instead?
Expected: Gets trial and compares
Gets: GUI closes suddenly, CLI shows a backtrack (GUI run from terminal also 
shows same backtrace)

3) What version of rubyripper are you using? On what operating system? The
gtk2 of commandline interface?
RR: 0.6.1 (Current)
OS: Xubuntu 11.10 with gnome-core (11.10) also installed
GTK2: Current from repository

4) Is this not already fixed with the latest & greatest code? See for
instructions the Source tab above.
Current repository code all installed/up to date.

5) Does the problem happen with all discs? If not, please attach
the output of cdparanoia -Q with a disc that gives trouble.
Yes - any disc where it has to re-read a track.

6) Please explain why this change is important for you. Also, how many
users would benefit from this change?
All users - it shouldn't just die without any error on a retry.

Please provide any additional information below. The more usefull
information provided, the sooner the issue will be fixed.

Backtrace (from CLI, the GUI dies in the same place):

Ripping track 12
Expected filesize for track 12      is 38972684 bytes.
Free disk space is 43018464 MB
Minutes ripping is 0.000207083333333333.
Starting to rip track 12, trial #1cdparanoia [.207010]-[.16569] -d /dev/cdrom 
-O 6 "/home/vark/ripped/mp3/temp_sr0/track12_1.wav" 2>&1
 (20 seconds)
Minutes ripping is 0.349054666666667.
Starting to rip track 12, trial #2cdparanoia [.207010]-[.16569] -d /dev/cdrom 
-O 6 "/home/vark/ripped/mp3/temp_sr0/track12_2.wav" 2>&1
 (20 seconds)
Analyzing files for mismatching chunks (0 second(s))
20 chunk(s) didn't match 2 times.
Minutes ripping is 0.692548333333333.
Starting to rip track 12, trial #3cdparanoia [.207010]-[.16569] -d /dev/cdrom 
-O 6 "/home/vark/ripped/mp3/temp_sr0/track12_3.wav" 2>&1
 (19 seconds)
/usr/local/lib/site_ruby/1.8/rr_lib.rb:2054:in `sysread': sysread for buffered 
IO (IOError)
    from /usr/local/lib/site_ruby/1.8/rr_lib.rb:2054:in `correctErrorPos'
    from /usr/local/lib/site_ruby/1.8/rr_lib.rb:2052:in `each'
    from /usr/local/lib/site_ruby/1.8/rr_lib.rb:2052:in `correctErrorPos'
    from /usr/local/lib/site_ruby/1.8/rr_lib.rb:1885:in `main'
    from /usr/local/lib/site_ruby/1.8/rr_lib.rb:1830:in `ripTrack'
    from /usr/local/lib/site_ruby/1.8/rr_lib.rb:1802:in `ripTracks'
    from /usr/local/lib/site_ruby/1.8/rr_lib.rb:1798:in `each'
    from /usr/local/lib/site_ruby/1.8/rr_lib.rb:1798:in `ripTracks'
    from /usr/local/lib/site_ruby/1.8/rr_lib.rb:1792:in `initialize'
    from /usr/local/lib/site_ruby/1.8/rr_lib.rb:2535:in `new'
    from /usr/local/lib/site_ruby/1.8/rr_lib.rb:2535:in `startRip'
    from ./rrip_cli:428:in `dir_exists'
    from ./rrip_cli:447:in `update'
    from ./rrip_cli:414:in `prepareRip'
    from ./rrip_cli:331:in `showFreedbOptions'
    from ./rrip_cli:305:in `showFreedb'
    from ./rrip_cli:265:in `handleFreedb'
    from ./rrip_cli:244:in `get_cd_info'
    from ./rrip_cli:47:in `initialize'
    from ./rrip_cli:486:in `new'
    from ./rrip_cli:486

Original issue reported on code.google.com by var...@gmail.com on 23 Oct 2011 at 9:17

GoogleCodeExporter commented 9 years ago
Funny, I just noticed the same thing. I'm also using the same version of 
rubyripper on the same OS. :D

In my case, it would crash every single time while analyzing track 12 of Van 
Halen's Balance. The tracks yield WAVs that are just under 70MB, and are 
EXACTLY the same until the very end. The very end of the tracks are almost 
random, yielding small blocks of values between 0 and 6. What I figure is if 
you get too many differences, the analyze routine generates an exception.

This bug report needs to be changed to DEFECT and SEVERE as it's NOT an 
enhancement, and it's certainly VERY important.

Original comment by jlfento...@gmail.com on 26 Oct 2011 at 7:29

GoogleCodeExporter commented 9 years ago
I expect this to be fixed with commits:
http://code.google.com/p/rubyripper/source/detail?r=59594541ea62cec9ec262685510c
3f006562b76a&name=stable

http://code.google.com/p/rubyripper/source/detail?r=418470b0dce17943d6211479afde
67b762850223&name=stable

Can you please retest? Latest version is also provided as a tar package for 
convenience.

Original comment by boukewou...@gmail.com on 26 Oct 2011 at 7:48

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by boukewou...@gmail.com on 26 Oct 2011 at 7:52

GoogleCodeExporter commented 9 years ago
I can't get that to configure - it first returns an error:

./configure:58:in `require': no such file to load -- ./rr_lib.rb (LoadError)
    from ./configure:58

If I comment out that line, I get another error:

'gettext/utils.rb' is deprecated. Use gettext/tools.rb.
Checking the NEEDED dependencies....
./configure:110:in `check_deps': undefined method `installed' for main:Object 
(NoMethodError)
    from ./configure:199

Original comment by jlfento...@gmail.com on 27 Oct 2011 at 5:13

GoogleCodeExporter commented 9 years ago
Sorry, the attachment was not correct. This one should be good though.

Original comment by boukewou...@gmail.com on 27 Oct 2011 at 5:18

Attachments:

GoogleCodeExporter commented 9 years ago
It still blows up in the compareSectors/compareSectorsRange methods.

The last lines of the log are:

Starting to rip track 12, trial #1 (54 seconds)
Starting to rip track 12, trial #2 (56 seconds)
Analyzing files for mismatching chunks

One thing I noticed when installing the test - even though the prefix was set 
to /usr, it still installed the library to /usr/local/lib, not /usr/lib. I had 
to remove the old rubyripper package first as it didn't overwrite the package 
lib.

Original comment by jlfento...@gmail.com on 27 Oct 2011 at 8:22

GoogleCodeExporter commented 9 years ago
Can you please post the stacktrace for the error like the first post? I expect 
the error to be different. It might give me the necessary clue ;)

Original comment by boukewou...@gmail.com on 27 Oct 2011 at 10:03

GoogleCodeExporter commented 9 years ago
Right - sorry about that. :)

STATUS

Ripping progress (0 %)
Ripping track 12
Expected filesize for track 12      is 69741548 bytes.
Free disk space is 38373324 MB
Minutes ripping is 9.16e-05.
Starting to rip track 12, trial #1cdparanoia [.210230]- -d /dev/sr0 -O 0 
"/home/jlfenton/Music/vorbis/Van Halen/temp_sr0/track12_1.wav" 2>&1
 (52 seconds)
Minutes ripping is 0.868855133333333.
Starting to rip track 12, trial #2cdparanoia [.210230]- -d /dev/sr0 -O 0 
"/home/jlfenton/Music/vorbis/Van Halen/temp_sr0/track12_2.wav" 2>&1
 (56 seconds)
/home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1990:in `sysread': end 
of file reached (EOFError)
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1990:in `compareSectorRange'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2013:in `compareSectors'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2010:in `times'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2010:in `compareSectors'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1953:in `analyzeFiles'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1871:in `main'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1830:in `ripTrack'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1802:in `ripTracks'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1798:in `each'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1798:in `ripTracks'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1792:in `initialize'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2535:in `new'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2535:in `startRip'
    from /usr/bin/rrip_cli:427:in `dir_exists'
    from /usr/bin/rrip_cli:447:in `update'
    from /usr/bin/rrip_cli:414:in `prepareRip'
    from /usr/bin/rrip_cli:331:in `showFreedbOptions'
    from /usr/bin/rrip_cli:305:in `showFreedb'
    from /usr/bin/rrip_cli:265:in `handleFreedb'
    from /usr/bin/rrip_cli:244:in `get_cd_info'
    from /usr/bin/rrip_cli:47:in `initialize'
    from /usr/bin/rrip_cli:486:in `new'
    from /usr/bin/rrip_cli:486
Analyzing files for mismatching chunks

Original comment by jlfento...@gmail.com on 27 Oct 2011 at 11:10

GoogleCodeExporter commented 9 years ago
And another fix included. We're getting there. There where two bugs both 
related to end-of-file correction. I hope this was the last.

Original comment by boukewou...@gmail.com on 28 Oct 2011 at 6:54

Attachments:

GoogleCodeExporter commented 9 years ago
Same thing:

/home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1990:in `sysread': end 
of file reached (EOFError)
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1990:in `compareSectorRange'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2013:in `compareSectors'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2010:in `times'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2010:in `compareSectors'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1953:in `analyzeFiles'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1871:in `main'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1830:in `ripTrack'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1802:in `ripTracks'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1798:in `each'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1798:in `ripTracks'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1792:in `initialize'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2535:in `new'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2535:in `startRip'
    from ./rubyripper_cli.rb:427:in `dir_exists'
    from ./rubyripper_cli.rb:447:in `update'
    from ./rubyripper_cli.rb:414:in `prepareRip'
    from ./rubyripper_cli.rb:331:in `showFreedbOptions'
    from ./rubyripper_cli.rb:305:in `showFreedb'
    from ./rubyripper_cli.rb:265:in `handleFreedb'
    from ./rubyripper_cli.rb:244:in `get_cd_info'
    from ./rubyripper_cli.rb:47:in `initialize'
    from ./rubyripper_cli.rb:486:in `new'
    from ./rubyripper_cli.rb:486
Analyzing files for mismatching chunks

Original comment by jlfento...@gmail.com on 28 Oct 2011 at 4:58

GoogleCodeExporter commented 9 years ago
Eeeh, the new line that prevents this didn't ever execute. So much for a quick 
fix ;)

Try this one then.

Original comment by boukewou...@gmail.com on 28 Oct 2011 at 5:08

Attachments:

GoogleCodeExporter commented 9 years ago
Same thing again!

/home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1990:in `sysread': end 
of file reached (EOFError)
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1990:in `compareSectorRange'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2013:in `compareSectors'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2010:in `times'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2010:in `compareSectors'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1953:in `analyzeFiles'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1871:in `main'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1830:in `ripTrack'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1802:in `ripTracks'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1798:in `each'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1798:in `ripTracks'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:1792:in `initialize'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2535:in `new'
    from /home/jlfenton/Projects/linux/rubyripper-test/rr_lib.rb:2535:in `startRip'
    from ./rubyripper_cli.rb:427:in `dir_exists'
    from ./rubyripper_cli.rb:447:in `update'
    from ./rubyripper_cli.rb:414:in `prepareRip'
    from ./rubyripper_cli.rb:331:in `showFreedbOptions'
    from ./rubyripper_cli.rb:305:in `showFreedb'
    from ./rubyripper_cli.rb:265:in `handleFreedb'
    from ./rubyripper_cli.rb:244:in `get_cd_info'
    from ./rubyripper_cli.rb:47:in `initialize'
    from ./rubyripper_cli.rb:486:in `new'
    from ./rubyripper_cli.rb:486

I double-checked to make sure I'm running the latest arc you sent. Perhaps if 
you included some logging in the read/eof methods?

Original comment by jlfento...@gmail.com on 28 Oct 2011 at 5:44

GoogleCodeExporter commented 9 years ago
What happens if you disable the offset?

Original comment by boukewou...@gmail.com on 29 Oct 2011 at 9:21

GoogleCodeExporter commented 9 years ago
I changed the code to simply catch the end of the file error, and put out some 
debug info in the terminal. I am quite curious what is printed.

Original comment by boukewou...@gmail.com on 29 Oct 2011 at 10:28

Attachments:

GoogleCodeExporter commented 9 years ago
Sorry it took awhile to get to this - we're clearly in different time zones 
separated by a number of hours... or working during vastly different times of 
the day. :)

This version works! I ran it several times and this is a typical output where 
before it always failed:

ADVANCED TOC ANALYSIS (with cdrdao)
...please be patient, this may take a while

Loading file: /tmp/temp_sr0.toc
Disc type = CD_DA
Found info of tracknumber 1
Found info of tracknumber 2
Found info of tracknumber 3
Found info of tracknumber 4
Found info of tracknumber 5
Found info of tracknumber 6
Found info of tracknumber 7
Found info of tracknumber 8
Found info of tracknumber 9
Found info of tracknumber 10
Found info of tracknumber 11
Found info of tracknumber 12
Debug info: gaps are now prepended
Startsector Lengthsector
0   23887
23887   18570
42457   26705
69162   21293
90455   17885
108340  6660
115000  23415
138415  24660
163075  7660
170735  18355
189090  21140
210230  29652
Silence detected for track 1 : 32 sectors
Pregap detected for track 1 : 32 sectors
Pregap detected for track 5 : 90 sectors
Pregap detected for track 8 : 40 sectors
Pregap detected for track 9 : 47 sectors
Pregap detected for track 12 : 60 sectors

STATUS

Ripping progress (0 %)
Ripping track 12
Expected filesize for track 12      is 69741548 bytes.
Free disk space is 38415204 MB
Minutes ripping is 9.61166666666667e-05.
Starting to rip track 12, trial #1cdparanoia [.210230]- -d /dev/sr0 -O 0 
"/home/jlfenton/Music/vorbis/Van Halen/temp_sr0/track12_1.wav" 2>&1
 (49 seconds)
Minutes ripping is 0.821819783333333.
Starting to rip track 12, trial #2cdparanoia [.210230]- -d /dev/sr0 -O 0 
"/home/jlfenton/Music/vorbis/Van Halen/temp_sr0/track12_2.wav" 2>&1
 (53 seconds)
Analyzing files for mismatching chunks (0 second(s))
41 chunk(s) didn't match 2 times.
Minutes ripping is 1.71929946666667.
Starting to rip track 12, trial #3cdparanoia [.210230]- -d /dev/sr0 -O 0 
"/home/jlfenton/Music/vorbis/Van Halen/temp_sr0/track12_3.wav" 2>&1
 (46 seconds)
16 chunk(s) didn't match 2 times.
Minutes ripping is 2.4937616.
Starting to rip track 12, trial #4cdparanoia [.210230]- -d /dev/sr0 -O 0 
"/home/jlfenton/Music/vorbis/Van Halen/temp_sr0/track12_4.wav" 2>&1
 (46 seconds)
8 chunk(s) didn't match 2 times.
Minutes ripping is 3.27401128333333.
Starting to rip track 12, trial #5cdparanoia [.210230]- -d /dev/sr0 -O 0 
"/home/jlfenton/Music/vorbis/Van Halen/temp_sr0/track12_5.wav" 2>&1
 (62 seconds)
7 chunk(s) didn't match 2 times.
Minutes ripping is 4.31510126666667.
Starting to rip track 12, trial #6cdparanoia [.210230]- -d /dev/sr0 -O 0 
"/home/jlfenton/Music/vorbis/Van Halen/temp_sr0/track12_6.wav" 2>&1
 (47 seconds)
7 chunk(s) didn't match 2 times.
Maximum tries reached. 7 chunk(s) didn't match the required 2 times
Will continue with the file we've got so far
MD5 sum: 3b11619531f81e50c941ca7b70d4995e

Ripping progress (100 %)
Encoding progress (0 %)
command = oggenc -o "/home/jlfenton/Music/vorbis/Van Halen/Balance#1/12 - 
Feelin'.ogg" -q 6 -c ALBUM="Balance" -c DATE="1995" -c GENRE="Hard Rock" -c 
DISCID="a50c7e0c" -c ARTIST="Van Halen" -c TITLE="Feelin'" -c TRACKNUMBER=12 -c 
TRACKTOTAL=12 "/home/jlfenton/Music/vorbis/Van Halen/temp_sr0/track12_1.wav" 
2>&1
 100% - /home/jlfenton/Music/vorbis/Van Halen/Balance#1/12 - Feelin'.ogg
Recommended Album Gain: -7.96 dB
Writing tags to '/home/jlfenton/Music/vorbis/Van Halen/Balance#1/12 - 
Feelin'.ogg'
Encoding progress (100 %)
Inside the finished function
Encoding progress (100 %)

Thanks for all your efforts! I really love this ripper. Now to get back to 
ripping the rest of my CDs. :D

Original comment by jlfento...@gmail.com on 29 Oct 2011 at 7:07

GoogleCodeExporter commented 9 years ago
Sorry it's taken me so long to get back to my own report, I've had to rebuild 
the machine twice since reporting it. Having tested the "test" one uploaded 
here, it worked fine. Been ripping my CD's happily since - thanks. Is this fix 
rolled (or to be rolled) into another official release, or should I just stick 
to this test one?

Original comment by var...@gmail.com on 3 Dec 2011 at 11:57

GoogleCodeExporter commented 9 years ago
I guess there is enough reason to create a 0.6.2 build. I'll see what I can do. 
This issue seems to be solved.

Original comment by boukewou...@gmail.com on 4 Dec 2011 at 7:45

GoogleCodeExporter commented 9 years ago
Thanks for checking this out. I had the same issue running ruby 6.1 on ubuntu 
11.10. using the test rubyripper-test from above solved the problem. Just 
wanted to let you know, there are others with the problems. 

Original comment by djm...@gmail.com on 11 Dec 2011 at 7:29

GoogleCodeExporter commented 9 years ago
I've been experiencing the exact same bugs with faulty CDs (on Debian 
unstable). These fixes seem to have solved the problem. Thanks!

Original comment by wouter.v...@gmail.com on 15 Dec 2011 at 2:52