Xpra: Ticket #477: libav crashes with Ubuntu 12.x and Debian Wheezy

Moved from #457:

Here are the library versions found on each distro as of now (things do change, especially for unreleased distros like sid):

Distro avcodecavcodec versionx264
Ubuntu 13.10libavcodec53 - 0.8.9-0ubuntu- - 0.123.2189+git35cf912-1ubuntu1.1
Ubuntu 13.04libavcodec53 - 0.8.9-0ubuntu- - 0.123.2189+git35cf912-1
Ubuntu 12.10libavcodec53 - 0.8.9-0ubuntu0. - 0.123.2189+git35cf912-1
Ubuntu 12.04libavcodec53 - 0.8.9-0ubuntu0. - 0.120.2151+gita3f4407-2
Debian Wheezylibavcodec53 - 0.8.9-153.35.0libx264-123 - 0.123.2189+git35cf912-1
Debian Jessielibavcodec54 - 9.10-154.35.0libx264-133 - 0.133.2339+git585324f-2
Debian Sidlibavcodec54 - 9.10-154.35.0libx264-133 - 0.133.2339+git585324f-2+b1

with 0.11 installed from source (circa r4957):

Distro RESSHRNotes
Ubuntu 13.1010031
Ubuntu 13.0414142
Ubuntu 12.10 (32bit/64bit)85 / 10029 / 31crashes reliably on decoder context freeing
Ubuntu 12.044715crashes reliably on decoder context freeing
Debian Wheezy7325crashes reliably
Debian Jessie10236
Debian Sid5520

with up to date 0.11 binary builds from beta area instead of compiled locally:

Distro RESSHRNotes
Ubuntu 13.1010434
Ubuntu 13.0414039
Ubuntu 12.105421 crashes?
Ubuntu 12.044615 crashes?
Debian Wheezy7527 crashes
Debian Jessie10038
Debian Sid9132

And with 0.10.10 beta binaries (with the updated patch):

Distro RESSHRNotes
Ubuntu 13.107226
Ubuntu 13.047727
Ubuntu 12.107828 crashes
Ubuntu 12.044715 crashes
Debian Wheezy6022
Debian Jessie6425 crash on resize - needs rebuild with new libav?

(crash was also present in previous versions!?)

With 0.10.10 from source:

Distro RESSHRNotes
Ubuntu 13.107226
Ubuntu 13.047526
Ubuntu 12.107930 crashes
Ubuntu 12.044214 crashes
Debian Wheezy5922
Debian Jessie6726

It would be worth spending a bit more time to figure out why the figures vary so widely! Some small variation was expected as some of the tests were carried out on x86, others on x86_64. (could be related to which codecs we load - though I thought each VM had pretty much the same setup..)

We need to figure out where the differences come from, and whether Ubuntu 12.x and Wheezy can be made to work reliably or not.

Thu, 19 Dec 2013 05:29:08 GMT - Antoine Martin: owner, status, description changed

As of r4989, we disable avcodec on libav versions older than 54... unfortunately, this will disable avcodec for all versions of Ubuntu indiscriminately since they all ship with the same public version number (53.35.0). This would seem to indicate that the fix against libav 0.8.9 does exist somewhere, since the version shipped in Ubuntu 13.04 and 13.10 *seems* to work ok, and the same fix should really be applied to Ubuntu 12.04, 12.10 and Debian Wheezy. (if an when they do, we can think about re-enabling libavcodec53)

So, until then, at build time we apply the patch in r4991 to enable avcodec53 on distros that are known to have the fix (the ones I could not get to crash during testing): Ubuntu 13.04 and Ubuntu 13.10. Backport to 0.10.x in r4993 and r4994 - win32 "inline" #define compilation workaround in r4997

What a mess!

Thu, 19 Dec 2013 11:20:51 GMT - Antoine Martin: status changed; resolution set

0.10.10 released with the fix after testing ok - closing

Sat, 23 Jan 2021 04:56:46 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/477