planner and dive add should work now

Dirk Hohndel dirk at hohndel.org
Fri May 30 10:23:04 PDT 2014


On Fri, May 30, 2014 at 07:05:15PM +0200, Henrik Brautaset Aronsen wrote:
> Dirk Hohndel wrote:
> >Oh, nice. I was too careful (or should have checked this before writing my
> >last email)... it turns out that most of Henrik's issues appear to be
> >addressed with my changes...
> 
> When I start Subsurface and select Log » Plan Dive, I get this little
> sweetie:

Cute.

> Crashed Thread:  0  Dispatch queue: com.apple.main-thread
> 
> Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
> Exception Codes: KERN_PROTECTION_FAILURE at 0x00007fff4f928ffc
> 
> VM Regions Near 0x7fff4f928ffc:
>     MALLOC_SMALL           00007f8ce4800000-00007f8ce5800000 [ 16.0M]
> rw-/rwx SM=PRV
> --> STACK GUARD            00007fff4c129000-00007fff4f929000 [ 56.0M]
> ---/rwx SM=NUL  stack guard for thread 0
>     Stack                  00007fff4f929000-00007fff50129000 [ 8192K]
> rw-/rwx SM=COW  thread 0
> 
> Application Specific Information:
> Performing @selector(qtDispatcherToQAction:) from sender NSMenuItem
> 0x6080002ab160
> 
> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
> 0   QtGui                             0x000000011298cca0 QGraphicsScenePrivate::markDirty(QGraphicsItem*, QRectF const&, bool, bool, bool, bool, bool) + 158
> 1   QtGui                             0x0000000112966498 QGraphicsItem::prepareGeometryChange() + 310
> 2   QtGui                             0x000000011296ca1d QGraphicsItemPrivate::setPosHelper(QPointF const&) + 67
> 3   QtGui                             0x000000011296c8ba QGraphicsItem::setPos(QPointF const&) + 296
> 4   org.hohndel.subsurface            0x000000010fb92d0f RulerNodeItem2::recalculate() + 415
> 5   org.hohndel.subsurface            0x000000010fb93309 non-virtual thunk to RulerNodeItem2::itemChange(QGraphicsItem::GraphicsItemChange, QVariant const&) + 41
> 6   QtGui                             0x000000011296c8d6 QGraphicsItem::setPos(QPointF const&) + 324
> 7   org.hohndel.subsurface            0x000000010fb92d0f RulerNodeItem2::recalculate() + 415
> 8   org.hohndel.subsurface            0x000000010fb93309 non-virtual thunk to RulerNodeItem2::itemChange(QGraphicsItem::GraphicsItemChange, QVariant const&) + 41
> 9   QtGui                             0x000000011296c8d6 QGraphicsItem::setPos(QPointF const&) + 324
> 10  org.hohndel.subsurface            0x000000010fb92d0f RulerNodeItem2::recalculate() + 415
> 11  org.hohndel.subsurface            0x000000010fb93309 non-virtual thunk to RulerNodeItem2::itemChange(QGraphicsItem::GraphicsItemChange, QVariant const&) + 41
> 12  QtGui                             0x000000011296c8d6 QGraphicsItem::setPos(QPointF const&) + 324
> 13  org.hohndel.subsurface            0x000000010fb92d0f RulerNodeItem2::recalculate() + 415
> 14  org.hohndel.subsurface            0x000000010fb93309 non-virtual thunk to RulerNodeItem2::itemChange(QGraphicsItem::GraphicsItemChange, QVariant const&) + 41
> 15  QtGui                             0x000000011296c8d6 QGraphicsItem::setPos(QPointF const&) + 324
> 16  org.hohndel.subsurface            0x000000010fb92d0f RulerNodeItem2::recalculate() + 415
> 17  org.hohndel.subsurface            0x000000010fb93309 non-virtual thunk to RulerNodeItem2::itemChange(QGraphicsItem::GraphicsItemChange, QVariant const&) + 41
> 18  QtGui                             0x000000011296c8d6 QGraphicsItem::setPos(QPointF const&) + 324
> 19  org.hohndel.subsurface            0x000000010fb92d0f RulerNodeItem2::recalculate() + 415
> 20  org.hohndel.subsurface            0x000000010fb93309 non-virtual thunk to RulerNodeItem2::itemChange(QGraphicsItem::GraphicsItemChange, QVariant const&) + 41
> 21  QtGui                             0x000000011296c8d6 QGraphicsItem::setPos(QPointF const&) + 324
> 22  org.hohndel.subsurface            0x000000010fb92d0f RulerNodeItem2::recalculate() + 415
> 23  org.hohndel.subsurface            0x000000010fb93309 non-virtual thunk to RulerNodeItem2::itemChange(QGraphicsItem::GraphicsItemChange, QVariant const&) + 41
> 24  QtGui                             0x000000011296c8d6 QGraphicsItem::setPos(QPointF const&) + 324
> 25  org.hohndel.subsurface            0x000000010fb92d0f RulerNodeItem2::recalculate() + 415
> 26  org.hohndel.subsurface            0x000000010fb93309 non-virtual thunk to RulerNodeItem2::itemChange(QGraphicsItem::GraphicsItemChange, QVariant const&) + 41
> 27  QtGui                             0x000000011296c8d6 QGraphicsItem::setPos(QPointF const&) + 324
> 28  org.hohndel.subsurface            0x000000010fb92d0f RulerNodeItem2::recalculate() + 415
> 29  org.hohndel.subsurface            0x000000010fb93309 non-virtual thunk to RulerNodeItem2::itemChange(QGraphicsItem::GraphicsItemChange, QVariant const&) + 41
> 30  QtGui                             0x000000011296c8d6 QGraphicsItem::setPos(QPointF const&) + 324
> 31  org.hohndel.subsurface            0x000000010fb92d0f RulerNodeItem2::recalculate() + 415
> 32  org.hohndel.subsurface            0x000000010fb93309 non-virtual thunk to RulerNodeItem2::itemChange(QGraphicsItem::GraphicsItemChange, QVariant const&) + 41

So we keep calling setPos from RulerNodeItem2::recalculate() until things
crsh in markDirty()

Thiago, any ideas how one would debug that?

/D


More information about the subsurface mailing list