Despite compiling without warnings against both ffmpeg 2.3 and 2.3.1, the resulting dec_avcodec2
video decoder module causes cleanup errors on exit on win32. (that look like use after free or memory corruption: memory accesses at low addresses like 0x00000004
)
I think it is safer to go with the 2.2.x branch (2.2.6 is out), even on OSX and Linux: done in r7175. Please confirm that the problem exists with 2.3 on win32 and re-assign to me as non-blocker for 0.15.
Note: may not be a bug, was seeing the same thing with 2.2.6, a good old reboot-windows later and it's gone..
Found some xpra cleanup bugs, fixed in r7199 (will backport).
Well, well, well.
There is a problem, but it is not with the ffmpeg version. I made a fresh 2.2.5 build (using the exact same command line) and it exhibits the same problem at runtime, the "old" 2.2.5 one does not.
Diffing the two trees shows absolutely nothing of interest, the only files shown as being different are the ".lib", ".a" and ".dll" - which is kind of expected.
So it must be a toolchain related bug. GCC got updated to 4.8.x in mingw32 recently (mingw-get update;mingw-get upgrade
...).
It could be a bug in GCC or maybe the newer GCC turns on some stricter checks in the ffmpeg code.
Disabling w32threads
makes no difference.
So, now we downgrade GCC back to 4.7, except the downgrade breaks mingw... You have to download the few dlls that go MIA yourself from here: http://sourceforge.net/projects/mingw/files/MinGW/Base/. And miracle, it no longer crashes.
(updating bug title)
I don't have time for toolchain issues.
FWIW: tried again today and it still causes crashes. Either building ffmpeg with gcc 4.8, or building the cython modules that link to it triggers crashes.
Superseded by #678.
Closing as wontfix: this build system will remain as it is for now, not updating gcc.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/628