Bug 100049 - [xine] Crashes on startup, failed assert in libc's dl-close.c
Summary: [xine] Crashes on startup, failed assert in libc's dl-close.c
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 1.2
Platform: Slackware Linux
: NOR crash
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
: 100102 103386 103746 106665 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-02-23 03:12 UTC by Todd Eddy
Modified: 2006-06-11 12:32 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Todd Eddy 2005-02-23 03:12:55 UTC
Version:           1.2 (using KDE KDE 3.3.2)
Installed from:    Slackware Packages
Compiler:          gcc 3.3.4 
OS:                Linux

Either start through the wizard or just skip it.  Either way it will load the main screen for about 2-3 seconds and then crash with a SIGABRT.  Here is the backtrace reported by the KDE Crash Handler:

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 30583)]
[New Thread 32769 (LWP 30586)]
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 30583)]
[New Thread 32769 (LWP 30586)]
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 30583)]
[New Thread 32769 (LWP 30586)]
[KCrash handler]
#6  0x419c4ef1 in kill () from /lib/libc.so.6
#7  0x4192ebb1 in pthread_kill () from /lib/libpthread.so.0
#8  0x4192ef2b in raise () from /lib/libpthread.so.0
#9  0x419c4b24 in raise () from /lib/libc.so.6
#10 0x419c63fd in abort () from /lib/libc.so.6
#11 0x419be00f in __assert_fail () from /lib/libc.so.6
#12 0x41a8974c in _dl_close () from /lib/libc.so.6
#13 0x41aa877b in __libc_ptyname2 () from /lib/libc.so.6
#14 0x0000016d in ?? ()
#15 0x41aa87eb in __libc_ptyname2 () from /lib/libc.so.6
#16 0x00000000 in ?? ()
#17 0x00000001 in ?? ()
#18 0x00000052 in ?? ()
#19 0x00000057 in ?? ()
#20 0x00000004 in ?? ()
#21 0x00000000 in ?? ()
#22 0x00000000 in ?? ()
#23 0x00000000 in ?? ()
#24 0x00000009 in ?? ()
#25 0x0000000d in ?? ()
#26 0x4192fe70 in __pthread_lock () from /lib/libpthread.so.0

from uname -a
Linux otagi 2.6.10 #1 Sat Jan 22 12:49:12 PST 2005 i686 unknown unknown GNU/Linux

slackware-version
Slackware 10.1.0

from kde-config -v
Qt: 3.3.3
KDE: 3.3.2
kde-config: 1.0
Comment 1 Mark Kretschmann 2005-02-23 09:06:45 UTC
Unfortunately this backtrace is not too detailed, but I suspect that you have been hitting a problem with the xine-library. Please attach the full debug output here as well, it may be helpful.

Try to use a amaroK with a different engine and report if it works. You can use the --engine parameter to load a specific engine right from the start.
Comment 2 Mark Kretschmann 2005-02-23 18:24:18 UTC
*** Bug 100102 has been marked as a duplicate of this bug. ***
Comment 3 Todd Eddy 2005-02-24 03:11:38 UTC
starting it as amarok --engine arts-engine fixed it.  Thank you
Comment 4 Todd Eddy 2005-02-24 03:21:49 UTC
btw, here's the full trace, first from the command line when starting it using the xine-engine from gdb:

