"pad block corrupted" error when trying to register an image with 2.6.34 kernel

Bug #588861 reported by Dave Walker
22
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Eucalyptus
Invalid
Undecided
Unassigned
eucalyptus (Ubuntu)
Invalid
Undecided
Unassigned
Lucid
Invalid
Undecided
Unassigned
Maverick
Invalid
Undecided
Unassigned
linux (Ubuntu)
Fix Released
High
Tim Gardner
Lucid
Fix Released
High
Andy Whitcroft
Maverick
Fix Released
High
Tim Gardner

Bug Description

Maverick Alpha 1

euca-run-instances returns success, and an Instance ID is created. The Instances remain in pending state, and never start.

Still investigating the cause:

nc.log:
[Wed Jun 2 18:59:24 2010][001135][EUCADEBUG ] doDescribeResource() invoked
[Wed Jun 2 18:59:24 2010][001135][EUCADEBUG ] walrus_request(): wrote 30 bytes in 1 writes
[Wed Jun 2 18:59:24 2010][001135][EUCAWARN ] walrus_request(): server responded with HTTP code 408 (timeout)
[Wed Jun 2 18:59:24 2010][001135][EUCAERROR ] download retry 10 of 10 will commence in 4 seconds
[Wed Jun 2 18:59:24 2010][001135][EUCADEBUG ] doDescribeInstances() invoked

cloud-output.log:
ImageManager.java:366 Triggering cache population in Walrus for: 2
11:56:30 INFO ServiceSinkHandler | ServiceSinkHandler.java:167 :1275670590872:eucalyptus:uid:admin:7d4d8728-27a4-4bcb-b98d-9b35714beca3:MSG_SERVICED:RegisterImageResponseType:152:
11:56:31 INFO WalrusImageManager | WalrusImageManager.java:789 Decrypting image: //var/lib/eucalyptus/bukkits/ISOtest-20100604115445/lucid-server-uec-amd64.img-EhGZQxo..tgz
11:56:31 ERROR WalrusImageManager | WalrusImageManager.java:260 javax.crypto.BadPaddingException: pad block corrupted
11:56:31 ERROR tServiceExceptionStrategy | AbstractExceptionListener.java:372
                                         | ********************************************************************************
                                         | Message : Component that caused exception is: BukkitInternal. Message payload is of type: CacheImageType
                                         | Type : org.mule.api.service.ServiceException
                                         | Code : MULE_ERROR--2
                                         | Payload : <?xml version="1.0" encoding="UTF-8"?>
                                         | <euca:CacheImage xmlns:euca="http://msgs.eucalyptus.ucsb.edu">
                                         | <euca:WalrusDataRequest>
                                         | <euca:WalrusRequest>
                                         | <euca:correlationId>e877e125-f2ee-4007-9479-ad7f65d8bf26</euca:correlationId>
                                         | <euca:userId>admin</euca:userId>
                                         | <euca:bucket>ISOtest-20100604115445</euca:bucket>
                                         | <euca:key>lucid-server-uec-amd64.img.manifest.xml</euca:key>
                                         | </euca:WalrusRequest>
                                         | </euca:WalrusDataRequest>
                                         | </euca:CacheImage>
                                         | JavaDoc : http://mule.mulesource.org/docs/apidocs/org/mule/api/service/ServiceException.html
                                         | ********************************************************************************
                                         | Exception stack is:
                                         | 1. Fail (edu.ucsb.eucalyptus.cloud.DecryptionFailedException)
                                         | edu.ucsb.eucalyptus.cloud.ws.WalrusImageManager:261 (null)
                                         | 2. Component that caused exception is: BukkitInternal. Message payload is of type: CacheImageType (org.mule.api.service.ServiceException)
                                         | org.mule.component.DefaultLifecycleAdapter:214 (http://mule.mulesource.org/docs/apidocs/org/mule/api/service/ServiceException.html)
                                         | ********************************************************************************
                                         | Root Exception stack trace:
                                         | edu.ucsb.eucalyptus.cloud.DecryptionFailedException: Fail
                                         | at edu.ucsb.eucalyptus.cloud.ws.WalrusImageManager.decryptImage(WalrusImageManager.java:261)
                                         | at edu.ucsb.eucalyptus.cloud.ws.WalrusImageManager.cacheImage(WalrusImageManager.java:433)
                                         | at edu.ucsb.eucalyptus.cloud.ws.WalrusImageManager.cacheImage(WalrusImageManager.java:1044)
                                         | at edu.ucsb.eucalyptus.cloud.ws.WalrusControl.CacheImage(WalrusControl.java:380)
                                         | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                         | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                                         | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                                         | at java.lang.reflect.Method.invoke(Method.java:616)
                                         | at org.mule.model.resolvers.AbstractEntryPointResolver.invokeMethod(AbstractEntryPointResolver.java:147)
                                         | at org.mule.model.resolvers.ReflectionEntryPointResolver.invoke(ReflectionEntryPointResolver.java:127)
                                         | at org.mule.model.resolvers.DefaultEntryPointResolverSet.invoke(DefaultEntryPointResolverSet.java:50)
                                         | at org.mule.component.DefaultLifecycleAdapter.intercept(DefaultLifecycleAdapter.java:202)
                                         | at org.mule.component.AbstractJavaComponent.invokeComponentInstance(AbstractJavaComponent.java:82)
                                         | at org.mule.component.AbstractJavaComponent.doOnCall(AbstractJavaComponent.java:73)
                                         | at org.mule.component.AbstractComponent.onCall(AbstractComponent.java:87)
                                         | at org.mule.model.seda.SedaService.doSend(SedaService.java:234)
                                         | at org.mule.service.AbstractService.sendEvent(AbstractService.java:510)
                                         | at org.mule.DefaultMuleSession.sendEvent(DefaultMuleSession.java:351)
                                         | at org.mule.routing.inbound.DefaultInboundRouterCollection.send(DefaultInboundRouterCollection.java:196)
                                         | at org.mule.routing.inbound.DefaultInboundRouterCollection.route(DefaultInboundRouterCollection.java:164)
                                         | at org.mule.transport.AbstractMessageReceiver$DefaultInternalMessageListener.onMessage(AbstractMessageReceiver.java:604)
                                         | at org.mule.transport.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:346)
                                         | at org.mule.transport.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:269)
                                         | at org.mule.transport.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:262)
                                         | at org.mule.transport.vm.VMMessageReceiver.onMessage(VMMessageReceiver.java:98)
                                         | at org.mule.transport.vm.VMMessageDispatcher.doDispatch(VMMessageDispatcher.java:66)
                                         | at org.mule.transport.AbstractMessageDispatcher$Worker.run(AbstractMessageDispatcher.java:262)
                                         | at org.mule.work.WorkerContext.run(WorkerContext.java:310)
                                         | at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
                                         | at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
                                         | at java.lang.Thread.run(Thread.java:636)

