Linux ata hard disk access race condition. Doug's Rough Notes. WWW.Smythies.com

Some commands used when I was working on this a couple of months ago (~~ 2012.04 or 05).(to remind me how.)
Some commands used when I was working on this around 2012.07 to early 08(to remind me how.)

I created a schroot i386 environment on s15.smythies.com, for two reasons: I couldn't figure out to cross compile a i386 kernel on the 64 bit machine; It took over 33 hours to compile the kernel on the beater i386 test machine, and then it gives up with an out of memory error.
While I was sucessful compiling an i386 kernel, now I don't remember how I did it, and I also need to catch up to the latest.

To go to the i386 32 bit server 12.04 chroot environment on s15: schroot -c precise_i386

2013.01.18 A potentially related thread on Ubuntu Forums

2012.11.22: One would think that another workaround would be to merely change the one line in /lib/udev/rules.d/60-persistent-storage.rules back to what it was.
Which does work if one remembers to do "sudo update-initramfs -u" after changing the rule (Dough!!).
O.K. so that is about 837 times easier than what I was doing.

Reference link. (with all due credit to Ubuntu forums - zika who pointed me to it).

The text for the first message in kern.log seems to come from:

./drivers/ata/libata-sff.c: * ata_sff_lost_interrupt - Check for an apparent lost interrupt
./drivers/ata/libata-sff.c: ata_port_warn(ap, "lost interrupt (Status 0x%x)\n",

Is it called from here?: /drivers/ata/libata-eh.c :
if (ap->ops->lost_interrupt)
ap->ops->lost_interrupt(ap);
If I can remember how to compile the kernel for 32 bit, maybe I can add a printk statement.

2012.08.13 try changing the log level to debug in /etc/udev/udev.conf.
While some minor differences could be seen between the logs, they still did not give added insight as to the root issue, at least that I could see.

2012.08.12 attribute-walk for hard disk for 175-0ubuntu10 (2759)
2012.08.12 attribute-walk for hard disk for 175-0ubuntu11 (2760)
2012.08.12 attribute-walk for CD for 175-0ubuntu10 (2759)
2012.08.12 attribute-walk for CD for 175-0ubuntu11 (2760)
2012.08.12 differences in the above files, both in one file

2012.08.12 legend for my local builds:
175-0ubuntu9 is unchanged. 175-0ubuntu10 is 175-0ubuntu9 with launchpad revision 2761 put back to 2759. (do not confuse with the real 175-0ubuntu10.)
175-0ubuntu11 is 175-0ubuntu9 with launchpad revision 2761 put back to 2760.
175-0ubuntu12 is 175-0ubuntu9 with launchpad revision 2761 put back to 2761. (i.e. unchanged , but re-built).

2012.08.10 Kernel 3.2.0-29.46 was released today. This kernel with udev 175-0ubuntu9.1 took ~6900 seconds for the first failure with the read_random_big test program, which is unusually long.
O.K. I have finally figured out how to make basically 175-0ubuntu9 with the revision 2761 part reverted to revision 2759. It compiled to 175-0ubuntu10, which should not be confused with the real 175-0ubuntu10.
Now testing...

2012.08.08 My compiled 175-0ubuntu6: No issue. This was just a sanity check test, as "6" was expected to work. Note that I have to re-boot after changing versions. Max seeks time was 0.300 seconds.
My compiled 175-0ubuntu7: Yes, issue. O.K. so finally it is narrowed down to which version introduced the issue.
It seems to be extremely difficult to just try something with this stuff. This has been a frustrating experience. bzr will not let me do anything.
O.K. so by disecting the debian/rules file and also the commands I use to compile the kernel, this perhaps worked:

time fakeroot debian/rules clean
time fakeroot debian/rules binary

But then when I tried again, it didn't work.

(precise_i386)doug@s15:~/udev-bzr-pp-2/bug-986654$ time fakeroot debian/rules binary
make: *** No rule to make target `configure', needed by `build-deb/config.status'.  Stop.

real    0m0.090s
user    0m0.060s
sys     0m0.012s
(precise_i386)doug@s15:~/udev-bzr-pp-2/bug-986654$

Why not? This is just so frustrating.

2012.08.07 O.K. so now the next question is how do I build version 8?
This seemed to help:

(precise_i386)doug@s15:~/udev-bzr-pp-2$ bzr branch -r tag:175-0ubuntu7 precise bug-986654-7
bzr: ERROR: Already a branch: "bug-986654-7".
(precise_i386)doug@s15:~/udev-bzr-pp-2$ bzr branch -r tag:175-0ubuntu7 precise bug-986654-7a
Branched 215 revisions.
(precise_i386)doug@s15:~/udev-bzr-pp-2$ bzr branch -r tag:175-0ubuntu8 precise bug-986654-8
Branched 216 revisions.
(precise_i386)doug@s15:~/udev-bzr-pp-2$ bzr branch -r tag:175-0ubuntu6 precise bug-986654-6
Branched 214 revisions.
(precise_i386)doug@s15:~/udev-bzr-pp-2$

2012.08.07 The compile problem was that I was only asking for source code to be built, but not compiled into a .deb. This was incredibly not obvious to me withotu the answer, but with the answer if I re-read the how to web page it is a little clearer.
So, after the "bzr builddeb -- -S -us -uc" step I needed to do "bzr builddeb -- -b -us -uc" (I guessed at the overalll command). However, I see that I should have maybe used "pbuilder-dist build ../_.dsc", but if I do that it gets a bunch of stuff from the archieves, which makes no sense, becuase I have a local build environment.
Reference: My Ubuntu forums request for help thread

2012.08.06 There is a version 9.1 now, but this issue of these web pages is still there.

2012.08.05: a description of the issue..
another useful (sort of) link.

There seems to be a difference between being able to use an abbriviation and not, which differs from the documentation:

(precise_i386)doug@s15:~/udev-bzr-pp-2$ bzr branch ubuntu:p/udev precise
Enter passphrase for key '/home/doug/.ssh/id_rsa':
bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/p/udev/".
(precise_i386)doug@s15:~/udev-bzr-pp-2$ bzr branch ubuntu:precise/udev precise
Enter passphrase for key '/home/doug/.ssh/id_rsa':
Most recent Ubuntu Precise version: 175-0ubuntu9
Packaging branch status: CURRENT
Most recent Ubuntu Quantal version: 175-0ubuntu10
Packaging branch status: CURRENT
Branched 217 revisions.
(precise_i386)doug@s15:~/udev-bzr-pp-2$

2012.08.03: Still can not get it to compile.The difference today was getting the precise version of the source code. Enabling verbose in debian/rules did not give more information.

2012.08.02: Finally got back to this. Following the Ubuntu Packaging guide very carefully, I couldn't get the source to compile when I got to that step.

2012.07.07: Saw there is a version 10, only for 12.10 so far. I tried to install it, but it had dependency issues. Retored the 9 version.
How do I make a .deb package? Tried using Ubuntu Packaging Wiki even though it says it is laregely out of date.
Then there was the Ubuntu Packaging guide which I didn't find until later.
Tried to make Personal Builder environment within my chroot i386 environment within s15.smythies.com. Seemed to proceed O.K.
As usual a saga unfolded.
My gpg key files an s15.smythies.com all got clobbered while trying to compile udev. Sometimes I really hate this shit.

Linux ata disk race condition. Doug's Rough Notes. WWW.Smythies.com emaildoesnotwork@smythies.com 2012.07.06 Updated 2013.01.18