On Tue, Mar 31, 2015 at 4:13 AM, Mark Long <markalon...@yahoo.co.uk> wrote:

> 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);
>
>
I do not believe this is correct. We are not going to set this for every
mutex we create; that would point to a problem in pthread, not the calling
code.


> It is also noted that the issue is intermittent in other apps which matches 
> what I am seeing pretty closely.
>
> The problem is more likely due to locking an uninitialized mutex due to a
race condition or doing something unexpectedly non-thread-safe. However, I
don't ever see the backtrace you mention while working on melt, shotcut, or
kdenlive. You did not mention what version of MLT you are using. The first
thing to do is try the latest release and/or git master. One way to do that
is using the build script. However, OpenShot is a dead project, and you
might as well try moving onto something else such as Flowblade and seeing
how that goes for you.

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...
>
> ------------------------------
>
>
-- 
+-DRD-+
------------------------------------------------------------------------------
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