With regard to the Mutex issue that I mentioned, apparently it has been solved 
in other apps by setting a ceiling on the thread priority
int OldPrio = 0;
pthread_mutex_setprioceiling(&CritSec, 0, &OldPrio);It is also noted that the 
issue is intermittent in other apps which matches what I am seeing pretty 
closely.
I think that I might try building with this change and see what happens.
Mark 



     On Monday, 30 March 2015, 1:28, "mlt-devel-requ...@lists.sourceforge.net" 
<mlt-devel-requ...@lists.sourceforge.net> wrote:
   

 Send Mlt-devel mailing list submissions to
    mlt-devel@lists.sourceforge.net

To subscribe or unsubscribe via the World Wide Web, visit
    https://lists.sourceforge.net/lists/listinfo/mlt-devel
or, via email, send a message with subject or body 'help' to
    mlt-devel-requ...@lists.sourceforge.net

You can reach the person managing the list at
    mlt-devel-ow...@lists.sourceforge.net

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Mlt-devel digest..."


Today's Topics:

  1. Mutex related crash in mlt (Mark Long)


----------------------------------------------------------------------

Message: 1
Date: Sun, 29 Mar 2015 22:54:21 +0000 (UTC)
From: Mark Long <markalon...@yahoo.co.uk>
Subject: [Mlt-devel] Mutex related crash in mlt
To: "mlt-devel@lists.sourceforge.net"
    <mlt-devel@lists.sourceforge.net>
Message-ID:
    <1276472987.1227937.1427669661282.javamail.ya...@mail.yahoo.com>
Content-Type: text/plain; charset="utf-8"

