thread problem

Patrick Welche <[email protected]>
Newsgroups gmane.comp.video.graphicsmagick.core
Message-ID <[email protected]>
NetBSD now as a debugging libpthread, which shows up the following:

Error detected, file "/usr/src/lib/libpthread/pthread_mutex.c", line 338, function "pthread_mutex_unlock": Unlocking mutex owned by another thread.

Normally the program should then dump core like the debugging malloc(), but
for some reason it doesn't.. ImageMagick, does leave a core behind, which
may give some clues? (both with display)

#0  0x485e4817 in kill () from /usr/lib/libc.so.12
#1  0x485ac149 in pthread__errorfunc () from /usr/lib/libpthread.so.0
#2  0x485a902f in pthread_mutex_unlock () from /usr/lib/libpthread.so.0
#3  0x480ed2e1 in UnlockSemaphoreInfo (semaphore_info=0x808be00)
    at semaphore.c:425
#4  0x480ed0f9 in DestroySemaphoreInfo (semaphore_info=0x809b078)
    at semaphore.c:265
#5  0x48087396 in DestroyCacheInfo (cache=0x809a000) at cache.c:957
#6  0x48087602 in DestroyPixelCache (image=0x8098000) at cache.c:1073
#7  0x4808757b in DestroyImagePixels (image=0x8098000) at cache.c:1041
#8  0x480a2bea in DestroyImage (image=0x8098000) at image.c:1896
#9  0x480ab08e in SetImageInfo (image_info=0x8093000, rectify=0, 
    exception=0xbfbff9a8) at image.c:5810
#10 0x4809de61 in ReadImage (image_info=0x808d000, exception=0xbfbff9a8)
    at constitute.c:2616
#11 0x8049fae in main (argc=2, argv=0x805b000) at display.c:437
#12 0x8049464 in ___start ()

Looking at semaphore.c, I don't see why there is a
static pthread_mutex_t semaphore_mutex
and then things pass SemaphoreInfo->mutex around.

So, what are these mutices used for, and would ditching the static one
and seeing what breaks be a sensible way to find out why one thread is
unlocking another thread's mutex?

Cheers,

Patrick


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.