tags: added: iso-testing
Dave Walker (davewalker)
description: updated
description: updated
Revision history for this message
Dave Walker (davewalker) wrote :

Seems to (oddly) be a kernel regression. Reverting to a Lucid kernel on Maverick resolves this issue.

C de-Avillez (hggdh2)
tags: added: regression-potential
Revision history for this message
Jeremy Foshee (jeremyfoshee) wrote :

Hi Dave,

Please be sure to confirm this issue exists with the latest development release of Ubuntu. ISO CD images are available from http://cdimage.ubuntu.com/daily-live/current/ . If the issue remains, please run the following command from a Terminal (Applications->Accessories->Terminal). It will automatically gather and attach updated debug information to this report.

apport-collect -p linux 588861

Also, if you could test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. Please let us know your results.

Thanks in advance.

    [This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: needs-kernel-logs
tags: added: needs-upstream-testing
tags: added: kj-triage
Changed in linux (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu):
status: Incomplete → Triaged
importance: Undecided → High
tags: added: kernel-needs-review kernel-uncat
removed: needs-kernel-logs needs-upstream-testing
Thierry Carrez (ttx)
Changed in eucalyptus (Ubuntu):
importance: Undecided → High
milestone: none → maverick-alpha-2
Changed in eucalyptus (Ubuntu Maverick):
assignee: nobody → Dave Walker (davewalker)
tags: added: kernel-candidate kernel-core kernel-reviewed
removed: kernel-needs-review kernel-uncat
Revision history for this message
Thierry Carrez (ttx) wrote :

I can confirm on my rig.
Other Eucalyptus users have seen it on other platforms (RedHat/Eucalyptus/Xen), and also linked it to the 2.6.34 kernel, see:
http://open.eucalyptus.com/forum/decrypting-image-exception

Changed in eucalyptus (Ubuntu Maverick):
status: New → Confirmed
Revision history for this message
Thierry Carrez (ttx) wrote :

For the record, root cause is:
ERROR javax.crypto.BadPaddingException: pad block corrupted
javax.crypto.BadPaddingException: pad block corrupted
 at org.bouncycastle.jce.provider.JCEBlockCipher.engineDoFinal(Unknown Source)
 at javax.crypto.Cipher.doFinal(Cipher.java:1708)
 at edu.ucsb.eucalyptus.cloud.ws.WalrusImageManager.decryptImage(WalrusImageManager.java:801)

Revision history for this message
Thierry Carrez (ttx) wrote :

Decryption works alright for kernel bundle, but not for the image bundle:

Decrypting image: //var/lib/eucalyptus/bukkits/ISOtest-20100616103000/lucid-server-uec-amd64-vmlinuz-virtual-HBfS9Es..tgz
Done decrypting: //var/lib/eucalyptus/bukkits/ISOtest-20100616103000/lucid-server-uec-amd64-vmlinuz-virtual-HBfS9Es..tgz
Decrypting image: //var/lib/eucalyptus/bukkits/ISOtest-20100616103000/lucid-server-uec-amd64.img-XcuxtCo..tgz
javax.crypto.BadPaddingException: pad block corrupted

Might be size-related.

Revision history for this message
Thierry Carrez (ttx) wrote :

Tried with current maverick 2.6.35-3-server, same issue.
Registering the image is sufficient to trigger the above error, no need to try to run an instance.

Revision history for this message
Thierry Carrez (ttx) wrote :

From my testing, the bigger the image, the more chances you have of hitting that error. If I take the lucid image and gradually truncate it, it starts working when its size is <=430Mb. I also have a 200Mb file that fails, so its not an absolute size thing.

Revision history for this message
Thierry Carrez (ttx) wrote :

I also tested bouncycastle 1.45 and it does fail the same.

Thierry Carrez (ttx)
summary: - Instances block in pending state, and don't start
+ "pad block corrupted" error when trying to register an image with 2.6.34
+ kernel
Revision history for this message
Dustin Kirkland  (kirkland) wrote :

Chris Cheney-

Please bisect the kernels at:
 * http://kernel.ubuntu.com/~kernel-ppa/mainline
and try to identify which kernel introduces this regression.

Revision history for this message
Dmitrii Zagorodnov (dmitrii) wrote :

I am attaching a tarball with a stand-alone Java program that exercises BouncyCastle in the same exact way as Walrus does for image decryption. Included with the code are a couple of the JARs it needs and three input files: an encrypted compressed image (originally a ~1-GB Ubuntu image), the manifest for the image, and a cloud private key necessary for decryption. We are unable to reproduce this bug on our setup, but perhaps someone else will be able to, either with the included image or with a different one. To use the included image:

tar zxvf TestWalrusDecryption.tgz
cd TestWalrusDecryption
javac -classpath bcprov-jdk16-145.jar:xalan-2.7.1.jar TestWalrusDecryption.java
java -classpath bcprov-jdk16-145.jar:xalan-2.7.1.jar:. TestWalrusDecryption encrypted.img manifest.xml key.pem

To use with a different image, start with a working Eucalyptus installation and obtain user credentials. Using the credentials bundle (but not necessarily upload or register) an image of your choice. In the directory where bundling took place there will be a manifest file and several encrypted parts. Cat the parts together in the right order to obtain the encrypted image. Finally, extract the cloud private key from the cloud controller as follows:

openssl pkcs12 -in ${EUCALYPTUS}/var/lib/eucalyptus/keys/euca.p12 \
-name eucalyptus -name "eucalyptus" \
-password pass:eucalyptus -passin pass:eucalyptus -passout pass:eucalyptus \
-nodes | \
grep -A30 "friendlyName: eucalyptus" | \
grep -A26 "BEGIN RSA" > ${EUCALYPTUS}/var/lib/eucalyptus/keys/cloud-pk.pem

The cloud-pk.pem file is what you pass as the third parameter.

Revision history for this message
Chris Cheney (ccheney) wrote :

works:

Linux beagle 2.6.32-020632-generic #020632 SMP Thu Dec 3 10:09:58 UTC 2009 x86_64 GNU/Linux
Linux beagle 2.6.32-0206321505-generic #0206321505 SMP Wed Jun 2 19:09:40 UTC 2010 x86_64 GNU/Linux

bad:

Linux beagle 2.6.33-020633-generic #020633 SMP Thu Feb 25 10:10:03 UTC 2010 x86_64 GNU/Linux

Revision history for this message
Chris Cheney (ccheney) wrote :

Hmm I tried 2.6.33 again just to be certain and now it is working on 2.6.33, hmm :-\

Revision history for this message
Chris Cheney (ccheney) wrote :

I now can't get it to crash anymore. I am upgrading from maverick alpha 1 to current and then will do further testing.

Revision history for this message
Chris Cheney (ccheney) wrote :

I tried upgrading to current and now I can't see my nc anymore. :-\

Revision history for this message
Chris Cheney (ccheney) wrote :

After changing my test to just be registering the images per Dave's recommendation I was able to come up with this list:

I tested the following kernels, 10 times each:

Passed:
v2.6.32 (10/10)
v2.6.32.15.5-lucid (10/10)

Failed:
v2.6.33 (10/10)
v2.6.34-rc3-maverick (10/10)
v2.6.34-lucid (09/10) (weird python failure instead for 1 of them, see below)

So it looks like it broken between 2.6.32.15.5 and 2.6.33.

--

Sun Jun 20 23:57:09 CDT 2010: ====== extracting image ======
Warning: no ramdisk found, assuming '--ramdisk none'
kernel : lucid-server-uec-amd64-vmlinuz-virtual
ramdisk: none
image : lucid-server-uec-amd64.img
Sun Jun 20 23:57:17 CDT 2010: ====== bundle/upload kernel ======
Sun Jun 20 23:57:19 CDT 2010: ====== bundle/upload image ======
Traceback (most recent call last):
  File "/usr/bin/euca-bundle-image", line 231, in <module>
    main()
  File "/usr/bin/euca-bundle-image", line 209, in main
    encrypted_file, key, iv, bundled_size = euca.encrypt_image(tgz_file)
  File "/usr/lib/python2.6/dist-packages/euca2ools/__init__.py", line 579, in encrypt_image
    k=EVP.Cipher(alg='aes_128_cbc', key=unhexlify(key), iv=unhexlify(iv), op=1)
TypeError: Odd-length string
failed to bundle image lucid-server-uec-amd64.img
failed bundle/upload/register of image
Encrypting image

--

tags: removed: kernel-candidate
Changed in linux (Ubuntu Maverick):
assignee: nobody → John Johansen (jjohansen)
Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Maverick):
assignee: John Johansen (jjohansen) → Tim Gardner (timg-tpi)
status: Triaged → In Progress
Revision history for this message
Chris Cheney (ccheney) wrote :

