Bug#590840: libxine1-misc-plugins: assertion error in kaffeine 0.8.7

2010-09-21 Thread Takeshi Hamasaki
Hi,

I tried to build xine-lib as Darren wrote:
 The right places are probably these:
  InitializeMagick() immediately prior to NewMagickWand();
  DestroyMagick() in dispose_class().

and succeed to execute gxine without start-time crash.
Without this fixes in src/libxinevdec/image.c, gxine neither start properly.

I used NULL as arg for InitializeMagick(), just FYI.

Regards,
-- 
Takeshi Hamasaki



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#590840: libxine1-misc-plugins: assertion error in kaffeine 0.8.7

2010-08-08 Thread Christopher Martin
I suspect that the crash is related to this problem:

https://www-old.cae.wisc.edu/pipermail/octave-maintainers/2010-January/014891.html

Thus it may be a xine-lib bug after all, as I don't see any 
InitializeMagick() - or DestroyMagick() for that matter - calls in 
xine-lib's code. I would guess that libxinevdec/image.c would be the 
appropriate place to add them.

Christopher Martin



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#590840: libxine1-misc-plugins: assertion error in kaffeine 0.8.7

2010-08-08 Thread Bob Friesenhahn

On Sun, 8 Aug 2010, Christopher Martin wrote:


I suspect that the crash is related to this problem:

https://www-old.cae.wisc.edu/pipermail/octave-maintainers/2010-January/014891.html

Thus it may be a xine-lib bug after all, as I don't see any
InitializeMagick() - or DestroyMagick() for that matter - calls in
xine-lib's code. I would guess that libxinevdec/image.c would be the
appropriate place to add them.


The next release of GraphicsMagick will make 
InitializeMagick()/DestroyMagick() totally thread safe.  In general it 
is safe to invoke InitializeMagick() just prior to use (and any number 
of times) so that life is easier within a library context.  The 
overhead of invoking InitializeMagick() is quite low since if the 
library is already initialized, the function immediately returns.


I am considering using GCC's shared library contructor/destructor 
semantics but am not sure how reliable that might be.


Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,http://www.GraphicsMagick.org/



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#590840: libxine1-misc-plugins: assertion error in kaffeine 0.8.7

2010-08-08 Thread Darren Salt
I demand that Bob Friesenhahn may or may not have written...

 On Sun, 8 Aug 2010, Christopher Martin wrote:
 I suspect that the crash is related to this problem:
 https://www-old.cae.wisc.edu/pipermail/octave-maintainers/2010-January/014891.html
 Thus it may be a xine-lib bug after all, as I don't see any
 InitializeMagick() - or DestroyMagick() for that matter - calls in
 xine-lib's code. I would guess that libxinevdec/image.c would be the
 appropriate place to add them.

The right places are probably these:
  InitializeMagick() immediately prior to NewMagickWand();
  DestroyMagick() in dispose_class().

This assumes that it's safe to call DestroyMagick() without having called
InitializeMagick().

If this works, I'll patch and re-upload, reassigning and closing this bug
report along the way. (Sven, or anybody else who is able to trigger the
problem, could you test?)

 The next release of GraphicsMagick will make
 InitializeMagick()/DestroyMagick() totally thread safe.  In general it is
 safe to invoke InitializeMagick() just prior to use (and any number of
 times) so that life is easier within a library context.  The overhead of
 invoking InitializeMagick() is quite low since if the library is already
 initialized, the function immediately returns.

http://www.imagemagick.org/download/www/api/deprecate.html#InitializeMagick
says that InitializeMagick() is deprecated, which is... interesting, in this
context. (Being able to use either is somewhat important.)

 I am considering using GCC's shared library contructor/destructor semantics
 but am not sure how reliable that might be.

Well... as far as xine-lib is concerned, if that works with dlopen() 
dlclose()...

-- 
| Darren Salt| linux at youmustbejoking | nr. Ashington, | Toon
| using Debian GNU/Linux | or ds,demon,co,uk| Northumberland | back!
| + Output less CO2 = avoid massive flooding.TIME IS RUNNING OUT *FAST*.

Scotty: Damage control is easy. Reading Klingon, that's hard.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#590840: libxine1-misc-plugins: assertion error in kaffeine 0.8.7

2010-07-29 Thread Sven Joachim
Package: libxine1-misc-plugins
Version: 1.1.19-2
Severity: important

After the upgrade to 1.1.19-2 (which brought in libgraphicsmagick3),
kaffeine 0.8.7 aborts with an assertion error after playing a video
(it displays its logo at that time):

,
| kaffeine: magick/semaphore.c:525: LockSemaphoreInfo: Assertion 
`semaphore_info != (SemaphoreInfo *) ((void *)0)' failed.
`

Here's a backtrace from gdb:

