severity 336437 grave thanks Hi,
After some investigation, I've discovered the real cause of the segfault occuring when using xine-engine to play mp3s (to be more precise, all audio files/streams subject to be decoded by mad plugin). Currently the problem is known to affect amd64, but naturally, it is not architecture specific. That's why I up'ed the severity. As it was noted before, compiling xine with external libmad fixes the segfault. However, this is not a good solution, but a workaround introducing other problems/bugs: compiling with external libmad is not recommended by xine upstream and such configuration causes kaffeine to crash. Now when using internal libmad (current configuration in sid) we have a quite reverse situation: kaffeine, xine-ui etc. work, but amarok does not. Something must be different about amarok. And it really is. Amarok links against libtunepimp2c2 that in turn depends on libmad0. So it drags (external) libmad dependency to amarok. External libmad exports symbols some of which (if not all) are named the same as the ones in xine's internal libmad (eg. xine-lib/src/libmad/synth.c:mad_synth_frame()). So ld resolves some mad symbols needed by libtunepimp2c2 from external libmad . When xine mad decoder plugin wants to access the symbol, that is named the same as the one already loaded from external libmad, it is given the already loaded one (from external libmad). So we end with the situation that some symbols are used from internal libmad and some from external one (in my case at least mad_synth_frame() is called from external libmad (checked with gdb)). This leads to segfaults because both mad libs are not identical and therefore not compatible. I'm not an expert of how ld works and my description might not be accurate. Thus I went the simplest way to solve the problem - I recompiled amarok without libtunepimp2-dev and xine-engine started to work (play mp3s) fine with current xine in sid. However, disabling some amarok features may not be acceptable for everyone... P.S. oggs play fine with xine-engine and libxine1 1.0.1-1.4 in sid
pgpXpNnTr74hY.pgp
Description: PGP signature