Tracked down to occurring in 2.6.33rc1, so will be checking between that and 2.6.32-15.5

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Fails with 701791cc3c8fc6dd83f6ec8af7e2541b4a316606

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Works with 41440ffe21f29bdb985cab76b2d0b06d83e63b19 (required minor compile fix)

Revision history for this message
Chris Cheney (ccheney) wrote :

Works with 23eb3b64b5e44680c867e165fe1cd18e57fba255 (required compile fix, probably the same one as Tim mentioned earlier).

Revision history for this message
Tim Gardner (timg-tpi) wrote :

works with 23eb3b64b5e44680c867e165fe1cd18e57fba255 (required minor compile fix)

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Fails with 79a56ed0e11c7d924762062a0e2a46b87014498d

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Fails with e33c01972239fee4696679ae5f7d1f340f424999

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Fails with 951c30d135390a108f102b0f6e3cfa6241f2a1aa

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Works with 5db5d64277bf390056b1a87d0bb288c8b8553f96

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Works with 4f570f995f68ef77aae7e5a441222f59232f2d0e

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Works with 150e6c67f4bf6ab51e62defc41bd19a2eefe5709

Revision history for this message
Tim Gardner (timg-tpi) wrote :

works with f21121cde6e617b90cd03ce083652ca543004dc2

