On 1/17/13 9:42 AM, ~suv wrote:
On 17/01/2013 17:06, Valerio Aimale wrote:
On 1/16/13 8:56 AM, ~suv wrote:
- WRT Crash on exit, or random dialogs from output extensions:
Bug #1046068 is not fixed by including a (semi- or fully-functional) UniConvertor 1.1.5 module in the app bundle, and while with the latest RC1 package Inkscape 0.48.4 doesn't prompt with annoying error dialogs from UniConvertor-based output extensions anymore, it leaves a file with a copy of the clipboard content in $TMPDIR, each time the app is exited with a non-empty clipboard, and has a noticeable delay on exit if the clipboard was not empty (since apparently the clipboard content is attempted to be exported to all supported clipboard targets based on the internal list of output extensions).
The "shortest path to annoyance removal" postpones a fix, and Inkscape is likely to face the same issue again in a few weeks or months, as soon as there are beta releases or release candidates of 0.49 available (trunk currently crashes right after creating a zero-size temp file in $TMPDIR if there is a at least one script-based output extension loaded either from the shared extensions directory or from the user Inkscape profile directory "$XDG_CONFIG_HOME/inkscape/extensions")
The annoyance was to me. If you want to see it revert this line
return ['/System/Library/Fonts', '/Library/Fonts', os.path.expanduser("~/Library/Fonts")]
back to
return ['/',]
When exiting with something in the clipboard, Inkscape will invoke a lower uniconvertor process that will scan all of the main disk. The python process will eat up all your memory, the all of your swap till it will freeze the Mac. I call that a major annoyance.
Ouch! I'd rather not go there again ;-) - I vaguely recall the troubles I had when trying to get UniConvertor working for Inkscape on Mac OS X 10.5.8. This is also one of the reasons I haven't bothered so far to try again on Lion (besides that I hadn't documented the changes I ended up with in a useful way, nor provided a patch upstream at the time when UniConvertor 1.x was still actively maintained, or at least created a custom Portfile with proper patchfiles to be able to reinstall it easily for python 2.7 or on a different machine).
The problem is why does Inkscape invoke that process when items are on the clip. I suspect is trying to leave something on the system clipboard in a particular format. That's where the fix should be
Agreed - I had added a similar comment yesterday to the bug report tracking this issue, before writing the reply about RC1 here on the list:
<quote> ISTM that Inkscape's system clipboard support needs to be adjusted to better support the (potentially only partially or differently implemented) GtkSelection and GtkClipboard features in the Quartz backend of current GTK+ 2.24.x (to prevent Inkscape from trying to export the clipboard content on exit at all). </quote> <https://bugs.launchpad.net/inkscape/+bug/1046068>
b) Upstream bugs: including the UniConvertor module doesn't prevent related crashes which may get triggered with Inkscape 0.48.4 on exit, too, after having used the system clipboard to copy and paste e.g. text in Inkscape.app (e.g from GUI widgets containing text or digits) to native osx apps:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 ??? 000000000000000000 0 + 0 1 libgtk-quartz-2.0.0.dylib 0x000000010b2642ac gtk_clipboard_store + 268 2 libgtk-quartz-2.0.0.dylib 0x000000010b26432f _gtk_clipboard_store_all + 63 3 libgtk-quartz-2.0.0.dylib 0x000000010b135bc9 gtk_main + 537 4 Inkscape 0x00000001099aac24 sp_main_gui(int, char const**) + 1812 5 Inkscape 0x00000001099aafe1 main + 337 6 Inkscape 0x00000001099a8184 start + 52
(above crash occurred on exit with the RC1 package after copy&pasting the error messages from failed CDR import attempts into native OS X application (MacVim, Thunderbird), working in those other applications for a while before returning to Inkscape and closing it. Similar steps to reproduce the crash in GTK+/Quartz 2.24 are described e.g. in https://bugzilla.gnome.org/show_bug.cgi?id=626499#c18)
therw is a problem with the clipboard that needs to be analyzed.
The crash described in comment #c18 is supposedly fixed with this commit to gtk-2.24 2 days ago: https://bugzilla.gnome.org/show_bug.cgi?id=626499#c21 http://git.gnome.org/browse/gtk+/commit/?h=gtk-2-24&id=bc3f1893aa26761c0009ddc993b48623bcfbe4ed
that might fix the crash, but, the weird thing that I observe is that the extension execution machinery is called to save a file for the clipboar ith mime type text/x-javafx/script (???), this is from gdb
$7 = { string_ = { _M_dataplus = { <std::allocator<char>> = { <__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, members of std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider: _M_p = 0x1100ac1e8 "text/x-javafx-script" } } }
and uniconvertor is called in an inferior process with a request to convert an svg to .plt
python -c "import uniconvertor; uniconvertor.uniconv_run();" "/var/folders/34/1gw04r0n67dfh3mrbyw12djw0000gn/T/ink_ext_XXXXXX.svgBKU4QW" UniConvertor .plt