Re: Dillo CPU-hog lock on slashdot

James C <[email protected]>
Newsgroups gmane.comp.web.dillo.devel
Message-ID <CACZ9Q6jzMQ7wDDkMr_dqy83-eibbPn_EAJbzhnTjaq67E1AH6w@mail.gmail.com>
Hello Jorge et al,

Partly reproduced on OSX, on a branch that includes the repository up
to 26 October, and eocene's SSL patch.  The CPU and memory use is
reasonable, but the stop icon does not turn grey.  Fields on the right
show "8 of 9" in black and "264.5 KB" in grey.

Reproduced on OSX with the tip (changeset 553bbaa) of the default
branch.  Uses 100% of cpu and does not respond to Cmd-Q quit request.
Fields on the right show "5 of 10" in black and "181.4 KB" in grey.
Because the window won't scroll, it's hard to tell how much has
rendered.

Ignorant GDB exploring below.  It seems to be struggling with
word-wrap, tables, etc.

Bin-packing is in NP-hard.  I wonder what the right algorithm is for
good table rendering.

Regards,
James.

===============

Program received signal SIGINT, Interrupt.
0x00000001000a09f9 in lout::container::untyped::HashSet::calcHashValue
(this=0x116b1bd90, object=0x7fff5fbfdb80) at container.hh:242
242	      return abs(object->hashValue()) % tableSize;
(gdb) bt
#0  0x00000001000a09f9 in
lout::container::untyped::HashSet::calcHashValue (this=0x116b1bd90,
object=0x7fff5fbfdb80) at container.hh:242
#1  0x000000010009eeb9 in lout::container::untyped::HashSet::findNode
(this=0x116b1bd90, object=0x7fff5fbfdb80) at container.cc:497
#2  0x000000010009f2e3 in lout::container::untyped::HashTable::get
(this=0x116b1bd90, key=0x7fff5fbfdb80) at container.cc:704
#3  0x000000010005d83c in
lout::container::typed::HashTable<lout::object::TypedPointer<dw::Textblock>,
dw::OutOfFlowMgr::TBInfo>::get (this=0x116b1bd80, key=0x7fff5fbfdb80)
at container.hh:524
#4  0x00000001000587fd in dw::OutOfFlowMgr::getTextblock
(this=0x116b1bb60, textblock=0x116bf7270) at outofflowmgr.cc:1954
#5  0x0000000100059ad5 in
dw::OutOfFlowMgr::Float::CompareGBAndExtIndex::compare
(this=0x7fff5fbfdd80, o1=0x7fff5fbfdd10, o2=0x116bf64c0) at
outofflowmgr.cc:291
#6  0x000000010009eaf6 in lout::container::untyped::Vector::bsearch
(this=0x116b1bc00, key=0x7fff5fbfdd10, mustExist=false, start=0,
end=38, comparator=0x7fff5fbfdd80) at container.cc:239
#7  0x000000010005de36 in lout::container::untyped::Vector::bsearch
(this=0x116b1bc00, key=0x7fff5fbfdd10, mustExist=false,
comparator=0x7fff5fbfdd80) at container.hh:159
#8  0x000000010005de6b in
lout::container::typed::Vector<dw::OutOfFlowMgr::Float>::bsearch
(this=0x116b1bbd0, key=0x7fff5fbfdd10, mustExist=false,
comparator=0x7fff5fbfdd80) at container.hh:456
#9  0x000000010005b27f in
dw::OutOfFlowMgr::SortedFloatsVector::findFloatIndex
(this=0x116b1bbd0, lastGB=0x116bf7270, lastExtIndex=-1) at
outofflowmgr.cc:340
#10 0x000000010005b986 in
dw::OutOfFlowMgr::SortedFloatsVector::findFirst (this=0x116b1bbd0,
textblock=0x116bf7270, y=330882, h=1, lastGB=0x116bf7270,
lastExtIndex=-1, lastReturn=0x0) at outofflowmgr.cc:424
#11 0x000000010005bd1a in dw::OutOfFlowMgr::hasFloat
(this=0x116b1bb60, textblock=0x116bf7270, side=dw::OutOfFlowMgr::LEFT,
y=330882, h=1, lastGB=0x116bf7270, lastExtIndex=-1) at
outofflowmgr.cc:2115
#12 0x000000010005bdd0 in dw::OutOfFlowMgr::hasFloatLeft
(this=0x116b1bb60, textblock=0x116bf7270, y=330882, h=1,
lastGB=0x116bf7270, lastExtIndex=-1) at outofflowmgr.cc:2092
#13 0x000000010006fdb2 in dw::Textblock::calcBorders
(this=0x116bf7270, lastOofRef=-1, height=1) at
textblock_linebreaking.cc:2045
#14 0x0000000100071f2b in dw::Textblock::balanceBreakPosAndHeight
(this=0x116bf7270, wordIndex=0, firstIndex=0,
searchUntil=0x7fff5fbfe078, tempNewLine=false, penaltyIndex=0,
borderIsCalculated=true, thereWillBeMoreSpace=0x7fff5fbfe08d,
wrapAll=false, diffWords=0x7fff5fbfe084, wordIndexEnd=0x7fff5fbfe070,
lastFloatPos=0x7fff5fbfe064, regardBorder=true, height=0x7fff5fbfe06c,
breakPos=0x7fff5fbfe068) at textblock_linebreaking.cc:910
#15 0x00000001000729d2 in dw::Textblock::wrapWordInFlow
(this=0x116bf7270, wordIndex=0, wrapAll=false) at
textblock_linebreaking.cc:746
#16 0x0000000100072e23 in dw::Textblock::wordWrap (this=0x116bf7270,
wordIndex=0, wrapAll=false) at textblock_linebreaking.cc:606
#17 0x00000001000701b7 in dw::Textblock::rewrap (this=0x116bf7270) at
textblock_linebreaking.cc:1891
#18 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116bf7270, requisition=0x116bf7600) at textblock.cc:341
#19 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116bf7270, requisition=0x116bf7600) at widget.cc:494
#20 0x0000000100070199 in dw::Textblock::rewrap (this=0x116bf6ce0) at
textblock_linebreaking.cc:1889
#21 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116bf6ce0, requisition=0x116bf8ac0) at textblock.cc:341
#22 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116bf6ce0, requisition=0x116bf8ac0) at widget.cc:494
#23 0x0000000100070199 in dw::Textblock::rewrap (this=0x116bf67c0) at
textblock_linebreaking.cc:1889
#24 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116bf67c0, requisition=0x11713ac20) at textblock.cc:341
#25 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116bf67c0, requisition=0x11713ac20) at widget.cc:494
#26 0x0000000100070199 in dw::Textblock::rewrap (this=0x116bf57d0) at
textblock_linebreaking.cc:1889
#27 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116bf57d0, requisition=0x117119680) at textblock.cc:341
#28 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116bf57d0, requisition=0x117119680) at widget.cc:494
#29 0x0000000100070199 in dw::Textblock::rewrap (this=0x116bf5590) at
textblock_linebreaking.cc:1889
#30 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116bf5590, requisition=0x116bf5d80) at textblock.cc:341
#31 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116bf5590, requisition=0x116bf5d80) at widget.cc:494
#32 0x0000000100070199 in dw::Textblock::rewrap (this=0x116bf3c80) at
textblock_linebreaking.cc:1889
#33 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116bf3c80, requisition=0x100941240) at textblock.cc:341
#34 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116bf3c80, requisition=0x100941240) at widget.cc:494
#35 0x0000000100070199 in dw::Textblock::rewrap (this=0x102277cd0) at
textblock_linebreaking.cc:1889
#36 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x102277cd0, requisition=0x1009435c0) at textblock.cc:341
#37 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x102277cd0, requisition=0x1009435c0) at widget.cc:494
#38 0x0000000100070199 in dw::Textblock::rewrap (this=0x116b1d7f0) at
textblock_linebreaking.cc:1889
#39 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116b1d7f0, requisition=0x116b1daa0) at textblock.cc:341
#40 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116b1d7f0, requisition=0x116b1daa0) at widget.cc:494
#41 0x0000000100070199 in dw::Textblock::rewrap (this=0x116b1d060) at
textblock_linebreaking.cc:1889
#42 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116b1d060, requisition=0x116b1d3c0) at textblock.cc:341
#43 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116b1d060, requisition=0x116b1d3c0) at widget.cc:494
#44 0x0000000100070199 in dw::Textblock::rewrap (this=0x116b1ca30) at
textblock_linebreaking.cc:1889
#45 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116b1ca30, requisition=0x116b1cd80) at textblock.cc:341
#46 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116b1ca30, requisition=0x116b1cd80) at widget.cc:494
#47 0x0000000100070199 in dw::Textblock::rewrap (this=0x116b1c570) at
textblock_linebreaking.cc:1889
#48 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116b1c570, requisition=0x117125040) at textblock.cc:341
#49 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116b1c570, requisition=0x117125040) at widget.cc:494
#50 0x0000000100070199 in dw::Textblock::rewrap (this=0x116b1b9b0) at
textblock_linebreaking.cc:1889
#51 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116b1b9b0, requisition=0x116b1c180) at textblock.cc:341
#52 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116b1b9b0, requisition=0x116b1c180) at widget.cc:494
#53 0x0000000100070199 in dw::Textblock::rewrap (this=0x116b1b4f0) at
textblock_linebreaking.cc:1889
#54 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116b1b4f0, requisition=0x116b1b6f4) at textblock.cc:341
#55 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116b1b4f0, requisition=0x116b1b6f4) at widget.cc:494
#56 0x0000000100058685 in dw::OutOfFlowMgr::ensureFloatSize
(this=0x1022478e0, vloat=0x116b1b6a0) at outofflowmgr.cc:2272
#57 0x000000010005b067 in dw::OutOfFlowMgr::tellFloatPosition
(this=0x1022478e0, widget=0x116b1b4f0, yReq=0) at outofflowmgr.cc:1534
#58 0x000000010005b1dc in dw::OutOfFlowMgr::tellPosition
(this=0x1022478e0, widget=0x116b1b4f0, yReq=0) at outofflowmgr.cc:1516
#59 0x0000000100072aef in dw::Textblock::wrapWordInFlow
(this=0x116b1ad70, wordIndex=1, wrapAll=true) at
textblock_linebreaking.cc:788
#60 0x0000000100072e23 in dw::Textblock::wordWrap (this=0x116b1ad70,
wordIndex=1, wrapAll=true) at textblock_linebreaking.cc:606
#61 0x000000010006fbb2 in dw::Textblock::showMissingLines
(this=0x116b1ad70) at textblock_linebreaking.cc:2113
#62 0x000000010006b230 in dw::Textblock::sizeRequestImpl
(this=0x116b1ad70, requisition=0x10095b450) at textblock.cc:342
#63 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116b1ad70, requisition=0x10095b450) at widget.cc:494
#64 0x0000000100070199 in dw::Textblock::rewrap (this=0x10210cdf0) at
textblock_linebreaking.cc:1889
#65 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x10210cdf0, requisition=0x1009597c0) at textblock.cc:341
#66 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x10210cdf0, requisition=0x1009597c0) at widget.cc:494
#67 0x0000000100070199 in dw::Textblock::rewrap (this=0x10054a2c0) at
textblock_linebreaking.cc:1889
#68 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x10054a2c0, requisition=0x7fff5fbff040) at textblock.cc:341
#69 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x10054a2c0, requisition=0x7fff5fbff040) at widget.cc:494
#70 0x00000001000586cc in dw::OutOfFlowMgr::doFloatsExceedCB
(this=0x1022478e0, side=dw::OutOfFlowMgr::LEFT) at
outofflowmgr.cc:1045
#71 0x000000010005b757 in dw::OutOfFlowMgr::sizeAllocateEnd
(this=0x1022478e0, caller=0x10054a2c0) at outofflowmgr.cc:651
#72 0x000000010006ae82 in dw::Textblock::sizeAllocateImpl
(this=0x10054a2c0, allocation=0x7fff5fbff240) at textblock.cc:757
#73 0x000000010009cfb2 in dw::core::Widget::sizeAllocate
(this=0x10054a2c0, allocation=0x7fff5fbff240) at widget.cc:993
#74 0x000000010008e4ff in dw::core::Layout::resizeIdle
(this=0x105109370) at layout.cc:912
#75 0x0000000100076d9e in dw::fltk::FltkPlatform::generalIdle
(this=0x1051091c0) at fltkplatform.cc:627
#76 0x0000000100076def in dw::fltk::FltkPlatform::generalStaticIdle
(data=0x1051091c0) at fltkplatform.cc:617
#77 0x00000001000ad21e in fl_mac_flush_and_wait (time_to_wait=1e+20)
at Fl_cocoa.mm:806
#78 0x00000001000b0025 in Fl::run () at Fl.cxx:589
#79 0x00000001000044c5 in main (argc=1, argv=0x7fff5fbff3f8) at dillo.cc:588
(gdb) finish
Run till exit from #0  0x00000001000a09f9 in
lout::container::untyped::HashSet::calcHashValue (this=0x116b1bd90,
object=0x7fff5fbfdb80) at container.hh:242
0x000000010009eeb9 in lout::container::untyped::HashSet::findNode
(this=0x116b1bd90, object=0x7fff5fbfdb80) at container.cc:497
497	   int h = calcHashValue(object);
Value returned is $1 = 176
(gdb)
Run till exit from #0  0x000000010009eeb9 in
lout::container::untyped::HashSet::findNode (this=0x116b1bd90,
object=0x7fff5fbfdb80) at container.cc:497
0x000000010009f2e3 in lout::container::untyped::HashTable::get
(this=0x116b1bd90, key=0x7fff5fbfdb80) at container.cc:704
704	   Node *node = findNode(key);
Value returned is $2 = ('lout::container::untyped::HashSet::Node' *) 0x116bf7500
(gdb)
Run till exit from #0  0x000000010009f2e3 in
lout::container::untyped::HashTable::get (this=0x116b1bd90,
key=0x7fff5fbfdb80) at container.cc:704
0x000000010005d83c in
lout::container::typed::HashTable<lout::object::TypedPointer<dw::Textblock>,
dw::OutOfFlowMgr::TBInfo>::get (this=0x116b1bd80, key=0x7fff5fbfdb80)
at container.hh:524
524	   { return (V*)((untyped::HashTable*)this->base)->get(key); }
Value returned is $3 = ('lout::object::Object' *) 0x116bf73f0
(gdb)
Run till exit from #0  0x000000010005d83c in
lout::container::typed::HashTable<lout::object::TypedPointer<dw::Textblock>,
dw::OutOfFlowMgr::TBInfo>::get (this=0x116b1bd80, key=0x7fff5fbfdb80)
at container.hh:524
0x00000001000587fd in dw::OutOfFlowMgr::getTextblock
(this=0x116b1bb60, textblock=0x116bf7270) at outofflowmgr.cc:1954
1954	   TBInfo *tbInfo = tbInfosByTextblock->get (&key);
Value returned is $4 = ('dw::OutOfFlowMgr::TBInfo' *) 0x116bf73f0
(gdb)
Run till exit from #0  0x00000001000587fd in
dw::OutOfFlowMgr::getTextblock (this=0x116b1bb60,
textblock=0x116bf7270) at outofflowmgr.cc:1954
0x0000000100059ad5 in
dw::OutOfFlowMgr::Float::CompareGBAndExtIndex::compare
(this=0x7fff5fbfdd80, o1=0x7fff5fbfdd10, o2=0x116bf64c0) at
outofflowmgr.cc:291
291	      TBInfo *t1 = oofm->getTextblock (f1->generatingBlock),
Value returned is $5 = ('dw::OutOfFlowMgr::TBInfo' *) 0x116bf73f0
(gdb)
Run till exit from #0  0x0000000100059ad5 in
dw::OutOfFlowMgr::Float::CompareGBAndExtIndex::compare
(this=0x7fff5fbfdd80, o1=0x7fff5fbfdd10, o2=0x116bf64c0) at
outofflowmgr.cc:291
0x000000010009eaf6 in lout::container::untyped::Vector::bsearch
(this=0x116b1bc00, key=0x7fff5fbfdd10, mustExist=false, start=0,
end=38, comparator=0x7fff5fbfdd80) at container.cc:239
239	         int c = comparator->compare (key, array[index]);
Value returned is $6 = -4
(gdb)
Run till exit from #0  0x000000010009eaf6 in
lout::container::untyped::Vector::bsearch (this=0x116b1bc00,
key=0x7fff5fbfdd10, mustExist=false, start=0, end=38,
comparator=0x7fff5fbfdd80) at container.cc:239
0x000000010005de36 in lout::container::untyped::Vector::bsearch
(this=0x116b1bc00, key=0x7fff5fbfdd10, mustExist=false,
comparator=0x7fff5fbfdd80) at container.hh:159
159	   { return bsearch (key, mustExist, 0, size () - 1, comparator); }
Value returned is $7 = 32
(gdb)
Run till exit from #0  0x000000010005de36 in
lout::container::untyped::Vector::bsearch (this=0x116b1bc00,
key=0x7fff5fbfdd10, mustExist=false, comparator=0x7fff5fbfdd80) at
container.hh:159
0x000000010005de6b in
lout::container::typed::Vector<dw::OutOfFlowMgr::Float>::bsearch
(this=0x116b1bbd0, key=0x7fff5fbfdd10, mustExist=false,
comparator=0x7fff5fbfdd80) at container.hh:456
456	                                                    comparator); }
Value returned is $8 = 32
(gdb)
Run till exit from #0  0x000000010005de6b in
lout::container::typed::Vector<dw::OutOfFlowMgr::Float>::bsearch
(this=0x116b1bbd0, key=0x7fff5fbfdd10, mustExist=false,
comparator=0x7fff5fbfdd80) at container.hh:456
0x000000010005b27f in
dw::OutOfFlowMgr::SortedFloatsVector::findFloatIndex
(this=0x116b1bbd0, lastGB=0x116bf7270, lastExtIndex=-1) at
outofflowmgr.cc:340
340	   int i = bsearch (&key, false, &comparator);
Value returned is $9 = 32
(gdb)
Run till exit from #0  0x000000010005b27f in
dw::OutOfFlowMgr::SortedFloatsVector::findFloatIndex
(this=0x116b1bbd0, lastGB=0x116bf7270, lastExtIndex=-1) at
outofflowmgr.cc:340
0x000000010005b986 in dw::OutOfFlowMgr::SortedFloatsVector::findFirst
(this=0x116b1bbd0, textblock=0x116bf7270, y=330882, h=1,
lastGB=0x116bf7270, lastExtIndex=-1, lastReturn=0x0) at
outofflowmgr.cc:424
424	   int last = findFloatIndex (lastGB, lastExtIndex);
Value returned is $10 = 31
(gdb)
Run till exit from #0  0x000000010005b986 in
dw::OutOfFlowMgr::SortedFloatsVector::findFirst (this=0x116b1bbd0,
textblock=0x116bf7270, y=330882, h=1, lastGB=0x116bf7270,
lastExtIndex=-1, lastReturn=0x0) at outofflowmgr.cc:424
0x000000010005bd1a in dw::OutOfFlowMgr::hasFloat (this=0x116b1bb60,
textblock=0x116bf7270, side=dw::OutOfFlowMgr::LEFT, y=330882, h=1,
lastGB=0x116bf7270, lastExtIndex=-1) at outofflowmgr.cc:2115
2115	   int first = list->findFirst (textblock, y, h, lastGB,
lastExtIndex, NULL);
Value returned is $11 = 29
(gdb)
Run till exit from #0  0x000000010005bd1a in
dw::OutOfFlowMgr::hasFloat (this=0x116b1bb60, textblock=0x116bf7270,
side=dw::OutOfFlowMgr::LEFT, y=330882, h=1, lastGB=0x116bf7270,
lastExtIndex=-1) at outofflowmgr.cc:2115
0x000000010005bdd0 in dw::OutOfFlowMgr::hasFloatLeft
(this=0x116b1bb60, textblock=0x116bf7270, y=330882, h=1,
lastGB=0x116bf7270, lastExtIndex=-1) at outofflowmgr.cc:2092
2092	   bool b = hasFloat (textblock, LEFT, y, h, lastGB, lastExtIndex);
Value returned is $12 = true
(gdb)
Run till exit from #0  0x000000010005bdd0 in
dw::OutOfFlowMgr::hasFloatLeft (this=0x116b1bb60,
textblock=0x116bf7270, y=330882, h=1, lastGB=0x116bf7270,
lastExtIndex=-1) at outofflowmgr.cc:2092
0x000000010006fdb2 in dw::Textblock::calcBorders (this=0x116bf7270,
lastOofRef=-1, height=1) at textblock_linebreaking.cc:2045
2045	                                                      effOofRef);
Value returned is $13 = true
(gdb)
Run till exit from #0  0x000000010006fdb2 in
dw::Textblock::calcBorders (this=0x116bf7270, lastOofRef=-1, height=1)
at textblock_linebreaking.cc:2045
dw::Textblock::balanceBreakPosAndHeight (this=0x116bf7270,
wordIndex=0, firstIndex=0, searchUntil=0x7fff5fbfe078,
tempNewLine=false, penaltyIndex=0, borderIsCalculated=true,
thereWillBeMoreSpace=0x7fff5fbfe08d, wrapAll=false,
diffWords=0x7fff5fbfe084, wordIndexEnd=0x7fff5fbfe070,
lastFloatPos=0x7fff5fbfe064, regardBorder=true, height=0x7fff5fbfe06c,
breakPos=0x7fff5fbfe068) at textblock_linebreaking.cc:912
912	            newLineHasFloatLeft || newLineHasFloatRight : false;
(gdb)
Run till exit from #0  dw::Textblock::balanceBreakPosAndHeight
(this=0x116bf7270, wordIndex=0, firstIndex=0,
searchUntil=0x7fff5fbfe078, tempNewLine=false, penaltyIndex=0,
borderIsCalculated=true, thereWillBeMoreSpace=0x7fff5fbfe08d,
wrapAll=false, diffWords=0x7fff5fbfe084, wordIndexEnd=0x7fff5fbfe070,
lastFloatPos=0x7fff5fbfe064, regardBorder=true, height=0x7fff5fbfe06c,
breakPos=0x7fff5fbfe068) at textblock_linebreaking.cc:912
dw::Textblock::wrapWordInFlow (this=0x116bf7270, wordIndex=0,
wrapAll=false) at textblock_linebreaking.cc:749
749	         int yNewLine = yOffsetOfLineToBeCreated ();
(gdb)
Run till exit from #0  dw::Textblock::wrapWordInFlow
(this=0x116bf7270, wordIndex=0, wrapAll=false) at
textblock_linebreaking.cc:749
^C
Program received signal SIGINT, Interrupt.
0x000000010005d834 in
lout::container::typed::HashTable<lout::object::TypedPointer<dw::Textblock>,
dw::OutOfFlowMgr::TBInfo>::get (this=0x116b1bd80, key=0x7fff5fbfdb80)
at container.hh:524
524	   { return (V*)((untyped::HashTable*)this->base)->get(key); }
(gdb) finish
Run till exit from #0  0x000000010005d834 in
lout::container::typed::HashTable<lout::object::TypedPointer<dw::Textblock>,
dw::OutOfFlowMgr::TBInfo>::get (this=0x116b1bd80, key=0x7fff5fbfdb80)
at container.hh:524
0x00000001000587fd in dw::OutOfFlowMgr::getTextblock
(this=0x116b1bb60, textblock=0x116b1b9b0) at outofflowmgr.cc:1954
1954	   TBInfo *tbInfo = tbInfosByTextblock->get (&key);
Value returned is $14 = ('dw::OutOfFlowMgr::TBInfo' *) 0x116b1bf10
(gdb)
Run till exit from #0  0x00000001000587fd in
dw::OutOfFlowMgr::getTextblock (this=0x116b1bb60,
textblock=0x116b1b9b0) at outofflowmgr.cc:1954
0x0000000100059aee in
dw::OutOfFlowMgr::Float::CompareGBAndExtIndex::compare
(this=0x7fff5fbfdd80, o1=0x7fff5fbfdd10, o2=0x117126ff0) at
outofflowmgr.cc:292
292	         *t2 = oofm->getTextblock (f2->generatingBlock);
Value returned is $15 = ('dw::OutOfFlowMgr::TBInfo' *) 0x116b1bf10
(gdb)
Run till exit from #0  0x0000000100059aee in
dw::OutOfFlowMgr::Float::CompareGBAndExtIndex::compare
(this=0x7fff5fbfdd80, o1=0x7fff5fbfdd10, o2=0x117126ff0) at
outofflowmgr.cc:292
0x000000010009eaf6 in lout::container::untyped::Vector::bsearch
(this=0x116b1bc00, key=0x7fff5fbfdd10, mustExist=false, start=0,
end=38, comparator=0x7fff5fbfdd80) at container.cc:239
239	         int c = comparator->compare (key, array[index]);
Value returned is $16 = -2
(gdb)
Run till exit from #0  0x000000010009eaf6 in
lout::container::untyped::Vector::bsearch (this=0x116b1bc00,
key=0x7fff5fbfdd10, mustExist=false, start=0, end=38,
comparator=0x7fff5fbfdd80) at container.cc:239
0x000000010005de36 in lout::container::untyped::Vector::bsearch
(this=0x116b1bc00, key=0x7fff5fbfdd10, mustExist=false,
comparator=0x7fff5fbfdd80) at container.hh:159
159	   { return bsearch (key, mustExist, 0, size () - 1, comparator); }
Value returned is $17 = 32
(gdb)
Run till exit from #0  0x000000010005de36 in
lout::container::untyped::Vector::bsearch (this=0x116b1bc00,
key=0x7fff5fbfdd10, mustExist=false, comparator=0x7fff5fbfdd80) at
container.hh:159
0x000000010005de6b in
lout::container::typed::Vector<dw::OutOfFlowMgr::Float>::bsearch
(this=0x116b1bbd0, key=0x7fff5fbfdd10, mustExist=false,
comparator=0x7fff5fbfdd80) at container.hh:456
456	                                                    comparator); }
Value returned is $18 = 32
(gdb)
Run till exit from #0  0x000000010005de6b in
lout::container::typed::Vector<dw::OutOfFlowMgr::Float>::bsearch
(this=0x116b1bbd0, key=0x7fff5fbfdd10, mustExist=false,
comparator=0x7fff5fbfdd80) at container.hh:456
0x000000010005b27f in
dw::OutOfFlowMgr::SortedFloatsVector::findFloatIndex
(this=0x116b1bbd0, lastGB=0x116bf7270, lastExtIndex=-1) at
outofflowmgr.cc:340
340	   int i = bsearch (&key, false, &comparator);
Value returned is $19 = 32
(gdb)
Run till exit from #0  0x000000010005b27f in
dw::OutOfFlowMgr::SortedFloatsVector::findFloatIndex
(this=0x116b1bbd0, lastGB=0x116bf7270, lastExtIndex=-1) at
outofflowmgr.cc:340
0x000000010005b986 in dw::OutOfFlowMgr::SortedFloatsVector::findFirst
(this=0x116b1bbd0, textblock=0x116bf7270, y=616745, h=1,
lastGB=0x116bf7270, lastExtIndex=-1, lastReturn=0x0) at
outofflowmgr.cc:424
424	   int last = findFloatIndex (lastGB, lastExtIndex);
Value returned is $20 = 31
(gdb)
Run till exit from #0  0x000000010005b986 in
dw::OutOfFlowMgr::SortedFloatsVector::findFirst (this=0x116b1bbd0,
textblock=0x116bf7270, y=616745, h=1, lastGB=0x116bf7270,
lastExtIndex=-1, lastReturn=0x0) at outofflowmgr.cc:424
0x000000010005bd1a in dw::OutOfFlowMgr::hasFloat (this=0x116b1bb60,
textblock=0x116bf7270, side=dw::OutOfFlowMgr::LEFT, y=616745, h=1,
lastGB=0x116bf7270, lastExtIndex=-1) at outofflowmgr.cc:2115
2115	   int first = list->findFirst (textblock, y, h, lastGB,
lastExtIndex, NULL);
Value returned is $21 = 29
(gdb)
Run till exit from #0  0x000000010005bd1a in
dw::OutOfFlowMgr::hasFloat (this=0x116b1bb60, textblock=0x116bf7270,
side=dw::OutOfFlowMgr::LEFT, y=616745, h=1, lastGB=0x116bf7270,
lastExtIndex=-1) at outofflowmgr.cc:2115
0x000000010005bdd0 in dw::OutOfFlowMgr::hasFloatLeft
(this=0x116b1bb60, textblock=0x116bf7270, y=616745, h=1,
lastGB=0x116bf7270, lastExtIndex=-1) at outofflowmgr.cc:2092
2092	   bool b = hasFloat (textblock, LEFT, y, h, lastGB, lastExtIndex);
Value returned is $22 = true
(gdb)
Run till exit from #0  0x000000010005bdd0 in
dw::OutOfFlowMgr::hasFloatLeft (this=0x116b1bb60,
textblock=0x116bf7270, y=616745, h=1, lastGB=0x116bf7270,
lastExtIndex=-1) at outofflowmgr.cc:2092
0x000000010006fdb2 in dw::Textblock::calcBorders (this=0x116bf7270,
lastOofRef=-1, height=1) at textblock_linebreaking.cc:2045
2045	                                                      effOofRef);
Value returned is $23 = true
(gdb)
Run till exit from #0  0x000000010006fdb2 in
dw::Textblock::calcBorders (this=0x116bf7270, lastOofRef=-1, height=1)
at textblock_linebreaking.cc:2045
dw::Textblock::balanceBreakPosAndHeight (this=0x116bf7270,
wordIndex=0, firstIndex=0, searchUntil=0x7fff5fbfe078,
tempNewLine=false, penaltyIndex=0, borderIsCalculated=true,
thereWillBeMoreSpace=0x7fff5fbfe08d, wrapAll=false,
diffWords=0x7fff5fbfe084, wordIndexEnd=0x7fff5fbfe070,
lastFloatPos=0x7fff5fbfe064, regardBorder=true, height=0x7fff5fbfe06c,
breakPos=0x7fff5fbfe068) at textblock_linebreaking.cc:912
912	            newLineHasFloatLeft || newLineHasFloatRight : false;
(gdb)
Run till exit from #0  dw::Textblock::balanceBreakPosAndHeight
(this=0x116bf7270, wordIndex=0, firstIndex=0,
searchUntil=0x7fff5fbfe078, tempNewLine=false, penaltyIndex=0,
borderIsCalculated=true, thereWillBeMoreSpace=0x7fff5fbfe08d,
wrapAll=false, diffWords=0x7fff5fbfe084, wordIndexEnd=0x7fff5fbfe070,
lastFloatPos=0x7fff5fbfe064, regardBorder=true, height=0x7fff5fbfe06c,
breakPos=0x7fff5fbfe068) at textblock_linebreaking.cc:912
dw::Textblock::wrapWordInFlow (this=0x116bf7270, wordIndex=0,
wrapAll=false) at textblock_linebreaking.cc:749
749	         int yNewLine = yOffsetOfLineToBeCreated ();
(gdb)
Run till exit from #0  dw::Textblock::wrapWordInFlow
(this=0x116bf7270, wordIndex=0, wrapAll=false) at
textblock_linebreaking.cc:749
^C
Program received signal SIGINT, Interrupt.
dw::OutOfFlowMgr::Float::CompareGBAndExtIndex::compare
(this=0x7fff5fbfdd30, o1=0x7fff5fbfdcc0, o2=0x116bcf1e0) at
outofflowmgr.cc:295
295	      for (TBInfo *t = t1; t != NULL; t = t->parent)
(gdb) finish
Run till exit from #0
dw::OutOfFlowMgr::Float::CompareGBAndExtIndex::compare
(this=0x7fff5fbfdd30, o1=0x7fff5fbfdcc0, o2=0x116bcf1e0) at
outofflowmgr.cc:295
0x000000010009eaf6 in lout::container::untyped::Vector::bsearch
(this=0x116b1bc00, key=0x7fff5fbfdcc0, mustExist=false, start=0,
end=38, comparator=0x7fff5fbfdd30) at container.cc:239
239	         int c = comparator->compare (key, array[index]);
Value returned is $24 = 28
(gdb)
Run till exit from #0  0x000000010009eaf6 in
lout::container::untyped::Vector::bsearch (this=0x116b1bc00,
key=0x7fff5fbfdcc0, mustExist=false, start=0, end=38,
comparator=0x7fff5fbfdd30) at container.cc:239
0x000000010005de36 in lout::container::untyped::Vector::bsearch
(this=0x116b1bc00, key=0x7fff5fbfdcc0, mustExist=false,
comparator=0x7fff5fbfdd30) at container.hh:159
159	   { return bsearch (key, mustExist, 0, size () - 1, comparator); }
Value returned is $25 = 32
(gdb)
Run till exit from #0  0x000000010005de36 in
lout::container::untyped::Vector::bsearch (this=0x116b1bc00,
key=0x7fff5fbfdcc0, mustExist=false, comparator=0x7fff5fbfdd30) at
container.hh:159
0x000000010005de6b in
lout::container::typed::Vector<dw::OutOfFlowMgr::Float>::bsearch
(this=0x116b1bbd0, key=0x7fff5fbfdcc0, mustExist=false,
comparator=0x7fff5fbfdd30) at container.hh:456
456	                                                    comparator); }
Value returned is $26 = 32
(gdb)
Run till exit from #0  0x000000010005de6b in
lout::container::typed::Vector<dw::OutOfFlowMgr::Float>::bsearch
(this=0x116b1bbd0, key=0x7fff5fbfdcc0, mustExist=false,
comparator=0x7fff5fbfdd30) at container.hh:456
0x000000010005b27f in
dw::OutOfFlowMgr::SortedFloatsVector::findFloatIndex
(this=0x116b1bbd0, lastGB=0x116bf7270, lastExtIndex=-1) at
outofflowmgr.cc:340
340	   int i = bsearch (&key, false, &comparator);
Value returned is $27 = 32
(gdb)
Run till exit from #0  0x000000010005b27f in
dw::OutOfFlowMgr::SortedFloatsVector::findFloatIndex
(this=0x116b1bbd0, lastGB=0x116bf7270, lastExtIndex=-1) at
outofflowmgr.cc:340
0x000000010005b986 in dw::OutOfFlowMgr::SortedFloatsVector::findFirst
(this=0x116b1bbd0, textblock=0x116bf7270, y=948395, h=1,
lastGB=0x116bf7270, lastExtIndex=-1, lastReturn=0x0) at
outofflowmgr.cc:424
424	   int last = findFloatIndex (lastGB, lastExtIndex);
Value returned is $28 = 31
(gdb)
Run till exit from #0  0x000000010005b986 in
dw::OutOfFlowMgr::SortedFloatsVector::findFirst (this=0x116b1bbd0,
textblock=0x116bf7270, y=948395, h=1, lastGB=0x116bf7270,
lastExtIndex=-1, lastReturn=0x0) at outofflowmgr.cc:424
0x000000010005bd1a in dw::OutOfFlowMgr::hasFloat (this=0x116b1bb60,
textblock=0x116bf7270, side=dw::OutOfFlowMgr::LEFT, y=948395, h=1,
lastGB=0x116bf7270, lastExtIndex=-1) at outofflowmgr.cc:2115
2115	   int first = list->findFirst (textblock, y, h, lastGB,
lastExtIndex, NULL);
Value returned is $29 = 29
(gdb)
Run till exit from #0  0x000000010005bd1a in
dw::OutOfFlowMgr::hasFloat (this=0x116b1bb60, textblock=0x116bf7270,
side=dw::OutOfFlowMgr::LEFT, y=948395, h=1, lastGB=0x116bf7270,
lastExtIndex=-1) at outofflowmgr.cc:2115
0x000000010005bdd0 in dw::OutOfFlowMgr::hasFloatLeft
(this=0x116b1bb60, textblock=0x116bf7270, y=948395, h=1,
lastGB=0x116bf7270, lastExtIndex=-1) at outofflowmgr.cc:2092
2092	   bool b = hasFloat (textblock, LEFT, y, h, lastGB, lastExtIndex);
Value returned is $30 = true
(gdb)
Run till exit from #0  0x000000010005bdd0 in
dw::OutOfFlowMgr::hasFloatLeft (this=0x116b1bb60,
textblock=0x116bf7270, y=948395, h=1, lastGB=0x116bf7270,
lastExtIndex=-1) at outofflowmgr.cc:2092
0x000000010006fdb2 in dw::Textblock::calcBorders (this=0x116bf7270,
lastOofRef=-1, height=1) at textblock_linebreaking.cc:2045
2045	                                                      effOofRef);
Value returned is $31 = true
(gdb)
Run till exit from #0  0x000000010006fdb2 in
dw::Textblock::calcBorders (this=0x116bf7270, lastOofRef=-1, height=1)
at textblock_linebreaking.cc:2045
dw::Textblock::initNewLine (this=0x116bf7270) at textblock_linebreaking.cc:1990
1990	   newLineAscent = newLineDescent = 0;
(gdb)
Run till exit from #0  dw::Textblock::initNewLine (this=0x116bf7270)
at textblock_linebreaking.cc:1990
dw::Textblock::addLine (this=0x116bf7270, firstWord=0, lastWord=-1,
newLastOofPos=-1, temporary=false, minHeight=1) at
textblock_linebreaking.cc:523
523	   return line;
(gdb)
Run till exit from #0  dw::Textblock::addLine (this=0x116bf7270,
firstWord=0, lastWord=-1, newLastOofPos=-1, temporary=false,
minHeight=1) at textblock_linebreaking.cc:523
dw::Textblock::wrapWordInFlow (this=0x116bf7270, wordIndex=0,
wrapAll=false) at textblock_linebreaking.cc:826
826	         for(int i = breakPos + 1; i <= wordIndexEnd; i++)
Value returned is $32 = ('dw::Textblock::Line' *) 0x11ad3ca80
(gdb)
Run till exit from #0  dw::Textblock::wrapWordInFlow
(this=0x116bf7270, wordIndex=0, wrapAll=false) at
textblock_linebreaking.cc:826
0x0000000100072e23 in dw::Textblock::wordWrap (this=0x116bf7270,
wordIndex=0, wrapAll=false) at textblock_linebreaking.cc:606
606	      n = wrapWordInFlow (wordIndex, wrapAll);
Value returned is $33 = 0
(gdb)
Run till exit from #0  0x0000000100072e23 in dw::Textblock::wordWrap
(this=0x116bf7270, wordIndex=0, wrapAll=false) at
textblock_linebreaking.cc:606
dw::Textblock::rewrap (this=0x116bf7270) at textblock_linebreaking.cc:1885
1885	      for (int i = firstWord; i < words->size (); i++) {
Value returned is $34 = 0
(gdb)
Run till exit from #0  dw::Textblock::rewrap (this=0x116bf7270) at
textblock_linebreaking.cc:1885
dw::Textblock::sizeRequestImpl (this=0x116bf7270,
requisition=0x116bf7600) at textblock.cc:342
342	   showMissingLines ();
(gdb)
Run till exit from #0  dw::Textblock::sizeRequestImpl
(this=0x116bf7270, requisition=0x116bf7600) at textblock.cc:342
dw::core::Widget::sizeRequest (this=0x116bf7270,
requisition=0x116bf7600) at widget.cc:495
495	      this->requisition = *requisition;
(gdb)
Run till exit from #0  dw::core::Widget::sizeRequest
(this=0x116bf7270, requisition=0x116bf7600) at widget.cc:495
dw::Textblock::rewrap (this=0x116bf6ce0) at textblock_linebreaking.cc:1891
1891	         wordWrap (i, false);
(gdb)
Run till exit from #0  dw::Textblock::rewrap (this=0x116bf6ce0) at
textblock_linebreaking.cc:1891
dw::Textblock::sizeRequestImpl (this=0x116bf6ce0,
requisition=0x116bf8ac0) at textblock.cc:342
342	   showMissingLines ();
(gdb)
Run till exit from #0  dw::Textblock::sizeRequestImpl
(this=0x116bf6ce0, requisition=0x116bf8ac0) at textblock.cc:342
dw::core::Widget::sizeRequest (this=0x116bf6ce0,
requisition=0x116bf8ac0) at widget.cc:495
495	      this->requisition = *requisition;
(gdb)
Run till exit from #0  dw::core::Widget::sizeRequest
(this=0x116bf6ce0, requisition=0x116bf8ac0) at widget.cc:495
dw::Textblock::rewrap (this=0x116bf67c0) at textblock_linebreaking.cc:1891
1891	         wordWrap (i, false);
(gdb)
Run till exit from #0  dw::Textblock::rewrap (this=0x116bf67c0) at
textblock_linebreaking.cc:1891
dw::Textblock::sizeRequestImpl (this=0x116bf67c0,
requisition=0x11713ac20) at textblock.cc:342
342	   showMissingLines ();
(gdb)
Run till exit from #0  dw::Textblock::sizeRequestImpl
(this=0x116bf67c0, requisition=0x11713ac20) at textblock.cc:342
dw::core::Widget::sizeRequest (this=0x116bf67c0,
requisition=0x11713ac20) at widget.cc:495
495	      this->requisition = *requisition;
(gdb)
Run till exit from #0  dw::core::Widget::sizeRequest
(this=0x116bf67c0, requisition=0x11713ac20) at widget.cc:495
dw::Textblock::rewrap (this=0x116bf57d0) at textblock_linebreaking.cc:1891
1891	         wordWrap (i, false);
(gdb)
Run till exit from #0  dw::Textblock::rewrap (this=0x116bf57d0) at
textblock_linebreaking.cc:1891
dw::Textblock::sizeRequestImpl (this=0x116bf57d0,
requisition=0x117119680) at textblock.cc:342
342	   showMissingLines ();
(gdb)
Run till exit from #0  dw::Textblock::sizeRequestImpl
(this=0x116bf57d0, requisition=0x117119680) at textblock.cc:342
dw::core::Widget::sizeRequest (this=0x116bf57d0,
requisition=0x117119680) at widget.cc:495
495	      this->requisition = *requisition;
(gdb)
Run till exit from #0  dw::core::Widget::sizeRequest
(this=0x116bf57d0, requisition=0x117119680) at widget.cc:495
dw::Textblock::rewrap (this=0x116bf5590) at textblock_linebreaking.cc:1891
1891	         wordWrap (i, false);
(gdb)
Run till exit from #0  dw::Textblock::rewrap (this=0x116bf5590) at
textblock_linebreaking.cc:1891
dw::Textblock::sizeRequestImpl (this=0x116bf5590,
requisition=0x116bf5d80) at textblock.cc:342
342	   showMissingLines ();
(gdb) bt
#0  dw::Textblock::sizeRequestImpl (this=0x116bf5590,
requisition=0x116bf5d80) at textblock.cc:342
#1  0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116bf5590, requisition=0x116bf5d80) at widget.cc:494
#2  0x0000000100070199 in dw::Textblock::rewrap (this=0x116bf3c80) at
textblock_linebreaking.cc:1889
#3  0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116bf3c80, requisition=0x100941240) at textblock.cc:341
#4  0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116bf3c80, requisition=0x100941240) at widget.cc:494
#5  0x0000000100070199 in dw::Textblock::rewrap (this=0x102277cd0) at
textblock_linebreaking.cc:1889
#6  0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x102277cd0, requisition=0x1009435c0) at textblock.cc:341
#7  0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x102277cd0, requisition=0x1009435c0) at widget.cc:494
#8  0x0000000100070199 in dw::Textblock::rewrap (this=0x116b1d7f0) at
textblock_linebreaking.cc:1889
#9  0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116b1d7f0, requisition=0x116b1daa0) at textblock.cc:341
#10 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116b1d7f0, requisition=0x116b1daa0) at widget.cc:494
#11 0x0000000100070199 in dw::Textblock::rewrap (this=0x116b1d060) at
textblock_linebreaking.cc:1889
#12 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116b1d060, requisition=0x116b1d3c0) at textblock.cc:341
#13 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116b1d060, requisition=0x116b1d3c0) at widget.cc:494
#14 0x0000000100070199 in dw::Textblock::rewrap (this=0x116b1ca30) at
textblock_linebreaking.cc:1889
#15 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116b1ca30, requisition=0x116b1cd80) at textblock.cc:341
#16 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116b1ca30, requisition=0x116b1cd80) at widget.cc:494
#17 0x0000000100070199 in dw::Textblock::rewrap (this=0x116b1c570) at
textblock_linebreaking.cc:1889
#18 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116b1c570, requisition=0x117125040) at textblock.cc:341
#19 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116b1c570, requisition=0x117125040) at widget.cc:494
#20 0x0000000100070199 in dw::Textblock::rewrap (this=0x116b1b9b0) at
textblock_linebreaking.cc:1889
#21 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116b1b9b0, requisition=0x116b1c180) at textblock.cc:341
#22 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116b1b9b0, requisition=0x116b1c180) at widget.cc:494
#23 0x0000000100070199 in dw::Textblock::rewrap (this=0x116b1b4f0) at
textblock_linebreaking.cc:1889
#24 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x116b1b4f0, requisition=0x116b1b6f4) at textblock.cc:341
#25 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116b1b4f0, requisition=0x116b1b6f4) at widget.cc:494
#26 0x0000000100058685 in dw::OutOfFlowMgr::ensureFloatSize
(this=0x1022478e0, vloat=0x116b1b6a0) at outofflowmgr.cc:2272
#27 0x000000010005b067 in dw::OutOfFlowMgr::tellFloatPosition
(this=0x1022478e0, widget=0x116b1b4f0, yReq=0) at outofflowmgr.cc:1534
#28 0x000000010005b1dc in dw::OutOfFlowMgr::tellPosition
(this=0x1022478e0, widget=0x116b1b4f0, yReq=0) at outofflowmgr.cc:1516
#29 0x0000000100072aef in dw::Textblock::wrapWordInFlow
(this=0x116b1ad70, wordIndex=1, wrapAll=true) at
textblock_linebreaking.cc:788
#30 0x0000000100072e23 in dw::Textblock::wordWrap (this=0x116b1ad70,
wordIndex=1, wrapAll=true) at textblock_linebreaking.cc:606
#31 0x000000010006fbb2 in dw::Textblock::showMissingLines
(this=0x116b1ad70) at textblock_linebreaking.cc:2113
#32 0x000000010006b230 in dw::Textblock::sizeRequestImpl
(this=0x116b1ad70, requisition=0x10095b450) at textblock.cc:342
#33 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x116b1ad70, requisition=0x10095b450) at widget.cc:494
#34 0x0000000100070199 in dw::Textblock::rewrap (this=0x10210cdf0) at
textblock_linebreaking.cc:1889
#35 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x10210cdf0, requisition=0x1009597c0) at textblock.cc:341
#36 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x10210cdf0, requisition=0x1009597c0) at widget.cc:494
#37 0x0000000100070199 in dw::Textblock::rewrap (this=0x10054a2c0) at
textblock_linebreaking.cc:1889
#38 0x000000010006b227 in dw::Textblock::sizeRequestImpl
(this=0x10054a2c0, requisition=0x7fff5fbff040) at textblock.cc:341
#39 0x000000010009c7a7 in dw::core::Widget::sizeRequest
(this=0x10054a2c0, requisition=0x7fff5fbff040) at widget.cc:494
#40 0x00000001000586cc in dw::OutOfFlowMgr::doFloatsExceedCB
(this=0x1022478e0, side=dw::OutOfFlowMgr::LEFT) at
outofflowmgr.cc:1045
#41 0x000000010005b757 in dw::OutOfFlowMgr::sizeAllocateEnd
(this=0x1022478e0, caller=0x10054a2c0) at outofflowmgr.cc:651
#42 0x000000010006ae82 in dw::Textblock::sizeAllocateImpl
(this=0x10054a2c0, allocation=0x7fff5fbff240) at textblock.cc:757
#43 0x000000010009cfb2 in dw::core::Widget::sizeAllocate
(this=0x10054a2c0, allocation=0x7fff5fbff240) at widget.cc:993
#44 0x000000010008e4ff in dw::core::Layout::resizeIdle
(this=0x105109370) at layout.cc:912
#45 0x0000000100076d9e in dw::fltk::FltkPlatform::generalIdle
(this=0x1051091c0) at fltkplatform.cc:627
#46 0x0000000100076def in dw::fltk::FltkPlatform::generalStaticIdle
(data=0x1051091c0) at fltkplatform.cc:617
#47 0x00000001000ad21e in fl_mac_flush_and_wait (time_to_wait=1e+20)
at Fl_cocoa.mm:806
#48 0x00000001000b0025 in Fl::run () at Fl.cxx:589
#49 0x00000001000044c5 in main (argc=1, argv=0x7fff5fbff3f8) at dillo.cc:588
(gdb)


On 1/21/15, Jorge Arellano Cid <[email protected]> wrote:
> Hi there,
>
>   Trying to read about this laptop on slashdot dillo
> locks with 100% CPU and increasing memory footprint. :-P
>
>
> [1]
> http://hardware.slashdot.org/story/15/01/20/1655242/librem-a-laptop-custom-made-for-freelibre-software
>
> --
>   Cheers
>   Jorge.-
>
> _______________________________________________
> Dillo-dev mailing list
> [email protected]
> http://lists.dillo.org/cgi-bin/mailman/listinfo/dillo-dev
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.