[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Texmacs-dev] TeXmacs crashing on Qt 4.4
From: |
Alvaro Tejero Cantero |
Subject: |
Re: [Texmacs-dev] TeXmacs crashing on Qt 4.4 |
Date: |
Sat, 11 Oct 2008 22:04:05 +0200 |
Just tried the last CVS on my Ubuntu 32 bit system with QT 4.3.4.
Great progress!!
In particular:
- iconbars not repainted as often (but still more polish is needed)
- open dialog works for me
- Ctrl and Alt seem to work fine
Some stuff that was not working:
- unchecking an iconbar from "View" and readding paints an empty icon
bar. Moving (or just shaking) those "empty" icon bars restores the
visibility of the icons.
- no pictures (tested jpg, png, eps) just <error|bad postscript|0> was rendered.
- no remote opening of http://en.wikipedia.org/wiki/Probability_theory
(minibuffer says 'Error: http:Probability_theory not found')
- drawing mode can draw grids, but cursor does not get deleted fast
enough from previous positions, and elements are not added.
- full screen mode kills the editor
- right click (for the contextual menu) shuts texmacs down
(Fatal error: cannot handle slot type in
'qt_view_widget_rep::query', backtrace at the end of msg)
see backtrace attached.
As a side note, the current right-click menu is not very useful since
it is actually not contextual, so maybe a good compromise would be to
just ignore this event. It is only *needed* when one wants to switch
back from presentation mode.
Right click actually did not crash texmacs in the draw mode
Cheers,
Álvaro.
On Wed, Oct 8, 2008 at 19:02, Henri Lesourd <address@hidden> wrote:
> Massimiliano Gubinelli wrote:
>
>> Hi all,
>> I've fixed some problems with the Qt port but it continues to crash
>> on my Linux machine with Qt 4.4. I've tried to cook up test programs
>> to make Qt crash the same way TeXmacs make it crash but without
>> success. Finally I've tried to compile Qt 4.4.3 without sse2 support
>> (-no-sse2 during configure) and it works fine without crashes. So I
>> think something weird is going on and that we should report to
>> Trolltech for a possible bug in Qt. Somebody could try the last CVS on
>> other Linux boxes and report if it works or crashes? thanks.
>> Apparently there is another problem linked with 64 bits but now I'm
>> concerned with a crash affecting 32 bit machines causing TeXmacs to
>> crash while opening the "Open File" dialog box. The exact point of the
>> crash is while performing some sse2 optimized operation in
>> QImage::fill.
>>
>> Somebody has suggestions in how to proceed ?
>>
>
> Very clearly, there are also current (and relatively
> long lasting, i.e., last November, probably) problems
> in TeXmacs itself due to reference counting and memory
> allocation. These problems are highly in need of a fix.
>
> Without *first* being sure that these problems have
> been eradicated, it will be difficult to completely
> test a GUI library which, as a matter of fact, depends
> on code having such problems.
>
> Especially:
>
> 1. The "close buffer" crash problem, which is related
> to a redundant delete instruction. To my knowledge,
> this instruction has only be commented out, but this
> does not addresses the underlying root cause ;
>
> 2. The way the Scheme GUI code of TeXmacs is all
> the time creating new widgets. There are different
> approaches to manage this, which all involve dealing
> with reference counting in the TeXmacs code, *plus*
> knowing how (and when) to free (or reuse, e.g. to
> avoid blinking) the Qt objects.
>
> As far as I remember my own code, this part was
> tricky, because on the one hand subtle bugs can
> exist in the TeXmacs code, and on the other hand,
> memory leaks of one kind or another can appear
> on the Qt side, not only because you would have
> bad pointers or crush memory for some reason (e.g.:
> using a Qt method in a way which looks correct,
> but in fact is not for subtle reasons, e.g. C++
> references), but also because of timing problems:
> in designing the main loop, I observed that the
> Qt library is relatively fragile if you enter
> the main Qt loop, then leave, then reenter, etc.
> at a too high frequency.
>
> I devised a solution which does not raises such
> concerns, but still, not everything is perfect
> in the Qt library, there are ways to crash Qt
> which should not be possible ;
>
> To summarize: in my experience, we are in front
> of two chunks of code which are slightly unstable,
> and heavily under pressure (high bandwidth of
> creating/deleting GUI elements) from TeXmacs.
>
> Thus being sure that at least the TeXmacs side
> is 100% clean seems to be an important prerequisite.
>
> It's only later that fine tuning our understanding of
> how the different Qt versions work would make sense.
>
> Best, Henri
>
>
> _______________________________________________
> Texmacs-dev mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/texmacs-dev
>