libogg 1.1.2 needed for Theora playback on 64-bit systems

Bug #11949 reported by j^
4
Affects Status Importance Assigned to Milestone
libogg (Debian)
Fix Released
Unknown
libogg (Ubuntu)
Fix Released
High
Thom May

Bug Description

warty ships with libogg 1.1

libogg 1.1 has a 64bit bug and thus i.e. theora playback does not work.
updating to version libogg 1.1.2 fixes that problem.
could you please update the version in warty to 1.1.2.

Revision history for this message
In , rillian (giles-xiph) wrote : Re: [Theora-dev] libtheora

On Wed, Dec 29, 2004 at 03:31:51PM -0800, Matt Zimmerman wrote:

> I can reproduce this as well; a stream which plays fine on Ubuntu/i386 fails
> to work on Ubuntu/amd64 (same versions of packages). I tested with
> totem-gstreamer.

Ah, I think I see the problem. There was a 64-bit bug with the libogg
bitpacker that was fixed in the 1.1.1 release. It was in the big-endian
implementation which is why it affects theora and not vorbis.

Looking at packages.debian.org/libogg-dev, debian is still shipping
1.1.0 (the latest is 1.1.2) This is the likely origin of the problem.

And...this is already reported, though the patch is wrong, I think:

  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=283007

So, we just need an updated package. Calc?

 -r

_______________________________________________
Theora-dev mailing list
<email address hidden>
http://lists.xiph.org/mailman/listinfo/theora-dev

Revision history for this message
In , rillian (giles-xiph) wrote : fixed upstream

This issue was fixed in the 1.1.1 upstream release. Our fix was more
subtle than the attached patch, but resolves the issue correctly.

A new package from of the latest (1.1.2) upstream release would resolve
this bug along with a number of others.

 -r

Revision history for this message
j^ (j) wrote :

warty ships with libogg 1.1

libogg 1.1 has a 64bit bug and thus i.e. theora playback does not work.
updating to version libogg 1.1.2 fixes that problem.
could you please update the version in warty to 1.1.2.

Revision history for this message
Matt Zimmerman (mdz) wrote :

