Re: Dillo CPU-hog lock on slashdot

James C <[email protected]>
Newsgroups gmane.comp.web.dillo.devel
Message-ID <CACZ9Q6i1hUwfrZp_CXzXo8E+ABS49Y1zV7Fn3Gz7sGKj7WmtKg@mail.gmail.com>
This page exercises the spin, on the current default source:

http://thedailyblog.co.nz/2015/07/27/new-zealand-in-denial-a-review-of-jane-kelseys-the-fire-economy/

The non-finishing part of the stack is dw::Textblock::wrapWordInFlow and below:

#0  dw::Textblock::wrapWordInFlow (this=0x1179e9b50, wordIndex=0,
wrapAll=false) at textblock_linebreaking.cc:732
#1  0x000000010007729f in dw::Textblock::wordWrap (this=0x1179e9b50,
wordIndex=0, wrapAll=false) at textblock_linebreaking.cc:606
#2  0x0000000100074633 in dw::Textblock::rewrap (this=0x1179e9b50) at
textblock_linebreaking.cc:1891
#3  0x000000010006f6a5 in dw::Textblock::sizeRequestImpl
(this=0x1179e9b50, requisition=0x101a30bf0) at textblock.cc:341
#4  0x00000001000a101f in dw::core::Widget::sizeRequest
(this=0x1179e9b50, requisition=0x101a30bf0) at widget.cc:494
#5  0x0000000100074615 in dw::Textblock::rewrap (this=0x100d5bff0) at
textblock_linebreaking.cc:1889
#6  0x000000010006f6a5 in dw::Textblock::sizeRequestImpl
(this=0x100d5bff0, requisition=0x7fff5fbfeea0) at textblock.cc:341
#7  0x00000001000a101f in dw::core::Widget::sizeRequest
(this=0x100d5bff0, requisition=0x7fff5fbfeea0) at widget.cc:494
#8  0x000000010005cb60 in dw::OutOfFlowMgr::doFloatsExceedCB
(this=0x11775ff10, side=dw::OutOfFlowMgr::LEFT) at
outofflowmgr.cc:1045
#9  0x000000010005fbeb in dw::OutOfFlowMgr::sizeAllocateEnd
(this=0x11775ff10, caller=0x100d5bff0) at outofflowmgr.cc:651
(More stack frames follow...)


On 21/01/2015, James C <[email protected]> wrote:
> 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.