rtg@zinc:~/linux-2.6$ git bisect good
cc56f7de7f00d188c7c4da1e9861581853b9e92f is first bad commit
commit cc56f7de7f00d188c7c4da1e9861581853b9e92f
Author: Changli Gao <email address hidden>
Date: Wed Nov 4 09:09:52 2009 +0100

    sendfile(): check f_op.splice_write() rather than f_op.sendpage()

    sendfile(2) was reworked with the splice infrastructure, but it still
    checks f_op.sendpage() instead of f_op.splice_write() wrongly. Although
    if f_op.sendpage() exists, f_op.splice_write() always exists at the same
    time currently, the assumption will be broken in future silently. This
    patch also brings a side effect: sendfile(2) can work with any output
    file. Some security checks related to f_op are added too.

    Signed-off-by: Changli Gao <email address hidden>
    Signed-off-by: Jens Axboe <email address hidden>

:040000 040000 c10964cc42af214af80ecfd5cc3e9e873c09b8d5 a1fecaea1c9a54c62471cdfe3b6540ca6619e2cb M fs

Revision history for this message
Chris Cheney (ccheney) wrote :

He appears to have made another update related to sendfile on May 26. However, I am not sure if it fixes this problem or that it has been applied to mainline yet.

http://marc.info/?a=119980668900012&r=1&w=2

