Bug#765341: more information

Martin Steghöfer martin at steghoefer.eu
Sat Oct 18 11:31:49 UTC 2014


Hi Klaumi!

Regarding (1):

El 16/10/14 a les 23:53, Klaumi Klingsporn ha escrit:
> You find a sample-project at:
> https://www.dropbox.com/s/79d6p6sri6shlj5/sample-project.tgz?dl=0

Thanks, that sample project helped a lot to track down the problem! :-)

I identified the problem as a bug in wxWidgets 3.0. In order to fulfill 
clipboard operations, they have to process GDK events. Unfortunately, 
the processing isn't sufficiently protected and processes not only 
clipboard events, but all kinds of stuff - like wxShowEvent and 
wxTimerEvent, which in our case perform clipboard operations on their 
own and cause the reentry.

If you want the details, you can find them in the upstream bug report I 
filed:

http://trac.wxwidgets.org/ticket/16636

Actually the situation was even worse in wxWidgets 2.8: While in 3.0 
they have a porous safety net in the event processing, in 2.8 they 
didn't have any safety net at all. BUT:
* Audacity had its own safety net in place as a workaround - which, 
however is now incompatible with wxWidgets' own safety net (they both 
rely on changing the GDK event handler - whoever does the change later, 
wins).
* The distribution of the clipboard operations (in which event they are 
processed) in Audacity with 2.8 was more fortunate.

So I tried to work around this by shifting the moment of doing the event 
processing that involves clipboard operations at a moment at which we 
can be certain of not being in a YieldFor(..) call (and therefore not in 
a clipboard operation executed before). I hope that I've covered all 
dangerous processings, it's not easy to identify them. I've attached a 
patch (wxwidgets-clipboard-reentry-workaround.patch) that works for me 
with the audacity-2.0.6-1 package. Do you have the chance to try it? Or 
do you want me to provide a binary package for you to try it or something?

>> 3. Segmentation fault on applying LV2 plugins
> [...]
> Only an idea of an user-only: Maybe it has something to do with my
> extra set configure-flag "--with-lv2=system".

I think there's a good chance that it's related to that. However, could 
you be more specific about the LV2 plugin you tried and where it comes 
from? The crash that I could produce turned out to be more related to 
the LV2 plugin itself than audacity.

Cheers,
Martin

-------------- next part --------------
A non-text attachment was scrubbed...
Name: wxwidgets-clipboard-reentry-workaround.patch
Type: text/x-diff
Size: 3384 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20141018/54c1bb27/attachment.patch>


More information about the pkg-multimedia-maintainers mailing list