Starting program: /opt/kde/bin/amarokapp --engine xine-engine
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 6689)]
amarok: BEGIN: App::App()
amarok:   BEGIN: static amaroK::Plugin* PluginManager::createFromQuery(const QString&)
amarok:     [PluginManager] Plugin trader constraint: [X-KDE-amaroK-framework-version] == 4 and [X-KDE-amaroK-plugintype] == 'engine' and [X-KDE-amaroK-name] == 'void-engine' and [X-KDE-amaroK-rank] > 0
amarok:     [PluginManager] Trying to load: libamarok_void-engine_plugin
amarok:
amarok:     PluginManager Service Info:
amarok:     ---------------------------
amarok:     name                          : <no engine>
amarok:     library                       : libamarok_void-engine_plugin
amarok:     desktopEntryPath              : amarok_void-engine_plugin.desktop
amarok:     X-KDE-amaroK-plugintype       : engine
amarok:     X-KDE-amaroK-name             : void-engine
amarok:     X-KDE-amaroK-authors          : (Max Howell,Mark Kretschmann)
amarok:     X-KDE-amaroK-rank             : 1
amarok:     X-KDE-amaroK-version          : 1
amarok:     X-KDE-amaroK-framework-version: 4
amarok:   END__: static amaroK::Plugin* PluginManager::createFromQuery(const QString&) - Took 0.01s
amarok:   BEGIN: CollectionDB::CollectionDB()
[New Thread 32769 (LWP 6692)]
[New Thread 16386 (LWP 6693)]
[Thread 16386 (LWP 6693) exited]
[New Thread 32771 (LWP 6694)]
[Thread 32771 (LWP 6694) exited]
amarok:     [CollectionDB] Available db connections: 1
amarok:     [CollectionDB] Available db connections: 5
amarok:   END__: CollectionDB::CollectionDB() - Took 0.01s
QLayout: Adding KToolBar/playlist_toolbar (child of QVBox/unnamed) to layout for PlaylistWindow/PlaylistWindow
amarok:   Creating browsers. Please report long start times!
amarok:     BEGIN: ContextBrowser
amarok:       [void ContextBrowser::setStyleSheet()]
amarok:       BEGIN: amaroK::Color::Color(const QColor&)
amarok:         [ContextBrowser] Initial Color Properties: s:107 v:178
amarok:         [ContextBrowser] Unapplied Contrast: 53
amarok:         [ContextBrowser] Final Colour Properties: s:30 v:231
amarok:       END__: amaroK::Color::Color(const QColor&) - Took 0s
amarok:     END__: ContextBrowser - Took 0.04s
amarok:     BEGIN: CollectionBrowser
amarok:       [CollectionView::CollectionView(CollectionBrowser*)]
amarok:       [void CollectionView::renderView()]
amarok:     END__: CollectionBrowser - Took 0.03s
amarok:     BEGIN: PlaylistBrowser
[New Thread 49154 (LWP 6695)]
amarok:     END__: PlaylistBrowser - Took 0.19s
amarok:     BEGIN: MediaBrowser
amarok:     END__: MediaBrowser - Took 0.02s
amarok:     BEGIN: FileBrowser
amarok:       [StatusBar] KSqueezedTextLabel, mainTextLabel: 18: 0
amarok:       [StatusBar] QHBox, progressBox: 26: 0
amarok:       [StatusBar] QLabel, unnamed: 18: 0
amarok:       [StatusBar] QWidget, positionBox: 26: 0
amarok:       [StatusBar] QWidget, unnamed: 16: 0
amarok:     END__: FileBrowser - Took 0.04s
amarok:   BEGIN: UrlLoader
amarok:     BEGIN: UrlLoader::UrlLoader(const KURL::List&, QListViewItem*, bool)
amarok:       [KDE::ProgressBar::ProgressBar(QWidget*, QLabel*)]
amarok:       [StatusBar] Creating timer for: 1updateProgressAppearance()
amarok:     END__: UrlLoader::UrlLoader(const KURL::List&, QListViewItem*, bool) - Took 0.01s
[Thread 49154 (LWP 6695) exited]
[New Thread 65539 (LWP 6696)]
amarok:     BEGIN: void App::applySettings(bool)
amarok:       BEGIN: void App::applyColorScheme()
amarok:       END__: void App::applyColorScheme() - Took 0s
amarok:       [void ContextBrowser::setStyleSheet()]
amarok:       BEGIN: amaroK::Color::Color(const QColor&)
amarok:         [ContextBrowser] Initial Color Properties: s:107 v:178
amarok:         [ContextBrowser] Unapplied Contrast: 53
amarok:         [ContextBrowser] Final Colour Properties: s:30 v:231
amarok:       END__: amaroK::Color::Color(const QColor&) - Took 0s
amarok:       [virtual bool BrowserBar::event(QEvent*)] Line: 182
amarok:       [virtual void BrowserBar::polish()]
amarok:       [ThreadWeaver] Job completed: PlaylistReader. Jobs pending: 0
amarok:       [ThreadWeaver] Job completed: UrlLoader. Jobs pending: 0
amarok:     END__: UrlLoader - Took 0.13s
[Thread 65539 (LWP 6696) exited]
amarok:     [StatusBar] Creating timer for: 1hideMainProgressBar()
amarok:     [StatusBar] 1updateProgressAppearance()
amarok:     BEGIN: static EngineBase* EngineController::loadEngine()
amarok:       BEGIN: static amaroK::Plugin* PluginManager::createFromQuery(const QString&)
amarok:         [PluginManager] Plugin trader constraint: [X-KDE-amaroK-framework-version] == 4 and [X-KDE-amaroK-plugintype] == 'engine' and [X-KDE-amaroK-name] == 'xine-engine' and [X-KDE-amaroK-rank] > 0
amarok:         [PluginManager] Trying to load: libamarok_xine-engine
amarok:
amarok:         PluginManager Service Info:
amarok:         ---------------------------
amarok:         name                          : xine Engine
amarok:         library                       : libamarok_xine-engine
amarok:         desktopEntryPath              : amarok_xine-engine.desktop
amarok:         X-KDE-amaroK-plugintype       : engine
amarok:         X-KDE-amaroK-name             : xine-engine
amarok:         X-KDE-amaroK-authors          : (Max Howell)
amarok:         X-KDE-amaroK-rank             : 254
amarok:         X-KDE-amaroK-version          : 1
amarok:         X-KDE-amaroK-framework-version: 4
amarok:       END__: static amaroK::Plugin* PluginManager::createFromQuery(const QString&) - Took 0.01s
amarok: [xine-engine] 'Bringing joy to small mexican gerbils, a few weeks at a time.'
amarokapp: dl-close.c:365: _dl_close: Assertion `imap->l_type == lt_loaded || imap->l_opencount > 0' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 16384 (LWP 6689)]
0x419c4ef1 in kill () from /lib/libc.so.6
(gdb) bt
#0  0x419c4ef1 in kill () from /lib/libc.so.6
#1  0x4192ebb1 in pthread_kill () from /lib/libpthread.so.0
#2  0x4192ef2b in raise () from /lib/libpthread.so.0
#3  0x419c4b24 in raise () from /lib/libc.so.6
#4  0x419c63fd in abort () from /lib/libc.so.6
#5  0x419be00f in __assert_fail () from /lib/libc.so.6
#6  0x41a8974c in _dl_close () from /lib/libc.so.6
#7  0x41aa877b in __libc_ptyname2 () from /lib/libc.so.6
#8  0x0000016d in ?? ()
#9  0x41aa87eb in __libc_ptyname2 () from /lib/libc.so.6
#10 0x00000000 in ?? ()
#11 0x00000001 in ?? ()
#12 0x00000052 in ?? ()
#13 0x00000057 in ?? ()
#14 0x00000004 in ?? ()
#15 0x00000000 in ?? ()
#16 0x00000000 in ?? ()
#17 0x00000000 in ?? ()
#18 0x00000009 in ?? ()
#19 0x0000000d in ?? ()
#20 0x4192fe70 in __pthread_lock () from /lib/libpthread.so.0
Previous frame inner to this frame (corrupt stack?)

Comment 5 Todd Eddy 2005-02-24 03:28:50 UTC
and btw, xine-lib is v1.0 from slackware package
Comment 6 Mark Kretschmann 2005-02-24 09:27:34 UTC
Reopening, because the bug still persists. Using another engine is just a workaround.

I'm assuming the problem only happens when xine-lib is compiled with debug. Using NDEBUG might deactivate the assert. Perhaps.
Comment 7 marco marcarelli 2005-02-25 13:18:27 UTC
When i launch the apps by command line:
marco@IToshi:~$ amarok
amaroK: [Loader] Starting amarokapp..
amaroK: [Loader] Don't run gdb, valgrind, etc. against this binary! Use amarokapp.
QLayout: Adding KToolBar/playlist_toolbar (child of QVBox/unnamed) to layout for PlaylistWindow/PlaylistWindow
amarokapp: dl-close.c:365: _dl_close: Assertion `imap->l_type == lt_loaded || imap->l_opencount > 0' failed.
KCrash: Application 'amarokapp' crashing...
marco@IToshi:~$
Comment 8 marco marcarelli 2005-02-25 13:27:06 UTC
Ops if i start 
amarok --engine arts

