Bug 254974

Summary: Okular crashes on 16 bit display
Product: [Applications] okular Reporter: hjb
Component: generalAssignee: Okular developers <okular-devel>
Status: RESOLVED DUPLICATE    
Severity: crash    
Priority: NOR    
Version: 0.11.1   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Stack trace

Description hjb 2010-10-22 17:31:34 UTC
Created attachment 52769 [details]
Stack trace

Version:           0.11.1 (using KDE 4.5.1) 
OS:                Linux

Okular crashes on loading an arbitrary document, eg. okular /usr/share/doc/foo2zjs/manual.pdf

This only seems to happen on 16 bit displays. To reproduce, you need to start X with -depth 16 or so.

I'v only tested Kubuntu 10.10, but cannot remember such a problem in earlier versions.

Version 4.5.1-0ubuntu3


Reproducible: Always
Comment 1 Pino Toscano 2010-10-23 21:01:11 UTC
Pasting backtrace to ease searches:

#0  0x00007fffe79d1f48 in PagePainter::scalePixmapOnImage (
    dest=<value optimized out>, src=<value optimized out>, 
    scaledWidth=<value optimized out>, scaledHeight=672, 
    cropRect=<value optimized out>, format=<value optimized out>)
    at ../../okular/ui/pagepainter.cpp:755
#1  0x00007fffe79d25e6 in PagePainter::paintCroppedPageOnPainter (
    destPainter=<value optimized out>, page=<value optimized out>, 
    pixID=<value optimized out>, flags=<value optimized out>, 
    scaledWidth=<value optimized out>, scaledHeight=<value optimized out>, 
    limits=..., crop=...) at ../../okular/ui/pagepainter.cpp:229
#2  0x00007fffe79e515b in PageView::drawDocumentOnPainter (
    this=<value optimized out>, contentsRect=<value optimized out>, 
    p=0x7fffffffa220) at ../../okular/ui/pageview.cpp:2446
#3  0x00007fffe79e594a in PageView::paintEvent (this=0xa37f60, 
    pe=<value optimized out>) at ../../okular/ui/pageview.cpp:1212
#4  0x00007ffff65aec2e in QWidget::event (this=0xa37f60, event=0x7fffffffab20)
    at kernel/qwidget.cpp:8333
#5  0x00007ffff697a5e6 in QFrame::event (this=0xa37f60, e=0x7fffffffab20)
    at widgets/qframe.cpp:557
#6  0x00007fffe79e8bad in PageView::viewportEvent (this=0xa37f60, 
    e=0x7fffffffab20) at ../../okular/ui/pageview.cpp:2292
#7  0x00007ffff5ba2507 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x87b1a0, event=0x7fffffffab20)
    at kernel/qcoreapplication.cpp:847
#8  0x00007ffff6558fac in QApplicationPrivate::notify_helper (this=0x62c3d0, 
    receiver=0x87b1a0, e=0x7fffffffab20) at kernel/qapplication.cpp:4392
#9  0x00007ffff655eaed in QApplication::notify (this=0x7fffffffdd00, 
    receiver=0x87b1a0, e=0x7fffffffab20) at kernel/qapplication.cpp:4277
#10 0x00007ffff72ab156 in KApplication::notify (this=0x7fffffffdd00, 
    receiver=0x87b1a0, event=0x7fffffffab20)
    at ../../kdeui/kernel/kapplication.cpp:310
#11 0x00007ffff5ba2cdc in QCoreApplication::notifyInternal (this=
    0x7fffffffdd00, receiver=0x87b1a0, event=0x7fffffffab20)
    at kernel/qcoreapplication.cpp:732
#12 0x00007ffff65b567d in sendSpontaneousEvent (this=0x87b210, 
    pdev=<value optimized out>, rgn=..., offset=<value optimized out>, 
    flags=<value optimized out>, sharedPainter=0x0, backingStore=0xb063d0)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#13 QWidgetPrivate::drawWidget (this=0x87b210, pdev=<value optimized out>, 
    rgn=..., offset=<value optimized out>, flags=<value optimized out>, 
    sharedPainter=0x0, backingStore=0xb063d0) at kernel/qwidget.cpp:5420
#14 0x00007ffff65b6328 in QWidgetPrivate::paintSiblingsRecursive (
    this=<value optimized out>, pdev=<value optimized out>, siblings=..., 
    index=0, rgn=<value optimized out>, offset=<value optimized out>, flags=4, 
    sharedPainter=0x0, backingStore=0xb063d0) at kernel/qwidget.cpp:5627