Revision history for this message
Tim Gardner (timg-tpi) wrote :

A Ubuntu-2.6.35-6.7 kernel with cc56f7de7f00d188c7c4da1e9861581853b9e92f reverted also appears to clear up the error.

Revision history for this message
Chris Cheney (ccheney) wrote :

sendfile is used by openjdk-6 directly in the following file:

http://pastebin.com/tceugS7r

Revision history for this message
Thierry Carrez (ttx) wrote :

We mentioned this bug during the 20100625 release meeting.

The A2 milestone will ship with an affected kernel, but Tim hopes to be able to nail the issue before the milestone release.

If he does, we'll releasenote that UEC users should dist-upgrade before registering their first image.

If no fixed kernel is available in the archive by then, we'll set up a PPA with a kernel with the problematic commit reverted, and releasenote instructions for people to use it if they want to run Alpha2 UEC.

Revision history for this message
Chris Cheney (ccheney) wrote :

During test of the following kernel it prints the following to dmesg once for each pass:

ae0f36f0b964caf916c2ffc9f84b28c0f91c18a2-maverick

"[ 365.268713] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 should this happen?"

Revision history for this message
Chris Cheney (ccheney) wrote :

0a87a0c1b12f56bd556fd4506041966717c87fb1-maverick

failed as expected

[ 129.980324] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 178.931445] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 178.946722] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 178.956955] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 178.966482] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 178.975832] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 178.985221] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 178.995507] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 179.004812] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 179.014215] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 179.023585] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 179.032934] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 179.042205] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 179.051533] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 179.060871] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 179.070252] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 179.079538] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 179.089084] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 179.099589] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)
[ 179.110479] /home/rtg/kern/maverick/kern-64/ubuntu-maverick/fs/read_write.c:849 ffffffff816256e0 (null)

---

afef312909fa10e603a05e030b2ee2feebde8d9f-maverick

works

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Upstream response:

On Sat, Jun 26, 2010 at 4:18 AM, Tim Gardner <email address hidden> wrote:
> > Fat fingered the original email and didn't get the fsdevel address correct.
> >
> > -----------------------
> > Hi,
> >
> > I have bisected a strange regression down to this commit that you made. If I
> > apply the attached patch (which restores the original 2 lines of code), then
> > everything works correctly. I apologize, but I don't have a simple
> > reproducer. The gist of the problem is that Java cannot decrypt a file under
> > certain circumstances, e.g., "ERROR javax.crypto.BadPaddingException: pad
> > block corrupted". There is more information in the bug report at
> > http://bugs.launchpad.net/bugs/588861 , but not all of it is helpful.
> >
> > Any thoughts?
> >
It seems the target of sendfile(2) isn't a socket, and the current
sendfile(2) code can't handle non-socket target correctly. Please try
this patch: http://marc.info/?l=linux-fsdevel&m=127488508224173&w=2 .

-- Regards, Changli Gao(<email address hidden>)

Revision history for this message
Chris Cheney (ccheney) wrote :

The fix from upstream appears to work. This bug can be closed out once the fix goes into Maverick and will be in a ppa for alpha-2 testing from what Tim has said on IRC.

Thanks for all the help Tim!

Revision history for this message
Tim Gardner (timg-tpi) wrote :

