Bug 211518 - Crash in QStringX::namedOptArgs() -> Out-of-bounds
Summary: Crash in QStringX::namedOptArgs() -> Out-of-bounds
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 2.3-GIT
Platform: Ubuntu Linux
: HI crash
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
: 212015 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-10-23 10:59 UTC by Myriam Schweingruber
Modified: 2009-11-22 14:49 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 Myriam Schweingruber 2009-10-23 10:59:07 UTC
KDE 4.3.2
Qt. 4.5.2
latest git

When trying to copy a CD to collection, I wanted to use the "Custom Format" naming scheme. When dragging a component (e.g. Composer) to the field, it crashes immediately, without starting Dr. Konqi.

This is always reproducible.

I run amarok with -d --nofork and get the following konsole output:

amarok: BEGIN: void CollectionLocation::queryDone()
amarok:    we were about to copy something, lets proceed
amarok:   BEGIN: void CollectionLocation::startWorkflow(const Meta::TrackList&, bool)
amarok:     BEGIN: virtual void AudioCdCollectionLocation::showSourceDialog(const Meta::TrackList&, bool)
amarok:     END__: virtual void AudioCdCollectionLocation::showSourceDialog(const Meta::TrackList&, bool) - Took 0.14s
amarok:   END__: void CollectionLocation::startWorkflow(const Meta::TrackList&, bool) - Took 0.14s
amarok: END__: void CollectionLocation::queryDone() - Took 0.14s
amarok: BEGIN: void AudioCdCollectionLocation::onFormatSelected(int)
amarok:   BEGIN: virtual bool Meta::AudioCdAlbum::isCompilation() const
amarok:   END__: virtual bool Meta::AudioCdAlbum::isCompilation() const - Took 5.9e-05s
amarok:    I'm about to do Amarok::vfatPath( result ), this is result:  "Johann Sebastian Bach"
amarok:    I'm about to do Amarok::vfatPath( result ), this is result:  "Johann Sebastian Bach"
amarok:    I'm about to do Amarok::vfatPath( result ), this is result:  "Johann Sebastian Bach"
amarok:    I'm about to do Amarok::vfatPath( result ), this is result:  "Johann Sebastian Bach"
amarok:    I'm about to do Amarok::vfatPath( result ), this is result:  "Prelude & Fugue I In C (BWV 870)"
amarok:    I'm about to do Amarok::vfatPath( result ), this is result:  "1970"
amarok:    I'm about to do Amarok::vfatPath( result ), this is result:  "The Well-Tempered Clavier"
amarok:    I'm about to do Amarok::vfatPath( result ), this is result:  "Classical"
amarok:    I'm about to do Amarok::vfatPath( result ), this is result:  ""
amarok: END__: void AudioCdCollectionLocation::onFormatSelected(int) - Took 0.12s
amarok: BEGIN: virtual bool Meta::AudioCdAlbum::isCompilation() const
amarok: END__: virtual bool Meta::AudioCdAlbum::isCompilation() const - Took 0.00019s
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "Johann Sebastian Bach"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "Johann Sebastian Bach"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "Johann Sebastian Bach"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "Johann Sebastian Bach"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "Prelude & Fugue I In C (BWV 870)"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "1970"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "The Well-Tempered Clavier"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "Classical"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  ""
amarok: BEGIN: virtual bool Meta::AudioCdAlbum::isCompilation() const
amarok: END__: virtual bool Meta::AudioCdAlbum::isCompilation() const - Took 0.00015s
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "Johann Sebastian Bach"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "Johann Sebastian Bach"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "Johann Sebastian Bach"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "Johann Sebastian Bach"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "Prelude & Fugue I In C (BWV 870)"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "1970"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "The Well-Tempered Clavier"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  "Classical"
amarok:  I'm about to do Amarok::vfatPath( result ), this is result:  ""
ASSERT: "i >= 0 && i < size()" in file /usr/include/qt4/QtCore/qstring.h, line 685
Aborted (core dumped)
Comment 1 Mark Kretschmann 2009-10-23 11:10:26 UTC
Please try to get a backtrace. It should work this way:

gdb amarok --args nofork
run
[wait for crash]
thread apply all bt
Comment 2 Myriam Schweingruber 2009-10-23 17:06:19 UTC
Great, running it with gdb actually launched Dr. Konqi:

Application: Amarok (amarok), signal: Aborted
The current source language is "auto; currently c".
[Current thread is 1 (Thread 0x7ffff7e24770 (LWP 29283))]

