Activity log for bug #1248394

Date Who What changed Old value New value Message
2013-11-06 04:00:38 Robie Basak bug added bug
2013-11-06 04:00:53 Robie Basak libvirt (Ubuntu): importance Undecided High
2013-11-06 04:01:09 Robie Basak nominated for series Ubuntu Precise
2013-11-06 04:05:49 Robie Basak bug task added uvtool
2013-11-06 04:07:48 Robie Basak uvtool: importance Undecided High
2013-11-06 13:36:22 C de-Avillez bug task added libvirt (Ubuntu Precise)
2013-11-06 20:59:32 Serge Hallyn libvirt (Ubuntu): status New Confirmed
2013-11-06 20:59:39 Serge Hallyn libvirt (Ubuntu): status Confirmed Fix Released
2013-11-06 20:59:43 Serge Hallyn libvirt (Ubuntu Precise): status New Confirmed
2013-11-06 20:59:47 Serge Hallyn libvirt (Ubuntu Precise): importance Undecided High
2013-11-08 09:42:38 Robie Basak attachment added libvirt.debdiff https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1248394/+attachment/3902915/+files/libvirt.debdiff
2013-11-08 09:42:47 Robie Basak libvirt (Ubuntu Precise): status Confirmed Triaged
2013-11-08 09:51:33 Robie Basak description python-libvirt 0.9.8-2ubuntu17.13 uvtool cannot sync images using libvirt on Precise. This is limited to i386. The error looks something like: [...] File "/usr/lib/python2.7/dist-packages/uvtool/libvirt/__init__.py", line 88, in _create_volume_from_fobj_with_size vol.upload(stream, 0, fobj_size, 0) File "/usr/lib/python2.7/dist-packages/libvirt.py", line 2073, in upload if ret == -1: raise libvirtError ('virStorageVolUpload() failed', vol=self) libvirt.libvirtError: Unable to seek /var/lib/uvtool/libvirt/images/x-uvt-b64-Y29tLnVidW50dS5jbG91ZDpzZXJ2ZXI6MTIuMDQ6aTM4NiAyMDEzMTAyNA== to 654696742695993344: Invalid argument Root cause: in the libvirt source, python/generator.py maps "unsigned long long" to PyArg_ParseTuple parameter "l", instead of "L" or "K". Upstream fix: http://libvirt.org/git/?p=libvirt.git;a=commit;h=d78035d06aab73a76a82c525f41580cf986cce7b Development fix: packaged from upstream Stable fix: a trivial backport of this fix. Note that this ignores the signed/unsigned distinction. I think the correct fix should be "K", but upstream are using "L", which will suffice for Intel architectures. To avoid diverging I think "L" is better for an SRU if we have to do it today. This may break ARM, which defaults to different signedness. I will raise this separately with upstream. Debdiff to follow. [Impact] uvtool fails to work on Precise i386, which means that juju's upcoming KVM container feature won't work when a guest is on the current LTS, which is our current recommendation. [Test Case] 0. Start with Precise on i386 1. sudo add-apt-repository cloud-archive:tools 2. sudo apt-get update 3. sudo apt-get install uvtool-libvirt 4. sg libvirtd 5. uvt-simplestreams-sync arch=i386 release=precise Expected results: zero exit status (some spurious errors printed) Actual results: non-zero exit status, "libvirt.libvirtError" with "unable to seek" to a ridiculously long offset. [Upstream Fix] http://libvirt.org/git/?p=libvirt.git;a=commit;h=d78035d06aab73a76a82c525f41580cf986cce7b [Development Fix] Already on an upstream version that has the fix. [Stable Fix] Trivial backport of the upstream fix. [Regression Potential] The only change is in the Python bindings, so API calls involving 64-bit integer parameters are affected. The fix is obviously correct; upstream and Saucy both have it and so this fix has been extensively tested. [Details] Root cause: in the libvirt source, python/generator.py maps "unsigned long long" to PyArg_ParseTuple parameter "l", instead of "L" or "K". Upstream fix: http://libvirt.org/git/?p=libvirt.git;a=commit;h=d78035d06aab73a76a82c525f41580cf986cce7b Development fix: packaged from upstream Stable fix: a trivial backport of this fix. python-libvirt 0.9.8-2ubuntu17.13 uvtool cannot sync images using libvirt on Precise. This is limited to i386. The error looks something like: [...]   File "/usr/lib/python2.7/dist-packages/uvtool/libvirt/__init__.py", line 88, in _create_volume_from_fobj_with_size     vol.upload(stream, 0, fobj_size, 0)   File "/usr/lib/python2.7/dist-packages/libvirt.py", line 2073, in upload     if ret == -1: raise libvirtError ('virStorageVolUpload() failed', vol=self) libvirt.libvirtError: Unable to seek /var/lib/uvtool/libvirt/images/x-uvt-b64-Y29tLnVidW50dS5jbG91ZDpzZXJ2ZXI6MTIuMDQ6aTM4NiAyMDEzMTAyNA== to 654696742695993344: Invalid argument Note that this ignores the signed/unsigned distinction. I think the correct fix should be "K", but upstream are using "L", which will suffice for the actual problem. To avoid diverging I think "L" is better for an SRU if we have to do it today. I have raised this separately with upstream.
2013-11-14 18:47:36 Brian Murray libvirt (Ubuntu Precise): status Triaged Fix Committed
2013-11-14 18:47:38 Brian Murray bug added subscriber Ubuntu Stable Release Updates Team
2013-11-14 18:47:40 Brian Murray bug added subscriber SRU Verification
2013-11-14 18:47:49 Brian Murray tags verification-needed
2013-11-19 09:34:20 Robie Basak description [Impact] uvtool fails to work on Precise i386, which means that juju's upcoming KVM container feature won't work when a guest is on the current LTS, which is our current recommendation. [Test Case] 0. Start with Precise on i386 1. sudo add-apt-repository cloud-archive:tools 2. sudo apt-get update 3. sudo apt-get install uvtool-libvirt 4. sg libvirtd 5. uvt-simplestreams-sync arch=i386 release=precise Expected results: zero exit status (some spurious errors printed) Actual results: non-zero exit status, "libvirt.libvirtError" with "unable to seek" to a ridiculously long offset. [Upstream Fix] http://libvirt.org/git/?p=libvirt.git;a=commit;h=d78035d06aab73a76a82c525f41580cf986cce7b [Development Fix] Already on an upstream version that has the fix. [Stable Fix] Trivial backport of the upstream fix. [Regression Potential] The only change is in the Python bindings, so API calls involving 64-bit integer parameters are affected. The fix is obviously correct; upstream and Saucy both have it and so this fix has been extensively tested. [Details] Root cause: in the libvirt source, python/generator.py maps "unsigned long long" to PyArg_ParseTuple parameter "l", instead of "L" or "K". Upstream fix: http://libvirt.org/git/?p=libvirt.git;a=commit;h=d78035d06aab73a76a82c525f41580cf986cce7b Development fix: packaged from upstream Stable fix: a trivial backport of this fix. python-libvirt 0.9.8-2ubuntu17.13 uvtool cannot sync images using libvirt on Precise. This is limited to i386. The error looks something like: [...]   File "/usr/lib/python2.7/dist-packages/uvtool/libvirt/__init__.py", line 88, in _create_volume_from_fobj_with_size     vol.upload(stream, 0, fobj_size, 0)   File "/usr/lib/python2.7/dist-packages/libvirt.py", line 2073, in upload     if ret == -1: raise libvirtError ('virStorageVolUpload() failed', vol=self) libvirt.libvirtError: Unable to seek /var/lib/uvtool/libvirt/images/x-uvt-b64-Y29tLnVidW50dS5jbG91ZDpzZXJ2ZXI6MTIuMDQ6aTM4NiAyMDEzMTAyNA== to 654696742695993344: Invalid argument Note that this ignores the signed/unsigned distinction. I think the correct fix should be "K", but upstream are using "L", which will suffice for the actual problem. To avoid diverging I think "L" is better for an SRU if we have to do it today. I have raised this separately with upstream. [Impact] uvtool fails to work on Precise i386, which means that juju's upcoming KVM container feature won't work when a guest is on the current LTS, which is our current recommendation. [Test Case] 0. Start with Precise on i386 1. sudo add-apt-repository cloud-archive:tools 2. sudo apt-get update 3. sudo apt-get install uvtool-libvirt 4. sg libvirtd 5. uvt-simplestreams-libvirt sync arch=i386 release=precise Expected results: zero exit status (some spurious errors printed) Actual results: non-zero exit status, "libvirt.libvirtError" with "unable to seek" to a ridiculously long offset. [Upstream Fix] http://libvirt.org/git/?p=libvirt.git;a=commit;h=d78035d06aab73a76a82c525f41580cf986cce7b [Development Fix] Already on an upstream version that has the fix. [Stable Fix] Trivial backport of the upstream fix. [Regression Potential] The only change is in the Python bindings, so API calls involving 64-bit integer parameters are affected. The fix is obviously correct; upstream and Saucy both have it and so this fix has been extensively tested. [Details] Root cause: in the libvirt source, python/generator.py maps "unsigned long long" to PyArg_ParseTuple parameter "l", instead of "L" or "K". Upstream fix: http://libvirt.org/git/?p=libvirt.git;a=commit;h=d78035d06aab73a76a82c525f41580cf986cce7b Development fix: packaged from upstream Stable fix: a trivial backport of this fix. python-libvirt 0.9.8-2ubuntu17.13 uvtool cannot sync images using libvirt on Precise. This is limited to i386. The error looks something like: [...]   File "/usr/lib/python2.7/dist-packages/uvtool/libvirt/__init__.py", line 88, in _create_volume_from_fobj_with_size     vol.upload(stream, 0, fobj_size, 0)   File "/usr/lib/python2.7/dist-packages/libvirt.py", line 2073, in upload     if ret == -1: raise libvirtError ('virStorageVolUpload() failed', vol=self) libvirt.libvirtError: Unable to seek /var/lib/uvtool/libvirt/images/x-uvt-b64-Y29tLnVidW50dS5jbG91ZDpzZXJ2ZXI6MTIuMDQ6aTM4NiAyMDEzMTAyNA== to 654696742695993344: Invalid argument Note that this ignores the signed/unsigned distinction. I think the correct fix should be "K", but upstream are using "L", which will suffice for the actual problem. To avoid diverging I think "L" is better for an SRU if we have to do it today. I have raised this separately with upstream.
2013-11-19 09:50:00 Robie Basak tags verification-needed verification-done
2013-11-25 20:10:40 Launchpad Janitor libvirt (Ubuntu Precise): status Fix Committed Fix Released
2013-11-25 20:10:47 Brian Murray removed subscriber Ubuntu Stable Release Updates Team
2013-11-26 10:46:16 Robie Basak uvtool: status New Fix Released