Bug 229397 - Konqueror display directory, invokes libart, which bombs with an assertion failure
Konqueror display directory, invokes libart, which bombs with an assertion fa...
Status: CLOSED WONTFIX
Product: Fedora
Classification: Fedora
Component: libart_lgpl (Show other bugs)
6
All Linux
medium Severity medium
: ---
: ---
Assigned To: Behdad Esfahbod
bzcl34nup
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-02-20 15:28 EST by David Tonhofer
Modified: 2008-05-06 15:16 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-05-06 15:16:10 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description David Tonhofer 2007-02-20 15:28:32 EST
Description of problem:
=======================

I want to run Konqueror to display a directory contents.
Konqueror invokes libart to draw an icon for a zip file using a 
SVG file, in this case /usr/share/icons/gnome/scalable/mimetypes/tgz.svg
which belongs to gnome-icon-theme-2.16.0.1-3.fc6 (see below). Drawing
sadly fails with an assertion error (maybe the SVG file is bad?)

Version-Release number of selected component (if applicable):
=======================

libart_lgpl-2.3.17-4
kdebase-3.5.6-0.1.fc6
gnome-icon-theme-2.16.0.1-3.fc6  (apparently the culprit)

How reproducible:
=======================

Always

Steps to Reproduce:
=======================

1. Start Konqueror
2. Use large icons
3. Display a directory with a Zip file in it, so that a large icon for a
   Zip file must be used.
  
Actual results:
=======================

Konqueror crashes with assertion failure:

konqueror: art_render_gradient.c:338: art_render_gradient_linear_render_8:
Assertion `offset_fraction <= stops[ix].offset' failed.

Expected results:
=======================

Directory kontents should be displayed.

Additional info:
=======================

Stack trace at crash time (not much use):

#0  0x001d9402 in __kernel_vsyscall ()
#1  0x00202d40 in raise () from /lib/libc.so.6
#2  0x00204591 in abort () from /lib/libc.so.6
#3  0x001fc38b in __assert_fail () from /lib/libc.so.6
#4  0x007ae45b in art_render_gradient_radial () from /usr/lib/libart_lgpl_2.so.2
#5  0x007ac3fa in art_render_invoke_callbacks () from /usr/lib/libart_lgpl_2.so.2
#6  0x007aefa4 in art_render_svp () from /usr/lib/libart_lgpl_2.so.2
#7  0x007b4676 in art_svp_render_aa () from /usr/lib/libart_lgpl_2.so.2
#8  0x007af0ca in art_render_svp () from /usr/lib/libart_lgpl_2.so.2
#9  0x007ace6e in art_render_invoke () from /usr/lib/libart_lgpl_2.so.2
#10 0x030f5d07 in KSVGIconPainterHelper::applyLinearGradient () from
/usr/lib/libkdecore.so.4
#11 0x030f65ae in KSVGIconPainterHelper::applyGradient () from
/usr/lib/libkdecore.so.4
#12 0x030f6a52 in KSVGIconPainterHelper::applyGradient () from
/usr/lib/libkdecore.so.4
#13 0x030f71e3 in KSVGIconPainterHelper::applyGradient () from
/usr/lib/libkdecore.so.4
#14 0x030f78a6 in KSVGIconPainterHelper::drawPathInternal () from
/usr/lib/libkdecore.so.4
#15 0x030f7b1c in KSVGIconPainterHelper::drawVPath () from /usr/lib/libkdecore.so.4
#16 0x030f05fe in KSVGIconPainter::drawRectangle () from /usr/lib/libkdecore.so.4
#17 0x030e849a in KSVGIconEngineHelper::handleTags () from /usr/lib/libkdecore.so.4
#18 0x030e880b in KSVGIconEngineHelper::handleTags () from /usr/lib/libkdecore.so.4
#19 0x030e880b in KSVGIconEngineHelper::handleTags () from /usr/lib/libkdecore.so.4
#20 0x030e53d3 in KSVGIconEngine::load () from /usr/lib/libkdecore.so.4
#21 0x030079d6 in KIconLoader::loadIcon () from /usr/lib/libkdecore.so.4
#22 0x03700a43 in KMimeType::pixmap () from /usr/lib/libkio.so.4
#23 0x0372c39f in KFileItem::pixmap () from /usr/lib/libkio.so.4
#24 0x009a427b in KFileIVI::KFileIVI () from /usr/lib/libkonq.so.4
#25 0x00ced2e0 in KonqKfmIconView::slotNewItems () from
/usr/lib/kde3/konq_iconview.so
#26 0x00cf4b98 in KonqKfmIconView::qt_invoke () from /usr/lib/kde3/konq_iconview.so
#27 0x05adcbea in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#28 0x03730fd9 in KDirLister::newItems () from /usr/lib/libkio.so.4
#29 0x0373253b in KDirLister::emitItems () from /usr/lib/libkio.so.4
#30 0x03735ba7 in KDirListerCache::slotEntries () from /usr/lib/libkio.so.4
#31 0x03739585 in KDirListerCache::qt_invoke () from /usr/lib/libkio.so.4
#32 0x05adcbea in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#33 0x036872a4 in KIO::ListJob::entries () from /usr/lib/libkio.so.4
#34 0x036974ab in KIO::ListJob::slotListEntries () from /usr/lib/libkio.so.4
#35 0x0369783f in KIO::ListJob::qt_invoke () from /usr/lib/libkio.so.4
#36 0x05adcbea in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#37 0x03676fd9 in KIO::SlaveInterface::listEntries () from /usr/lib/libkio.so.4
#38 0x03678717 in KIO::SlaveInterface::dispatch () from /usr/lib/libkio.so.4
#39 0x03679180 in KIO::SlaveInterface::dispatch () from /usr/lib/libkio.so.4
#40 0x03673fed in KIO::Slave::gotInput () from /usr/lib/libkio.so.4
#41 0x03676098 in KIO::Slave::qt_invoke () from /usr/lib/libkio.so.4
#42 0x05adcbea in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#43 0x05add5c2 in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#44 0x05e69910 in QSocketNotifier::activated () from
/usr/lib/qt-3.3/lib/libqt-mt.so.3
#45 0x05afd7d0 in QSocketNotifier::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#46 0x05a73e6b in QApplication::internalNotify () from
/usr/lib/qt-3.3/lib/libqt-mt.so.3
#47 0x05a752e9 in QApplication::notify () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#48 0x02fb156e in KApplication::notify () from /usr/lib/libkdecore.so.4
#49 0x05a67631 in QEventLoop::activateSocketNotifiers () from
/usr/lib/qt-3.3/lib/libqt-mt.so.3
#50 0x05a1c1c1 in QEventLoop::processEvents () from
/usr/lib/qt-3.3/lib/libqt-mt.so.3
---Type <return> to continue, or q <return> to quit---
#51 0x05a8d3f0 in QEventLoop::enterLoop () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#52 0x05a8d2a6 in QEventLoop::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#53 0x05a7397f in QApplication::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#54 0x00a39a74 in kdemain () from /usr/lib/libkdeinit_konqueror.so
#55 0x08048472 in ?? ()
#56 0x001eff2c in __libc_start_main () from /lib/libc.so.6
#57 0x080483c1 in ?? ()

Lines obtained through 'strace konqueror' (very useful):

access("/usr/share/icons/gnome/scalable/mimetypes/tgz.svg", R_OK) = 0
open("/usr/share/icons/gnome/scalable/mimetypes/tgz.svg", O_RDONLY|O_LARGEFILE) = 17
fstat64(17, {st_mode=S_IFREG|0644, st_size=16764, ...}) = 0
fstat64(17, {st_mode=S_IFREG|0644, st_size=16764, ...}) = 0
fstat64(17, {st_mode=S_IFREG|0644, st_size=16764, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb784f000
read(17, "<?xml version=\"1.0\" encoding=\"UT"..., 16384) = 16384
read(17, "none;marker-start:none;marker-mi"..., 4096) = 380
fstat64(17, {st_mode=S_IFREG|0644, st_size=16764, ...}) = 0
fstat64(17, {st_mode=S_IFREG|0644, st_size=16764, ...}) = 0
write(2, "konqueror: art_render_gradient.c"..., 131konqueror:
art_render_gradient.c:338: art_render_gradient_linear_render_8: Assertion
`offset_fraction <= stops[ix].offset' failed.
) = 131
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
tgkill(5111, 5111, SIGABRT)             = 0
--- SIGABRT (Aborted) @ 0 (0) ---

