GNOME Bugzilla – Bug 305316
Crashes when hitting 'Refresh' while viewing a PostScript document
Last modified: 2005-06-27 21:13:52 UTC
Steps to reproduce: 1. Load some PostScript document 2. Skip some pages 3. Hit 'Refresh' (sometimes you need to hit 'Refresh' more often) Stack trace: (gdb) thread apply all bt
+ Trace 60103
Thread 3 (Thread 16386 (LWP 15287))
[ad infinitum] Other information: Error messages differ, sometimes I get (as terminal output): ---- $ evince mydoc.ps (evince:15297): GLib-GObject-CRITICAL **: g_cclosure_marshal_VOID__INT: assertion `n_param_values == 2' failed (evince:15297): GLib-GObject-CRITICAL **: g_cclosure_marshal_VOID__INT: assertion `n_param_values == 2' failed (evince:15297): GLib-GObject-CRITICAL **: g_cclosure_marshal_VOID__INT: assertion `n_param_values == 2' failed ---- and evince quits.
I have troubles for reloading PS files too (with 0.3.1), but no crash. When I hit the refresh button, it just hangs, and in console i can read: *** glibc detected *** double free or corruption (fasttop): 0x082ed628 *** I'm sorry, but I don't know how to get some backtrace when i don't have a core file :-/ Any hint would be appreciated, so that i can report back something more useful. Thanks.
Yeah, the problem exists. I think we have problems with locks here but we should investigate it.
Now it works if you dont reload while it's still rendering...
Ok the locks is a pretty bad issue. Basically the old document is holding the doc mutex until rendering is finished, the new document tries to get the lock -> hang I guess the possible solutions are to wait rendering is done before loading a new file or to make the lock per document rather than global. This issue applies to all backends, ps expose it because it's slow to render.
Well, actually the ps case is special because we render on the main. Will have to talk about this with jrb.
This should be fixed in cvs
*** Bug 309072 has been marked as a duplicate of this bug. ***