The above referenced patch appears to fix the issue. Pull request sent.

https://lists.ubuntu.com/archives/kernel-team/2010-June/011352.html

Revision history for this message
Tim Gardner (timg-tpi) wrote :

This was a kernel regression.

Changed in eucalyptus (Ubuntu Maverick):
assignee: Dave Walker (davewalker) → nobody
importance: High → Undecided
milestone: maverick-alpha-2 → none
status: Confirmed → Invalid
Changed in eucalyptus:
status: New → Invalid
Changed in linux (Ubuntu Maverick):
milestone: none → maverick-alpha-3
Revision history for this message
Tim Gardner (timg-tpi) wrote :

A test kernel is available from the kernel PPA at http://ppa.launchpad.net/kernel-ppa/ppa/ubuntu in the maverick release pocket: linux 2.6.35-6.8~maverick1

Revision history for this message
Tim Gardner (timg-tpi) wrote :

The test kernel is actually linux 2.6.35-6.9~maverick1

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Ok, so we've committed the fix to our git repo and will upload the kernel to the archive late Wed. I suggest the release note recommend using the kernel provided in the PPA and then update to the 2.6.35-6.9 kernel once it's available.

From #ubuntu-release on FreeNode:
[14:37:47] <ogasawara> cjwatson, ttx: in the release team meeting last friday we agreed, "if on Wednesday bug 588861 is not fixed in kernel, then can ogasawara prepare the PPA and then ttx can release note the PPA, otherwise ttx to release note to dist-upgrade"
[14:38:09] <ogasawara> cjwatson, ttx: we've already uploaded a kernel which contains the fix to our PPA
[14:38:51] <ogasawara> cjwatson, ttx: do you want me to wait to upload the official kernel to the archive until immediately after Alpha2 is released?
[14:39:34] <ogasawara> cjwatson, ttx: or would you prefer I upload the kernel sooner (ie now) so it's immediately available for people to dist-upgrade?
[14:41:55] <ScottK> ogasawara: It might be nice to wait until the buildds aren't quite so clogged if it's not going to be accepted until after Alpha 2.
[14:43:38] <ogasawara> ScottK: makes sense
[14:44:58] <cjwatson> I think late Wednesday would be OK
[14:57:20] <ogasawara> cjwatson: ack

Changed in linux (Ubuntu Maverick):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.35-6.9

---------------
linux (2.6.35-6.9) maverick; urgency=low

  [ Tim Gardner ]

  * [Upstream] direct_splice_actor() should not use pos in sd
    - LP: #588861
 -- Leann Ogasawara <email address hidden> Mon, 28 Jun 2010 12:35:49 -0700

Changed in linux (Ubuntu Maverick):
status: Fix Committed → Fix Released
Revision history for this message
Dave Walker (davewalker) wrote :

Opening task for Lucid as it seems this issue is now showing there. (as per dupe Bug #813266)

Changed in eucalyptus (Ubuntu Lucid):
status: New → Invalid
Changed in linux (Ubuntu Lucid):
status: New → Invalid
status: Invalid → Triaged
assignee: nobody → Canonical Kernel Team (canonical-kernel-team)
milestone: none → ubuntu-10.04.3
importance: Undecided → High
Revision history for this message
James Page (james-page) wrote :

Reconfirmed on lucid 10.04.3 candidate iso; also proposed kernel fix which resolved the issue.

Andy Whitcroft (apw)
Changed in linux (Ubuntu Lucid):
assignee: Canonical Kernel Team (canonical-kernel-team) → Andy Whitcroft (apw)
status: Triaged → In Progress
Revision history for this message
Kate Stewart (kate.stewart) wrote :

This fix has been committed in a kernel to proposed. Updating the status of the bug to reflect that.

Changed in linux (Ubuntu Lucid):
milestone: ubuntu-10.04.3 → lucid-updates
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.32-33.71

---------------
linux (2.6.32-33.71) lucid-proposed; urgency=low

  [Andy Whitcroft]

  * Release Tracking Bug
    - LP: #813507

  [ Upstream Kernel Changes ]

  * splice: direct_splice_actor() should not use pos in sd
    - LP: #588861
 -- Andy Whitcroft <email address hidden> Wed, 20 Jul 2011 14:31:11 +0100

Changed in linux (Ubuntu Lucid):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.