,
| [Thread 0xf0c29b70 (LWP 17114) exited]
| [New Thread 0xf0c29b70 (LWP 17115)]
| kaffeine: magick/semaphore.c:525: LockSemaphoreInfo: Assertion 
`semaphore_info != (SemaphoreInfo *) ((void *)0)' failed.
| 
| Program received signal SIGABRT, Aborted.
| [Switching to Thread 0xeefc7b70 (LWP 17111)]
| 0xf7fe0430 in __kernel_vsyscall ()
| (gdb) bt
| #0  0xf7fe0430 in __kernel_vsyscall ()
| #1  0xf6779751 in raise () from /lib/i686/cmov/libc.so.6
| #2  0xf677cb82 in abort () from /lib/i686/cmov/libc.so.6
| #3  0xf67728b8 in __assert_fail () from /lib/i686/cmov/libc.so.6
| #4  0xeff95d4c in LockSemaphoreInfo (semaphore_info=0x0) at 
magick/semaphore.c:525
| #5  0xeff61f6e in GetMagickInfo (name=0x8cc1e18 JPEG, exception=0xeefc6198) 
at magick/magick.c:409
| #6  0xeff16c6f in ReadImage (image_info=0x8cbb2f8, exception=0x8cee888) at 
magick/constitute.c:8249
| #7  0xf1835bb9 in MagickReadImageBlob (wand=0x8cee080, blob=0x8dcb9f9 
\377\330\377\340, length=21313)
| at wand/magick_wand.c:6513
| #8  0xf1869c0a in image_decode_data (this_gen=0x8442bf8, buf=0x85e31d8) at 
image.c:105
| #9  0xf5cb2239 in video_decoder_loop (stream_gen=0x85e1098) at 
video_decoder.c:386
| #10 0xf69e9955 in start_thread () from /lib/i686/cmov/libpthread.so.0
| #11 0xf681b10e in clone () from /lib/i686/cmov/libc.so.6
| (gdb) bt full
| #0  0xf7fe0430 in __kernel_vsyscall ()
| No symbol table info available.
| #1  0xf6779751 in raise () from /lib/i686/cmov/libc.so.6
| No symbol table info available.
| #2  0xf677cb82 in abort () from /lib/i686/cmov/libc.so.6
| No symbol table info available.
| #3  0xf67728b8 in __assert_fail () from /lib/i686/cmov/libc.so.6
| No symbol table info available.
| #4  0xeff95d4c in LockSemaphoreInfo (semaphore_info=0x0) at 
magick/semaphore.c:525
| __PRETTY_FUNCTION__ = LockSemaphoreInfo
| #5  0xeff61f6e in GetMagickInfo (name=0x8cc1e18 JPEG, exception=0xeefc6198) 
at magick/magick.c:409
| magick_info = value optimized out
| #6  0xeff16c6f in ReadImage (image_info=0x8cbb2f8, exception=0x8cee888) at 
magick/constitute.c:8249
| module_exception = {severity = UndefinedException, reason = 0x0, 
description = 0x0, error_number = 0, 
|   module = 0x0, function = 0x0, line = 0, signature = 2880220587}
| delegate_exception = {severity = UndefinedException, reason = 0x0, 
description = 0x0, error_number = 0, 
|   module = 0x0, function = 0x0, line = 0, signature = 2880220587}
| filename = 
\000\000K\317\b\000\070N\366\000\000\000\000\330\063\211\366\340\336\376\367\320k\374\356|j\374\356\270\000\000\000i\350\376\367\233n\374\356\240\063\211\366\340\336\376\367\320k\374\356\364\037\211\366\240\063\211\366\026\000\000\000(j\374\356,\355{\366\340\336\376\367\320k\374\356\264j\374\356\364\317\377\367\250\030\314\bX\000\000\000\250n\374\356\316\322\376\367\004\031\314\b\250\030\314\bX\000\000\000\364\317\377\367\001\000\000\000\000K\317\b\340g\374\356\340\336\376\367xn\374\356Do\374\356\364\317\377\367\340\336\376\367\001\000\000\000(\366\31...@j\374\356xn\374\356do\374\356\364\317\377\367\340\336\376\367\250n\374\356\001\000\000\000\250\363\313\b`j\374\356do\374\356\364\317\377\367\340\336\376\367\250n\374\356\\322\376\367\001\000\000\...@\240\313\b\200j\374\356\364\317\377\367\001\000\000\000\000\240\261\366\240j\374\356\340\336\376\367xn\374\356do\374\356\364\317\377\367\340\336\376\367\001\000\000\000p5n\366\003\210{\366xn\374\356do\374\356\364\317\377\367\340\336\376\367\001\000\000\000`q\374\356\001\000\000\000\364\037\211\366\314p\374\356\371\033\204\361\230p\374\356\\303x\366\314p\374\356\371\033\204\361\000\000\000\000\000\000\000\000\364\317\377\367\324\177u\366\026ii\r`k\374\356\000\000\000\000\031v\366o\212\223\361pk\374\356\b\212\223\361\200s\314\b\023\000\374\356\060\366\376\367\b\212\223\361\200B\213\366\364\317\377\367\364\035u\366\025\000\000\000\354k\374\356\000\000\000\000\000\000\000\000\017\000\000\000\377\377\377\377,
 '\000' repeats 12 times, \001, '\000' repeats 11 times\304...
| magick = 
JPEG\000\367\274[)\366\060E\213\366\364\317\377\367\310B\213\366\274[)\366Td\374\356\224\200\376\367\274[)\366\022{\211\366\364\317\377\367\000'*\366\351\300\060\366pd\374\356\224\200\376\367\351\300\060\366\022{\211\366\364\317\377\367\000
 
*\366\335\300\060\366\214d\374\356\224\200\376\367\335\300\060\366\200\254)\366,
 '\000' repeats 12 times,  
\320\377\367\000'*\366\000\000\000\000\034D*\366, '\000' repeats 12 times,  
\320\377\367\300K;\366, '\000' repeats 20 times,