Hi guys
Full disclosure - I am not a whizz at debugging on Linux. Most of my experience 
is from Windows.
I am using OpenShot and seeing frequent crashes. The system is an HP Z600 
with?Xeon(R) CPU E5530 @ 2.40GHz ? 8, 8GB RAM and running Ubuntu 14.04 64 bit.
Running under gdb, the crash looks like this:
#0 ?0x00007fa72bf7ccc9 in __GI_raise (sig=sig@entry=6)? ? at 
../nptl/sysdeps/unix/sysv/linux/raise.c:56#1 ?0x00007fa72bf800d8 in __GI_abort 
() at abort.c:89#2 ?0x00007fa72bf75b86 in __assert_fail_base (? ? 
fmt=0x7fa72c0c6830 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",?? ? 
assertion=assertion@entry=0x7fa72c31dd70 "new_prio == -1 || (new_prio >= 
__sched_fifo_min_prio && new_prio <= __sched_fifo_max_prio)",?? ? 
file=file@entry=0x7fa72c31dd64 "tpp.c", line=line@entry=62,?? ? 
function=function@entry=0x7fa72c31de40 <__PRETTY_FUNCTION__.8458> 
"__pthread_tpp_change_priority") at assert.c:92#3 ?0x00007fa72bf75c32 in 
__GI___assert_fail (? ? assertion=assertion@entry=0x7fa72c31dd70 "new_prio == 
-1 || (new_prio >= __sched_fifo_min_prio && new_prio <= 
__sched_fifo_max_prio)",?? ? file=file@entry=0x7fa72c31dd64 "tpp.c", 
line=line@entry=62,?? ? function=function@entry=0x7fa72c31de40 
<__PRETTY_FUNCTION__.8458> "__pthread_tpp_change_priority") at assert.c:101#4 
?0x00007fa72c31c0a6 in __pthread_tpp_change_priority (? ? 
previous_prio=previous_prio@entry=-1, new_prio=new_prio@entry=6924)? ? at 
tpp.c:60#5 ?0x00007fa72c310e9f in __pthread_mutex_lock_full 
(mutex=0x7fa6d80015f8)? ? at ../nptl/pthread_mutex_lock.c:453#6 
?0x00007fa71b38280e in ?? () from /usr/lib/libmlt.so.6#7 ?0x00007fa71b385676 in 
mlt_properties_set_int () from /usr/lib/libmlt.so.6#8 ?0x00007fa70ceda22d in ?? 
() from /usr/lib/mlt/libmltavformat.so
#9 ?0x00007fa70cedba2a in ?? () from /usr/lib/mlt/libmltavformat.so#10 
0x00007fa71b389a9e in ?? () from /usr/lib/libmlt.so.6#11 0x00007fa71b387e3b in 
mlt_service_get_frame () from /usr/lib/libmlt.so.6#12 0x00007fa71b38990c in ?? 
() from /usr/lib/libmlt.so.6#13 0x00007fa71b387e3b in mlt_service_get_frame () 
from /usr/lib/libmlt.so.6#14 0x00007fa71b38b09f in ?? () from 
/usr/lib/libmlt.so.6#15 0x00007fa71b389a9e in ?? () from 
/usr/lib/libmlt.so.6#16 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#17 0x00007fa71b38a00c in ?? () from 
/usr/lib/libmlt.so.6#18 0x00007fa71b389a9e in ?? () from 
/usr/lib/libmlt.so.6#19 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#20 0x00007fa71b390af5 in ?? () from 
/usr/lib/libmlt.so.6#21 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#22 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#23 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#24 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#25 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#26 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#27 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#28 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#29 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#30 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#31 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6
#32 0x00007fa71b3912a3 in ?? () from /usr/lib/libmlt.so.6#33 0x00007fa71b387e3b 
in mlt_service_get_frame () from /usr/lib/libmlt.so.6#34 0x00007fa71b3912a3 in 
?? () from /usr/lib/libmlt.so.6#35 0x00007fa71b387e3b in mlt_service_get_frame 
() from /usr/lib/libmlt.so.6#36 0x00007fa71b387e3b in mlt_service_get_frame () 
from /usr/lib/libmlt.so.6#37 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#38 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#39 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#40 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#41 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#42 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#43 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#44 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#45 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#46 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#47 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#48 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#49 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#50 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#51 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#52 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#53 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#54 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6
#55 0x00007fa71b3912a3 in ?? () from /usr/lib/libmlt.so.6#56 0x00007fa71b387e3b 
in mlt_service_get_frame () from /usr/lib/libmlt.so.6#57 0x00007fa71b387e3b in 
mlt_service_get_frame () from /usr/lib/libmlt.so.6#58 0x00007fa71b387e3b in 
mlt_service_get_frame () from /usr/lib/libmlt.so.6#59 0x00007fa71b3912a3 in ?? 
() from /usr/lib/libmlt.so.6#60 0x00007fa71b387e3b in mlt_service_get_frame () 
from /usr/lib/libmlt.so.6#61 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#62 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#63 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#64 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#65 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#66 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#67 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#68 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#69 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#70 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#71 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#72 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#73 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#74 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#75 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#76 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#77 0x00007fa71b3912a3 in ?? () from /usr/lib/libmlt.so.6
#78 0x00007fa71b387e3b in mlt_service_get_frame () from /usr/lib/libmlt.so.6#79 
0x00007fa71b3912a3 in ?? () from /usr/lib/libmlt.so.6#80 0x00007fa71b387e3b in 
mlt_service_get_frame () from /usr/lib/libmlt.so.6#81 0x00007fa71b387e3b in 
mlt_service_get_frame () from /usr/lib/libmlt.so.6#82 0x00007fa71b387e3b in 
mlt_service_get_frame () from /usr/lib/libmlt.so.6#83 0x00007fa71b3912a3 in ?? 
() from /usr/lib/libmlt.so.6#84 0x00007fa71b387e3b in mlt_service_get_frame () 
from /usr/lib/libmlt.so.6#85 0x00007fa71b3912a3 in ?? () from 
/usr/lib/libmlt.so.6#86 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#87 0x00007fa71b391d30 in ?? () from 
/usr/lib/libmlt.so.6#88 0x00007fa71b389a9e in ?? () from 
/usr/lib/libmlt.so.6#89 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#90 0x00007fa71b387e3b in mlt_service_get_frame () from 
/usr/lib/libmlt.so.6#91 0x00007fa71b38e968 in mlt_consumer_get_frame () from 
/usr/lib/libmlt.so.6#92 0x00007fa71b38ee66 in ?? () from 
/usr/lib/libmlt.so.6#93 0x00007fa72c313182 in start_thread 
(arg=0x7fa6f0a13700)? ? at pthread_create.c:312#94 0x00007fa72c04047d in clone 
()? ? at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
The stack looks very repetitive which makes me wonder if gdb is confused but 
the crash seems to be related to mutexs rather than mlt directly.
Any ideas as to what might be wrong?
Thanks
Mark
-------------- next part --------------
An HTML attachment was scrubbed...

------------------------------

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/

------------------------------

_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel


End of Mlt-devel Digest, Vol 105, Issue 9
*****************************************


  
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel

Reply via email to