In order to maintain stability, the only bugs that are fixed in Ubuntu stable
releases are bugs which can cause data loss and other catastrophic effects (see
http://www.ubuntulinux.org/ubuntu/releases/). This bug will be fixed in the
Hoary branch instead.

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-Id: <email address hidden>
Date: Thu, 25 Nov 2004 23:10:06 +0100
From: Julien BLACHE <email address hidden>
To: Debian Bug Tracking System <email address hidden>
Subject: libogg0: not 64bit clean

--===============7325652775479110625==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Package: libogg0
Version: 1.1.0-1
Severity: important
Tags: patch

Hi,

libogg0 is not 64bit clean as it assumes sizeof(int) == sizeof(long); it is
especially problematic when dealing with bitwise operations, as does half of
libogg...

As it happens, it is not possible to read an OGG file containing a Theora
stream without this patch, as libtheora will (correctly) fail to recognize the
Theora stream.

The attached patch fixes the problem, by using an unsigned int instead of an
unsigned long. The two modified functions manipulate bits 0-31 as indicated in
the comments above the functions, so it's safe.

A first patch was sent over 2 years ago to the theora-dev list...

Please apply,

JB.

-- System Information:
Debian Release: 3.1
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.9
Locale: LANG=C, LC_CTYPE=fr_FR@euro (charmap=ISO-8859-15)

Versions of packages libogg0 depends on:
ii libc6 2.3.2.ds1-18 GNU C Library: Shared libraries an

-- no debconf information

--===============7325652775479110625==
Content-Type: text/x-c; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="libogg_bitwise.c_64bit_fix.patch"

--- libogg-1.1.0.orig/src/bitwise.c
+++ libogg-1.1.0/src/bitwise.c
@@ -250,7 +250,7 @@

 /* Read in bits without advancing the bitptr; bits <= 32 */
 long oggpackB_look(oggpack_buffer *b,int bits){
- unsigned long ret;
+ unsigned int ret;
   int m=32-bits;

   bits+=b->endbit;
@@ -346,14 +346,14 @@

 /* bits <= 32 */
 long oggpackB_read(oggpack_buffer *b,int bits){
- unsigned long ret;
+ unsigned int ret;
   long m=32-bits;

   bits+=b->endbit;

   if(b->endbyte+4>=b->storage){
     /* not the main path */
- ret=-1UL;
+ ret=-1U;
     if(b->endbyte*8+bits>b->storage*8)goto overflow;
   }

--===============7325652775479110625==--

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Wed, 29 Dec 2004 16:21:19 -0800
From: Ralph Giles <email address hidden>
To: <email address hidden>
Subject: fixed upstream

This issue was fixed in the 1.1.1 upstream release. Our fix was more
subtle than the attached patch, but resolves the issue correctly.

A new package from of the latest (1.1.2) upstream release would resolve
this bug along with a number of others.

 -r

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Wed, 29 Dec 2004 16:06:21 -0800
From: Ralph Giles <email address hidden>
To: <email address hidden>
Cc: Christopher L Cheney <email address hidden>
Subject: Re: [Theora-dev] libtheora

On Wed, Dec 29, 2004 at 03:31:51PM -0800, Matt Zimmerman wrote:

> I can reproduce this as well; a stream which plays fine on Ubuntu/i386 fails
> to work on Ubuntu/amd64 (same versions of packages). I tested with
> totem-gstreamer.

Ah, I think I see the problem. There was a 64-bit bug with the libogg
bitpacker that was fixed in the 1.1.1 release. It was in the big-endian
implementation which is why it affects theora and not vorbis.

Looking at packages.debian.org/libogg-dev, debian is still shipping
1.1.0 (the latest is 1.1.2) This is the likely origin of the problem.

And...this is already reported, though the patch is wrong, I think:

  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=283007

So, we just need an updated package. Calc?

 -r

_______________________________________________
Theora-dev mailing list
<email address hidden>
http://lists.xiph.org/mailman/listinfo/theora-dev

Revision history for this message
Matt Zimmerman (mdz) wrote :

<mdz> calc: also, we should et the new libogg (for amd64) in Ubuntu before
feature freeze; if you don't think you will have time to update it in Debian,
one of us can do it for Ubuntu (and upload to Debian as well if you want that)
<calc> mdz: how long until feature freeze?
<mdz> calc: ~1 week
<calc> yea i will probably need someone to do it, i am going to be pretty busy
this week (i think), just got a job today :)

Please package the latest libogg for Hoary; it is excepted from the upstream
version freeze by virtue of fixing this bug

Revision history for this message
Thom May (thombot) wrote :

 libogg (1.1.2-0ubuntu1) hoary; urgency=low
 .
   * New upstream release

Revision history for this message
In , Dato Simó (dato) wrote : Re: libogg0: not 64bit clean

Version: 1.1.2-1

* Julien BLACHE [Thu, 25 Nov 2004 23:10:06 +0100]:

> Package: libogg0
> Version: 1.1.0-1
> Severity: important
> Tags: patch

> libogg0 is not 64bit clean as it assumes sizeof(int) == sizeof(long); it is
> especially problematic when dealing with bitwise operations, as does half of
> libogg...

* Ralph Giles [Wed, 29 Dec 2004 16:21:19 -0800]:

> This issue was fixed in the 1.1.1 upstream release. Our fix was more
> subtle than the attached patch, but resolves the issue correctly.

> A new package from of the latest (1.1.2) upstream release would resolve
> this bug along with a number of others.

  Debian has 1.1.2 for a while now, closing.

--
Adeodato Simó
    EM: dato (at) the-barrel.org | PK: DA6AE621
    Listening to: The Magnetic Fields - I'm Sorry I Love You

One way to make your old car run better is to look up the price of a new model.

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Wed, 16 Nov 2005 23:11:23 +0100
From: Adeodato =?utf-8?B?U2ltw7M=?= <email address hidden>
To: <email address hidden>
Subject: Re: libogg0: not 64bit clean

Version: 1.1.2-1

* Julien BLACHE [Thu, 25 Nov 2004 23:10:06 +0100]:

> Package: libogg0
> Version: 1.1.0-1
> Severity: important
> Tags: patch

> libogg0 is not 64bit clean as it assumes sizeof(int) == sizeof(long); it is
> especially problematic when dealing with bitwise operations, as does half of
> libogg...

* Ralph Giles [Wed, 29 Dec 2004 16:21:19 -0800]:

> This issue was fixed in the 1.1.1 upstream release. Our fix was more
> subtle than the attached patch, but resolves the issue correctly.

> A new package from of the latest (1.1.2) upstream release would resolve
> this bug along with a number of others.

  Debian has 1.1.2 for a while now, closing.

--
Adeodato Simó
    EM: dato (at) the-barrel.org | PK: DA6AE621
    Listening to: The Magnetic Fields - I'm Sorry I Love You

One way to make your old car run better is to look up the price of a new model.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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