Workaround
==========

/usr/share/icons/gnome/scalable/mimetypes/tgz.svg seems to be the offending
file. It is a symlink to "package-x-generic.svg"

Removal of the symlink makes things work!
Comment 1 David Tonhofer 2007-06-29 19:19:18 EDT
See also http://bugs.kde.org/show_bug.cgi?id=142214
Comment 2 Bug Zapper 2008-04-04 02:19:13 EDT
Fedora apologizes that these issues have not been resolved yet. We're
sorry it's taken so long for your bug to be properly triaged and acted
on. We appreciate the time you took to report this issue and want to
make sure no important bugs slip through the cracks.

If you're currently running a version of Fedora Core between 1 and 6,
please note that Fedora no longer maintains these releases. We strongly
encourage you to upgrade to a current Fedora release. In order to
refocus our efforts as a project we are flagging all of the open bugs
for releases which are no longer maintained and closing them.
http://fedoraproject.org/wiki/LifeCycle/EOL

If this bug is still open against Fedora Core 1 through 6, thirty days
from now, it will be closed 'WONTFIX'. If you can reporduce this bug in
the latest Fedora version, please change to the respective version. If
you are unable to do this, please add a comment to this bug requesting
the change.

Thanks for your help, and we apologize again that we haven't handled
these issues to this point.

The process we are following is outlined here:
http://fedoraproject.org/wiki/BugZappers/F9CleanUp

We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.

And if you'd like to join the bug triage team to help make things
better, check out http://fedoraproject.org/wiki/BugZappers
Comment 3 Bug Zapper 2008-05-06 15:16:08 EDT
This bug is open for a Fedora version that is no longer maintained and
will not be fixed by Fedora. Therefore we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen thus bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Note You need to log in before you can comment on or make changes to this bug.