#15 0x00007ffff65b6159 in QWidgetPrivate::paintSiblingsRecursive (
    this=<value optimized out>, pdev=<value optimized out>, siblings=..., 
    index=2, rgn=<value optimized out>, offset=<value optimized out>, flags=4, 
    sharedPainter=0x0, backingStore=0xb063d0) at kernel/qwidget.cpp:5614
#16 0x00007ffff65b6159 in QWidgetPrivate::paintSiblingsRecursive (
    this=<value optimized out>, pdev=<value optimized out>, siblings=..., 
    index=65, rgn=<value optimized out>, offset=<value optimized out>, 
    flags=4, sharedPainter=0x0, backingStore=0xb063d0)
    at kernel/qwidget.cpp:5614
#17 0x00007ffff65b53da in QWidgetPrivate::drawWidget (this=0x87aee0, 
    pdev=<value optimized out>, rgn=..., offset=<value optimized out>, 
    flags=<value optimized out>, sharedPainter=0x0, backingStore=0xb063d0)
    at kernel/qwidget.cpp:5473
#18 0x00007ffff65b6328 in QWidgetPrivate::paintSiblingsRecursive (
    this=<value optimized out>, pdev=<value optimized out>, siblings=..., 
    index=3, rgn=<value optimized out>, offset=<value optimized out>, flags=4, 
    sharedPainter=0x0, backingStore=0xb063d0) at kernel/qwidget.cpp:5627
#19 0x00007ffff65b6159 in QWidgetPrivate::paintSiblingsRecursive (
    this=<value optimized out>, pdev=<value optimized out>, siblings=..., 
    index=5, rgn=<value optimized out>, offset=<value optimized out>, flags=4, 
    sharedPainter=0x0, backingStore=0xb063d0) at kernel/qwidget.cpp:5614
#20 0x00007ffff65b53da in QWidgetPrivate::drawWidget (this=0xa13870, 
    pdev=<value optimized out>, rgn=..., offset=<value optimized out>, 
    flags=<value optimized out>, sharedPainter=0x0, backingStore=0xb063d0)
    at kernel/qwidget.cpp:5473
#21 0x00007ffff65b6328 in QWidgetPrivate::paintSiblingsRecursive (
    this=<value optimized out>, pdev=<value optimized out>, siblings=..., 
    index=0, rgn=<value optimized out>, offset=<value optimized out>, flags=4, 
    sharedPainter=0x0, backingStore=0xb063d0) at kernel/qwidget.cpp:5627
#22 0x00007ffff65b6159 in QWidgetPrivate::paintSiblingsRecursive (
    this=<value optimized out>, pdev=<value optimized out>, siblings=..., 
    index=1, rgn=<value optimized out>, offset=<value optimized out>, flags=4, 
    sharedPainter=0x0, backingStore=0xb063d0) at kernel/qwidget.cpp:5614
#23 0x00007ffff65b6159 in QWidgetPrivate::paintSiblingsRecursive (
    this=<value optimized out>, pdev=<value optimized out>, siblings=..., 
    index=3, rgn=<value optimized out>, offset=<value optimized out>, flags=4, 
    sharedPainter=0x0, backingStore=0xb063d0) at kernel/qwidget.cpp:5614
#24 0x00007ffff65b53da in QWidgetPrivate::drawWidget (this=0x75eb80, 
    pdev=<value optimized out>, rgn=..., offset=<value optimized out>, 
    flags=<value optimized out>, sharedPainter=0x0, backingStore=0xb063d0)
    at kernel/qwidget.cpp:5473
#25 0x00007ffff65b6328 in QWidgetPrivate::paintSiblingsRecursive (
    this=<value optimized out>, pdev=<value optimized out>, siblings=..., 
    index=2, rgn=<value optimized out>, offset=<value optimized out>, flags=4, 
    sharedPainter=0x0, backingStore=0xb063d0) at kernel/qwidget.cpp:5627
#26 0x00007ffff65b53da in QWidgetPrivate::drawWidget (this=0x7491a0, 
    pdev=<value optimized out>, rgn=..., offset=<value optimized out>, 
    flags=<value optimized out>, sharedPainter=0x0, backingStore=0xb063d0)
    at kernel/qwidget.cpp:5473
