Le 17/12/2024 à 23:01, Pavel Sanda a écrit :
On Tue, Dec 17, 2024 at 10:38:08PM +0100, Pavel Sanda wrote:
Hi,

this happened couple times today in the particular document, which loads ton of 
pdf images,
somewhere in the middle of initial loading and scrolling (at the same time).

I'll try to come up with some recipe, but it seems very hard to reproduce on 
demand,
I need to load it like 20x to get it again with some lucky random scrolling 
pattern.

Combination of page up/downs seems to be enough to triggers this. And cache
needs to be clean before running so the convertor mechanisms take time to load.

Thanks for the backtrace. So is it only a thing in branch? Note that the assertion in ParagraphMetrics::position() is new, so this might be an old problem that we detect only now.

JMarc

Better backtrace:

#1  0x00007ffff68a9f1f in __pthread_kill_internal (signo=6, threadid=<optimized 
out>) at ./nptl/pthread_kill.c:78
#2  0x00007ffff685afb2 in __GI_raise (sig=sig@entry=6) at 
../sysdeps/posix/raise.c:26
#3  0x00007ffff6845472 in __GI_abort () at ./stdlib/abort.c:79
#4  0x000055555597221e in lyx::lyx_exit (exit_code=exit_code@entry=1) at 
LyX.cpp:261
#5  0x0000555555a87f40 in boost::assertion_failed (expr=expr@entry=0x55555604c2e3 
"false", function=function@entry=0x5555560bbd80 "void 
lyx::doAssertWithCallstack(bool)",
     file=file@entry=0x5555560bbe99 "lassert.cpp", line=line@entry=45) at 
boost.cpp:47
#6  0x0000555555ffed6f in lyx::doAssertWithCallstack (value=value@entry=false) 
at lassert.cpp:45
#7  0x0000555555ffee30 in lyx::doAssert (expr=expr@entry=0x5555560409a8 "hasPosition()", 
file=file@entry=0x555556040993 "ParagraphMetrics.cpp", line=line@entry=71) at 
lassert.cpp:54
#8  0x00005555559ded7d in lyx::ParagraphMetrics::position (this=0x5555574defd8) 
at ParagraphMetrics.cpp:71
#9  0x0000555555a8d414 in lyx::BufferView::getPos (this=<optimized out>, 
dit=...) at BufferView.cpp:3475
#10 0x00005555558f0b37 in lyx::Cursor::getPos (this=0x555556f36e28, 
x=@0x555556f36fe8: 238, y=@0x555556f36fec: 705) at Cursor.cpp:970
#11 0x00005555558f0b5f in lyx::Cursor::saveBeforeDispatchPosXY (this=<optimized 
out>) at Cursor.cpp:775
#12 0x0000555555d42fb6 in lyx::frontend::GuiApplication::dispatch 
(this=0x555556301870, cmd=...) at GuiApplication.cpp:1565
#13 0x000055555597228b in lyx::dispatch (action=...) at LyX.cpp:1476
#14 0x0000555555d3d9c6 in lyx::frontend::GuiApplication::processFuncRequest 
(this=this@entry=0x555556301870, func=...) at GuiApplication.cpp:2547
#15 0x0000555555d3f95d in lyx::frontend::GuiApplication::processKeySym 
(this=0x555556301870, keysym=..., state=state@entry=0) at 
GuiApplication.cpp:2541
#16 0x0000555555d983ff in lyx::frontend::GuiWorkArea::processKeySym 
(this=0x555556fe36b0, key=..., mod=0) at GuiWorkArea.cpp:414
#17 0x0000555555d9cb9e in lyx::frontend::GuiWorkArea::qt_static_metacall (_o=0x555556fe36b0, 
_c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
     at /home/lyx/commiter/src/frontends/qt/moc_GuiWorkArea.cpp:127
#18 0x00007ffff6ce8fbc in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x0000555555d97fa8 in lyx::frontend::CompressorProxy::signal 
(this=this@entry=0x555556f364c0, _t1=..., _t2=<optimized out>, _t2@entry=0)
     at /home/lyx/commiter/src/frontends/qt/moc_GuiWorkArea.cpp:371
#20 0x0000555555d9cd10 in lyx::frontend::CompressorProxy::slot 
(this=this@entry=0x555556f364c0, sym=..., mod=mod@entry=0, 
isAutoRepeat=isAutoRepeat@entry=false) at GuiWorkArea.cpp:1045
#21 0x0000555555d9ce36 in lyx::frontend::CompressorProxy::qt_static_metacall (_o=0x555556f364c0, 
_c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
     at /home/lyx/commiter/src/frontends/qt/moc_GuiWorkArea.cpp:312
#22 0x00007ffff6cdd730 in QObject::event(QEvent*) () from 
/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007ffff7962fae in QApplicationPrivate::notify_helper(QObject*, QEvent*) 
() from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x0000555555d52985 in lyx::frontend::GuiApplication::notify (this=0x555556301870, 
receiver=<optimized out>, event=<optimized out>) at GuiApplication.cpp:3039
#25 0x00007ffff6cb1738 in QCoreApplication::notifyInternal2(QObject*, QEvent*) 
() from /lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007ffff6cb46c1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, 
int, QThreadData*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007ffff6d0a193 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007ffff651c7a9 in g_main_context_dispatch () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007ffff651ca38 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007ffff651cacc in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007ffff6d09876 in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
from /lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007ffff6cb01bb in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
/lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00007ffff6cb8316 in QCoreApplication::exec() () from 
/lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x0000555555d3cabb in lyx::frontend::GuiApplication::exec 
(this=0x555556301870) at GuiApplication.cpp:2802
#35 0x000055555597c11b in lyx::LyX::exec (this=this@entry=0x7fffffffe440, 
argc=@0x7fffffffe43c: 1, argv=<optimized out>) at LyX.cpp:375
#36 0x000055555582c4de in main (argc=<optimized out>, argv=<optimized out>) at 
main.cpp:55
(gdb)


I can probably produce some lyxerr output if particular position params would 
be of help.

Pavel

--
lyx-devel mailing list
lyx-devel@lists.lyx.org
https://lists.lyx.org/mailman/listinfo/lyx-devel

Reply via email to