Thread 12 (Thread 0x7fffe18c5910 (LWP 29284)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:220
#1  0x00007fffe4060c91 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fffef9c9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007ffff54637bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7fffdfb70910 (LWP 29285)):
#0  0x00007ffff5457373 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fffee0de36c in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fffee0de6b0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007ffff5b701fe in QEventDispatcherGlib::processEvents (this=0x938f40, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:329
#4  0x00007ffff5b46532 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007ffff5b46904 in QEventLoop::exec (this=0x7fffdfb6ffe0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007ffff5a5e6cb in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007fffe42bb56e in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#8  0x00007ffff5a61445 in QThreadPrivate::start (arg=0x938f00) at thread/qthread_unix.cpp:188
#9  0x00007fffef9c9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007ffff54637bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 10 (Thread 0x7fffdf165910 (LWP 29288)):
#0  0x00007ffff5457373 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=333) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fffdf16bcbe in ?? () from /usr/lib/xine/plugins/1.26/xineplug_ao_out_alsa.so
#2  0x00007fffef9c9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007ffff54637bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()
The current source language is "auto; currently c".

Thread 9 (Thread 0x7fffde964910 (LWP 29289)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fffe4071983 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fffef9c9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007ffff54637bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7fffddd58910 (LWP 29290)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fffe4071983 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fffef9c9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007ffff54637bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 7 (Thread 0x7fffdd557910 (LWP 29291)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fffe4071983 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fffef9c9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007ffff54637bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fffd7dc6910 (LWP 29293)):
#0  0x00007ffff545c3c2 in select () from /lib/libc.so.6
#1  0x00007fffe4089725 in xine_usec_sleep () from /usr/lib/libxine.so.1
#2  0x00007fffe406e7e9 in ?? () from /usr/lib/libxine.so.1
#3  0x00007fffef9c9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007ffff54637bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fffd1c76910 (LWP 29294)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007ffff5a624fb in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0xf92b30, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xf92b30, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007ffff2715326 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x167fc50, th=0xf65d60) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007ffff271745b in ThreadWeaver::WorkingHardState::applyForWork (this=0xe66470, th=0xf65d60) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007ffff2717474 in ThreadWeaver::WorkingHardState::applyForWork (this=0xe66470, th=0xf65d60) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007ffff2717474 in ThreadWeaver::WorkingHardState::applyForWork (this=0xe66470, th=0xf65d60) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007ffff2715a5f in ThreadWeaver::ThreadRunHelper::run (this=0x7fffd1c76030, parent=0x167fc50, th=0xf65d60) at ../../../threadweaver/Weaver/Thread.cpp:87
#8  0x00007ffff2715eb8 in ThreadWeaver::Thread::run (this=0xf65d60) at ../../../threadweaver/Weaver/Thread.cpp:142
#9  0x00007ffff5a61445 in QThreadPrivate::start (arg=0xf65d60) at thread/qthread_unix.cpp:188
#10 0x00007fffef9c9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007ffff54637bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()
The current source language is "auto; currently c".

Thread 4 (Thread 0x7fffd1475910 (LWP 29295)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007ffff5a624fb in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0xf92b30, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xf92b30, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007ffff2715326 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x167fc50, th=0x1726220) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007ffff271745b in ThreadWeaver::WorkingHardState::applyForWork (this=0xe66470, th=0x1726220) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007ffff2717474 in ThreadWeaver::WorkingHardState::applyForWork (this=0xe66470, th=0x1726220) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007ffff2717474 in ThreadWeaver::WorkingHardState::applyForWork (this=0xe66470, th=0x1726220) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007ffff2717474 in ThreadWeaver::WorkingHardState::applyForWork (this=0xe66470, th=0x1726220) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#8  0x00007ffff2715a5f in ThreadWeaver::ThreadRunHelper::run (this=0x7fffd1475030, parent=0x167fc50, th=0x1726220) at ../../../threadweaver/Weaver/Thread.cpp:87
#9  0x00007ffff2715eb8 in ThreadWeaver::Thread::run (this=0x1726220) at ../../../threadweaver/Weaver/Thread.cpp:142
#10 0x00007ffff5a61445 in QThreadPrivate::start (arg=0x1726220) at thread/qthread_unix.cpp:188
#11 0x00007fffef9c9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#12 0x00007ffff54637bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 3 (Thread 0x7fffd0c74910 (LWP 29300)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007ffff5a624fb in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0xf92b30, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xf92b30, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007ffff2715326 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x167fc50, th=0x1635790) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007ffff271745b in ThreadWeaver::WorkingHardState::applyForWork (this=0xe66470, th=0x1635790) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007ffff2717474 in ThreadWeaver::WorkingHardState::applyForWork (this=0xe66470, th=0x1635790) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007ffff2717474 in ThreadWeaver::WorkingHardState::applyForWork (this=0xe66470, th=0x1635790) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007ffff2717474 in ThreadWeaver::WorkingHardState::applyForWork (this=0xe66470, th=0x1635790) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#8  0x00007ffff2717474 in ThreadWeaver::WorkingHardState::applyForWork (this=0xe66470, th=0x1635790) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#9  0x00007ffff2715a5f in ThreadWeaver::ThreadRunHelper::run (this=0x7fffd0c74030, parent=0x167fc50, th=0x1635790) at ../../../threadweaver/Weaver/Thread.cpp:87
#10 0x00007ffff2715eb8 in ThreadWeaver::Thread::run (this=0x1635790) at ../../../threadweaver/Weaver/Thread.cpp:142
#11 0x00007ffff5a61445 in QThreadPrivate::start (arg=0x1635790) at thread/qthread_unix.cpp:188
#12 0x00007fffef9c9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#13 0x00007ffff54637bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#14 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fffd0003910 (LWP 29301)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007ffff5a624fb in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0xf92b30, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xf92b30, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007ffff2715326 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x167fc50, th=0x2883950) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007ffff271745b in ThreadWeaver::WorkingHardState::applyForWork (this=0xe66470, th=0x2883950) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007ffff2715a5f in ThreadWeaver::ThreadRunHelper::run (this=0x7fffd0003030, parent=0x167fc50, th=0x2883950) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007ffff2715eb8 in ThreadWeaver::Thread::run (this=0x2883950) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007ffff5a61445 in QThreadPrivate::start (arg=0x2883950) at thread/qthread_unix.cpp:188
#8  0x00007fffef9c9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007ffff54637bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffff7e24770 (LWP 29283)):
[KCrash Handler]
#5  0x00007ffff53b74b5 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007ffff53baf50 in *__GI_abort () at abort.c:92
#7  0x00007ffff5a59864 in qt_message_output (msgType=QtFatalMsg, buf=<value optimized out>) at global/qglobal.cpp:2042
#8  0x00007ffff5a599b6 in qFatal (msg=<value optimized out>) at global/qglobal.cpp:2241
#9  0x00007ffff7024894 in QString::at (this=0x7fffffff6510, i=8) at /usr/include/qt4/QtCore/qstring.h:685
#10 0x00007ffff7358066 in Amarok::QStringx::namedOptArgs (this=0x7fffffff64d0, args=...) at /home/myriam/kde/src/amarok/src/QStringx.h:148
#11 0x00007ffff735624e in OrganizeCollectionDialog::buildDestination (this=0x2dd2b00, format=..., track=...) at /home/myriam/kde/src/amarok/src/dialogs/OrganizeCollectionDialog.cpp:194
#12 0x00007ffff7356a9a in OrganizeCollectionDialog::preview (this=0x2dd2b00, format=...) at /home/myriam/kde/src/amarok/src/dialogs/OrganizeCollectionDialog.cpp:264
#13 0x00007ffff7356fd0 in OrganizeCollectionDialog::slotUpdatePreview (this=0x2dd2b00) at /home/myriam/kde/src/amarok/src/dialogs/OrganizeCollectionDialog.cpp:327
#14 0x00007ffff6fe1d31 in OrganizeCollectionDialog::qt_metacall (this=0x2dd2b00, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffffff6ad0)
    at /home/myriam/kde/build/amarok/src/moc_OrganizeCollectionDialog.cpp:77
#15 0x00007ffff5b5cddc in QMetaObject::activate (sender=0x2dd1e40, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=0xffffffffffffffff) at kernel/qobject.cpp:3113
#16 0x00007ffff6fe24ff in FilenameLayoutDialog::schemeChanged (this=0x2dd1e40) at /home/myriam/kde/build/amarok/src/moc_FilenameLayoutDialog.cpp:87
#17 0x00007ffff6fe248a in FilenameLayoutDialog::qt_metacall (this=0x2dd1e40, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffffff6c10)
    at /home/myriam/kde/build/amarok/src/moc_FilenameLayoutDialog.cpp:73
#18 0x00007ffff5b5cddc in QMetaObject::activate (sender=0x238d9d0, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=0xffffffffffffffff) at kernel/qobject.cpp:3113
#19 0x00007ffff6fe63cf in TokenDropTarget::changed (this=0x238d9d0) at /home/myriam/kde/build/amarok/src/moc_TokenDropTarget.cpp:90
#20 0x00007ffff73a6ff6 in TokenDropTarget::drop (this=0x238d9d0, token=0x4a6e7a0, pos=...) at /home/myriam/kde/src/amarok/src/widgets/TokenDropTarget.cpp:304
#21 0x00007ffff73a729c in TokenDropTarget::eventFilter (this=0x238d9d0, o=0x45057c0, ev=0x7fffffff71c0) at /home/myriam/kde/src/amarok/src/widgets/TokenDropTarget.cpp:343
#22 0x00007ffff5b46f47 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x45057c0, event=0x7fffffff71c0) at kernel/qcoreapplication.cpp:726
#23 0x00007ffff6467ecc in QApplicationPrivate::notify_helper (this=0x745d20, receiver=0x45057c0, e=0x7fffffff71c0) at kernel/qapplication.cpp:4052
#24 0x00007ffff646f6cd in QApplication::notify (this=<value optimized out>, receiver=0x45057c0, e=0x7fffffff71c0) at kernel/qapplication.cpp:4009
#25 0x00007ffff79e2ab6 in KApplication::notify (this=0x7fffffffc430, receiver=0x45057c0, event=0x7fffffff71c0) at ../../kdeui/kernel/kapplication.cpp:302
#26 0x00007ffff5b47c2c in QCoreApplication::notifyInternal (this=0x7fffffffc430, receiver=0x45057c0, event=0x7fffffff71c0) at kernel/qcoreapplication.cpp:610
#27 0x00007ffff64e21ca in QCoreApplication::sendEvent (this=<value optimized out>, xe=<value optimized out>, passive=<value optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#28 QX11Data::xdndHandleDrop (this=<value optimized out>, xe=<value optimized out>, passive=<value optimized out>) at kernel/qdnd_x11.cpp:1173
#29 0x00007ffff64e6b76 in QDragManager::drop (this=0x1e37e10) at kernel/qdnd_x11.cpp:1709
#30 0x00007ffff64e6d30 in QDragManager::eventFilter (this=0x1e37e10, o=<value optimized out>, e=<value optimized out>) at kernel/qdnd_x11.cpp:1302
#31 0x00007ffff5b4700b in QCoreApplicationPrivate::sendThroughApplicationEventFilters (this=0x745d20, receiver=0x4a1d100, event=0x7fffffff7950) at kernel/qcoreapplication.cpp:707
#32 0x00007ffff6467e76 in QApplicationPrivate::notify_helper (this=0x7263, receiver=0x7263, e=0x6) at kernel/qapplication.cpp:4031
#33 0x00007ffff646f011 in QApplication::notify (this=<value optimized out>, receiver=0x4a1d100, e=0x7fffffff7950) at kernel/qapplication.cpp:3758
#34 0x00007ffff79e2ab6 in KApplication::notify (this=0x7fffffffc430, receiver=0x4a1d100, event=0x7fffffff7950) at ../../kdeui/kernel/kapplication.cpp:302
#35 0x00007ffff5b47c2c in QCoreApplication::notifyInternal (this=0x7fffffffc430, receiver=0x4a1d100, event=0x7fffffff7950) at kernel/qcoreapplication.cpp:610
#36 0x00007ffff646e8e0 in QCoreApplication::sendSpontaneousEvent (receiver=0x4a1d100, event=0x7fffffff7950, alienWidget=0x0, nativeWidget=0x4a1d100, buttonDown=<value optimized out>, 
    lastMouseReceiver=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#37 QApplicationPrivate::sendMouseEvent (receiver=0x4a1d100, event=0x7fffffff7950, alienWidget=0x0, nativeWidget=0x4a1d100, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>)
    at kernel/qapplication.cpp:2924
#38 0x00007ffff64d4a0e in QETWidget::translateMouseEvent (this=0x4a1d100, event=<value optimized out>) at kernel/qapplication_x11.cpp:4409
#39 0x00007ffff64d3aa9 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fffffff9480) at kernel/qapplication_x11.cpp:3550
#40 0x00007ffff64fcd0c in x11EventSourceDispatch (s=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#41 0x00007fffee0dabbe in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#42 0x00007fffee0de588 in ?? () from /lib/libglib-2.0.so.0
#43 0x00007fffee0de6b0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#44 0x00007ffff5b701a6 in QEventDispatcherGlib::processEvents (this=0x61bb90, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#45 0x00007ffff64fc4be in QGuiEventDispatcherGlib::processEvents (this=0x7263, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#46 0x00007ffff5b46532 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#47 0x00007ffff5b46904 in QEventLoop::exec (this=0x2dd5db0, flags=) at kernel/qeventloop.cpp:201
#48 0x00007ffff64e667c in QDragManager::drag (this=0x1e37e10, o=<value optimized out>) at kernel/qdnd_x11.cpp:1969
#49 0x00007ffff647a168 in QDrag::exec (this=0x1e033b0, supportedActions=) at kernel/qdrag.cpp:282
#50 0x00007ffff73ba4c4 in TokenPool::performDrag (this=0x1234680, event=0x7fffffffa570) at /home/myriam/kde/src/amarok/src/widgets/TokenPool.cpp:184
#51 0x00007ffff73ba1a5 in TokenPool::mouseMoveEvent (this=0x1234680, event=0x7fffffffa570) at /home/myriam/kde/src/amarok/src/widgets/TokenPool.cpp:126
#52 0x00007ffff64b6822 in QWidget::event (this=0x1234680, event=0x7fffffffa570) at kernel/qwidget.cpp:7534
#53 0x00007ffff68122a6 in QFrame::event (this=0x1234680, e=0x7fffffffa570) at widgets/qframe.cpp:559
#54 0x00007ffff694521b in QAbstractItemView::viewportEvent (this=0x1234680, event=0x7fffffffa570) at itemviews/qabstractitemview.cpp:1476
#55 0x00007ffff5b46f47 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x4538490, event=0x7fffffffa570) at kernel/qcoreapplication.cpp:726
#56 0x00007ffff6467ecc in QApplicationPrivate::notify_helper (this=0x745d20, receiver=0x4538490, e=0x7fffffffa570) at kernel/qapplication.cpp:4052
#57 0x00007ffff646f011 in QApplication::notify (this=<value optimized out>, receiver=0x4538490, e=0x7fffffffa570) at kernel/qapplication.cpp:3758
#58 0x00007ffff79e2ab6 in KApplication::notify (this=0x7fffffffc430, receiver=0x4538490, event=0x7fffffffa570) at ../../kdeui/kernel/kapplication.cpp:302
#59 0x00007ffff5b47c2c in QCoreApplication::notifyInternal (this=0x7fffffffc430, receiver=0x4538490, event=0x7fffffffa570) at kernel/qcoreapplication.cpp:610
#60 0x00007ffff646e8e0 in QCoreApplication::sendSpontaneousEvent (receiver=0x4538490, event=0x7fffffffa570, alienWidget=0x4538490, nativeWidget=0x2dd2b00, buttonDown=<value optimized out>, 
    lastMouseReceiver=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#61 QApplicationPrivate::sendMouseEvent (receiver=0x4538490, event=0x7fffffffa570, alienWidget=0x4538490, nativeWidget=0x2dd2b00, buttonDown=<value optimized out>, 
    lastMouseReceiver=<value optimized out>) at kernel/qapplication.cpp:2924
#62 0x00007ffff64d4a0e in QETWidget::translateMouseEvent (this=0x2dd2b00, event=<value optimized out>) at kernel/qapplication_x11.cpp:4409
#63 0x00007ffff64d3aa9 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fffffffc0a0) at kernel/qapplication_x11.cpp:3550
#64 0x00007ffff64fcd0c in x11EventSourceDispatch (s=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#65 0x00007fffee0dabbe in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#66 0x00007fffee0de588 in ?? () from /lib/libglib-2.0.so.0
#67 0x00007fffee0de6b0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#68 0x00007ffff5b701a6 in QEventDispatcherGlib::processEvents (this=0x61bb90, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#69 0x00007ffff64fc4be in QGuiEventDispatcherGlib::processEvents (this=0x7263, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#70 0x00007ffff5b46532 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#71 0x00007ffff5b46904 in QEventLoop::exec (this=0x7fffffffc3d0, flags=) at kernel/qeventloop.cpp:201
#72 0x00007ffff5b48ab9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#73 0x0000000000406d60 in main (argc=1, argv=0x7fffffffe228) at /home/myriam/kde/src/amarok/src/main.cpp:227
The current source language is "auto; currently c".
Comment 3 Mark Kretschmann 2009-10-23 17:43:08 UTC
The crash seems to be in our QStringX::nameOptArgs() function, with an out-of-bounds index access of QString::at().
Comment 4 Daniel Dewald 2009-10-27 13:55:45 UTC
*** Bug 212015 has been marked as a duplicate of this bug. ***
Comment 5 Mark Kretschmann 2009-11-22 14:49:49 UTC
Fixed by Martin Aumueller (thanks!):


Author: Martin Aumüller <aumuell@reserv.at>
Date:   Sun Nov 22 14:31:01 2009 +0100

    remove surrounding braces before their position is invalidated by the string modification
    BUG: 211518