#27 0x00007ffff65b6328 in QWidgetPrivate::paintSiblingsRecursive (
    this=<value optimized out>, pdev=<value optimized out>, siblings=..., 
    index=6, rgn=<value optimized out>, offset=<value optimized out>, flags=4, 
    sharedPainter=0x0, backingStore=0xb063d0) at kernel/qwidget.cpp:5627
#28 0x00007ffff65b6159 in QWidgetPrivate::paintSiblingsRecursive (
    this=<value optimized out>, pdev=<value optimized out>, siblings=..., 
    index=14, rgn=<value optimized out>, offset=<value optimized out>, 
    flags=4, sharedPainter=0x0, backingStore=0xb063d0)
    at kernel/qwidget.cpp:5614
#29 0x00007ffff65b53da in QWidgetPrivate::drawWidget (this=0x72e7e0, 
    pdev=<value optimized out>, rgn=..., offset=<value optimized out>, 
    flags=<value optimized out>, sharedPainter=0x0, backingStore=0xb063d0)
    at kernel/qwidget.cpp:5473
#30 0x00007ffff6789408 in QWidgetBackingStore::sync (this=0xb063d0)
    at painting/qbackingstore.cpp:1328
#31 0x00007ffff65a8730 in QWidgetPrivate::syncBackingStore (this=0x72e7e0)
    at kernel/qwidget.cpp:1805
#32 0x00007ffff65af2f5 in QWidget::event (this=0x723130, event=0x1057950)
    at kernel/qwidget.cpp:8480
#33 0x00007ffff699641b in QMainWindow::event (this=0x723130, event=0x1057950)
    at widgets/qmainwindow.cpp:1417
#34 0x00007ffff73c7683 in KXmlGuiWindow::event (this=0x31d54, ev=0x76c)
    at ../../kdeui/xmlgui/kxmlguiwindow.cpp:130
#35 0x00007ffff6558fdc in QApplicationPrivate::notify_helper (this=0x62c3d0, 
    receiver=0x723130, e=0x1057950) at kernel/qapplication.cpp:4396
#36 0x00007ffff655eaed in QApplication::notify (this=0x7fffffffdd00, 
    receiver=0x723130, e=0x1057950) at kernel/qapplication.cpp:4277
#37 0x00007ffff72ab156 in KApplication::notify (this=0x7fffffffdd00, 
    receiver=0x723130, event=0x1057950)
    at ../../kdeui/kernel/kapplication.cpp:310
#38 0x00007ffff5ba2cdc in QCoreApplication::notifyInternal (
    this=0x7fffffffdd00, receiver=0x723130, event=0x1057950)
    at kernel/qcoreapplication.cpp:732
#39 0x00007ffff5ba5c22 in sendEvent (receiver=0x0, 
    event_type=<value optimized out>, data=0x614350)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#40 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, 
    event_type=<value optimized out>, data=0x614350)
    at kernel/qcoreapplication.cpp:1373
#41 0x00007ffff5bcf653 in sendPostedEvents (s=0x62ff90)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#42 postEventSourceDispatch (s=0x62ff90)
    at kernel/qeventdispatcher_glib.cpp:277
#43 0x00007ffff10f3342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#44 0x00007ffff10f72a8 in ?? () from /lib/libglib-2.0.so.0
#45 0x00007ffff10f745c in g_main_context_iteration ()
   from /lib/libglib-2.0.so.0
#46 0x00007ffff5bcf193 in QEventDispatcherGlib::processEvents (this=0x613e60, 
    flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#47 0x00007ffff660ba4e in QGuiEventDispatcherGlib::processEvents (this=
    0x31d54, flags=<value optimized out>)
    at kernel/qguieventdispatcher_glib.cpp:204
#48 0x00007ffff5ba1a02 in QEventLoop::processEvents (
    this=<value optimized out>, flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece.
) at kernel/qeventloop.cpp:149
#49 0x00007ffff5ba1dec in QEventLoop::exec (this=0x7fffffffdc50, flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece.
)
    at kernel/qeventloop.cpp:201
#50 0x00007ffff5ba5ebb in QCoreApplication::exec ()
    at kernel/qcoreapplication.cpp:1009
#51 0x000000000040807c in main (argc=<value optimized out>, 
    argv=<value optimized out>) at ../../../okular/shell/main.cpp:82
Comment 2 Pino Toscano 2010-12-09 18:40:23 UTC

*** This bug has been marked as a duplicate of bug 243434 ***