Activity log for bug #1059085

Date Who What changed Old value New value Message
2012-09-30 14:23:28 Adam Buchbinder bug added bug
2012-09-30 14:25:16 Adam Buchbinder bug added subscriber Ubuntu Stable Release Updates Team
2012-09-30 14:30:08 Dave Gilbert vim (Ubuntu): status New Triaged
2012-09-30 14:30:17 Dave Gilbert vim (Ubuntu): importance Undecided High
2012-09-30 15:02:02 Adam Buchbinder branch linked lp:~adam-buchbinder/ubuntu/lucid/vim/vim-large-file-recovery
2012-09-30 15:05:47 Adam Buchbinder summary recovery silently deletes data in large files. Lucid: recovery silently deletes data in large files.
2012-09-30 15:06:32 Adam Buchbinder description This is present in vim 2:7.2.330-1ubuntu3, in Lucid. It was fixed upstream in 7.3.216. To replicate the bug (taken from https://groups.google.com/d/topic/vim_use/CNuBWi0763I/discussion): [Summary] The recovery process silently deletes part of the file it's run on, when the file is large enough (40,000 lines seems to trigger it). [Impact] The recovery process, while it may not recover all of the user's changes since the process was killed, is expected to at least not destroy random chunks of data in the middle of a large file. This bug has bitten me at least twice--silently!--before I found out what was going on. [Test Case] 1. Run 'vi test.txt'. 2. Type '78a-' [ESC], then 'yy', '39999p', then ':wq', to create a 40,000-line test file. 3. Run 'cp test.txt test.bak'. 4. Run 'vi test.txt'. 5. Type 'Ox' to make a small change to the file. 6. From another terminal window, run 'ps x|grep [t]est.txt' to find the PID of the running vim process. 7. Run 'kill $PID' to terminate the process. 8. Run 'vi test.txt', and type 'r' to attempt recovery, then ':wq' to save the recovered contents. 9. Run 'wc -l test.txt test.bak'. Expected output: $ wc -l test.txt test.bak 40001 test.txt 40000 test.bak Actual output: $ wc -l test.txt test.bak 38629 test.txt 40000 test.bak [Regression Potential] Small. The patch I'm backporting (https://groups.google.com/d/topic/vim_dev/lTos-bGcNgU/discussion) in is part of the new 7.3 series, and vim has a large test suite; I'm porting and checking the patch as-is, including its tests. If this breaks the recovery process, the regression tests will catch it. This is present in vim 2:7.2.330-1ubuntu3, in Lucid. It was fixed upstream in 7.3.216, which is in Precise and newer. To replicate the bug (taken from https://groups.google.com/d/topic/vim_use/CNuBWi0763I/discussion): [Summary] The recovery process silently deletes part of the file it's run on, when the file is large enough (40,000 lines seems to trigger it). [Impact] The recovery process, while it may not recover all of the user's changes since the process was killed, is expected to at least not destroy random chunks of data in the middle of a large file. This bug has bitten me at least twice--silently!--before I found out what was going on. [Test Case] 1. Run 'vi test.txt'. 2. Type '78a-' [ESC], then 'yy', '39999p', then ':wq', to create a 40,000-line test file. 3. Run 'cp test.txt test.bak'. 4. Run 'vi test.txt'. 5. Type 'Ox' to make a small change to the file. 6. From another terminal window, run 'ps x|grep [t]est.txt' to find the PID of the running vim process. 7. Run 'kill $PID' to terminate the process. 8. Run 'vi test.txt', and type 'r' to attempt recovery, then ':wq' to save the recovered contents. 9. Run 'wc -l test.txt test.bak'. Expected output: $ wc -l test.txt test.bak   40001 test.txt   40000 test.bak Actual output: $ wc -l test.txt test.bak   38629 test.txt   40000 test.bak [Regression Potential] Small. The patch I'm backporting (https://groups.google.com/d/topic/vim_dev/lTos-bGcNgU/discussion) in is part of the new 7.3 series, and vim has a large test suite; I'm porting and checking the patch as-is, including its tests. If this breaks the recovery process, the regression tests will catch it.
2012-11-05 23:06:55 C de-Avillez bug added subscriber Ubuntu Sponsors Team
2012-11-07 14:57:49 Marc Deslauriers nominated for series Ubuntu Lucid
2012-11-07 14:57:49 Marc Deslauriers bug task added vim (Ubuntu Lucid)
2012-11-07 14:57:49 Marc Deslauriers nominated for series Ubuntu Precise
2012-11-07 14:57:49 Marc Deslauriers bug task added vim (Ubuntu Precise)
2012-11-07 14:57:49 Marc Deslauriers nominated for series Ubuntu Quantal
2012-11-07 14:57:49 Marc Deslauriers bug task added vim (Ubuntu Quantal)
2012-11-07 14:57:49 Marc Deslauriers nominated for series Ubuntu Raring
2012-11-07 14:57:49 Marc Deslauriers bug task added vim (Ubuntu Raring)
2012-11-07 14:58:03 Marc Deslauriers vim (Ubuntu Lucid): status New Confirmed
2012-11-07 14:58:06 Marc Deslauriers vim (Ubuntu Precise): status New Fix Released
2012-11-07 14:58:08 Marc Deslauriers vim (Ubuntu Quantal): status New Fix Released
2012-11-07 14:58:11 Marc Deslauriers vim (Ubuntu Raring): status Triaged Fix Released
2012-11-07 14:58:14 Marc Deslauriers vim (Ubuntu Lucid): importance Undecided High
2012-11-08 19:33:19 Benjamin Drung removed subscriber Ubuntu Sponsors Team
2012-11-15 00:27:25 Clint Byrum vim (Ubuntu Lucid): status Confirmed Fix Committed
2012-11-15 00:27:29 Clint Byrum bug added subscriber SRU Verification
2012-11-15 00:27:37 Clint Byrum tags verification-needed
2012-11-26 22:55:22 Bartosz Kosiorek vim (Ubuntu Lucid): assignee Bartosz Kosiorek (gang65)
2012-11-26 22:55:32 Bartosz Kosiorek vim (Ubuntu Quantal): importance Undecided High
2012-11-26 22:55:34 Bartosz Kosiorek vim (Ubuntu Precise): importance Undecided High
2012-11-26 22:55:45 Bartosz Kosiorek tags verification-needed verification-done
2012-11-27 17:55:23 Launchpad Janitor vim (Ubuntu Lucid): status Fix Committed Fix Released
2012-11-27 17:55:38 Colin Watson removed subscriber Ubuntu Stable Release Updates Team