start!!!!
Comment 9 Max Howell 2005-02-28 12:34:04 UTC
I could do with a backtrace from someone who doesn't strip amarok or xine-lib for this bug. Then I could finally fix it.. :(
Comment 10 Ian Monroe 2005-04-07 06:28:57 UTC
*** Bug 103386 has been marked as a duplicate of this bug. ***
Comment 11 Ian Monroe 2005-04-11 05:31:02 UTC
Actually this isn't a failed assert in xine-lib, turns out 'dl-close.c' doesn't exist in xine-lib. A search on Teoma indicates its part of libc (I then downloaded and double-checked the assert was in glibc). So maybe the users have a libc with debug on (enabling asserts) for some reason? And some bug in xine-lib or amaroK causes it to fail an assert. Lets just pretend there isn't a possibility of their being a bug in glibc (though maybe, since glibc isn't intended to used by folks with asserts enabled, I'm sure).

Could a user having this problem /please/ compile their xine-lib and amaroK with debug support and attempt to obtain a backtrace? Instructions for enabling debug for xine are at:
http://xinehq.de/index.php/developer
Instuctions for getting a backtrace of amaroK are at:
http://amarok.kde.org/wiki/index.php/FAQ#How_can_I_obtain_a_decent_backtrace.3F
Comment 12 Ian Monroe 2005-04-11 07:55:28 UTC
Googling yielded the same issue for another xine app
http://www.mail-archive.com/enlightenment-devel@lists.sourceforge.net/msg03035.html

I sent an email to its developer, I'll make a xine bug if he doesn't have any ideas.
Comment 13 Mark Kretschmann 2005-04-12 20:15:43 UTC
*** Bug 103746 has been marked as a duplicate of this bug. ***
Comment 14 Reid Kleckner 2005-05-10 03:04:55 UTC
I would post a nice backtrace, but when I recompiled xine-lib with debugging enabled, the problem resolved itself.  However, amarok uses 99% CPU with both xine and gst.  This could be separate problem with amarok svn, and I'll check it out.  Maybe if I recompile amarok once more the problem will arise again and I'll be able to snag a decent backtrace.  Anyway, add recompiling xine to the list of workarounds.
Comment 15 Mark Kretschmann 2005-06-02 13:22:09 UTC
*** Bug 106665 has been marked as a duplicate of this bug. ***
Comment 16 Mark Kretschmann 2005-09-22 09:32:43 UTC
From what I hear this is fixed with the latest xine-lib versions. We haven't got a report on this recently.