Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Dec 2010 00:31:12 +1000
From:      Da Rock <freebsd-questions@herveybayaustralia.com.au>
To:        freebsd-questions@freebsd.org
Subject:   graphics/graphviz fails to install
Message-ID:  <4D1C97B0.3040907@herveybayaustralia.com.au>

next in thread | raw e-mail | index | archive | help
I'm following pr 147290, and I'm trying to fix it. I'm not sure how 
OpenEXR got involved but it is, and I need some help figuring out posix 
threads. I know I've bitten off way more than I can probably chew, but I 
will anyway :) I swallowed whole a medium mandarin when I was ten, so 
I'm used to it.

The output where it failed:

if test "x" = "x"; then if test -x /usr/local/bin/dot; then if test -x 
/sbin/ldconfig; then /sbin/ldconfig 2>/dev/null; fi; /usr/local/bin/dot 
-c; else /usr/local/bin/dot_static -c; fi; fi
terminate called after throwing an instance of 'Iex::EinvalExc'
   what():  Cannot lock mutex (Invalid argument).
gmake[4]: *** [install-exec-hook] Abort trap: 6 (core dumped)


Based on the info in the pr and looking at IlmThreadPool.cpp, it seems 
that thread is locked in preparation for its destruction. It can't lock 
and so it has a bitch about it and throws something.

Why I think along these lines is as I've read in the pr (someone more 
experienced than me debugged this far) the program fails at the 
lock(threadMutex) function and doesn't even run the finish() which shuts 
them down nicely (as I see it). According to IlmThreadPool.cpp finish() 
signals the threads to stop and waits for them. But if it can't lock and 
finish() doesn't run then SHTF and it complains.

Am I way off track? Or am I clear as mud? I think I'm struggling to find 
why it won't lock... One thought that crossed my mind is that the thread 
and/or mutex doesn't exist at this point- hence the invalid argument.

I read wikipedia on posix threads, and I know that doesn't even come 
close to what I facing here; I need to learn somehow though :)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D1C97B0.3040907>