[recent akode KDE_3_4_BRANCH] akodePlayObject_impl crash

Michael Buesch mbuesch at freenet.de
Sun Mar 13 13:51:17 GMT 2005


Hi,

  *** Please Cc me on replies, as I'm not subscribed to kde-multimedia.
  *** Thanks.


I frequently get an artsd crash with amarok.
Three backtraces are attached to this email.

artsd is crashing in the akode plugin.
The backtraces say:
#8  0xb76302d8 in akodePlayObject_impl::unload (this=0xb6410d78)
    at akodePlayObject_impl.cpp:228

Here's the code. Line 228 is marked.

void akodePlayObject_impl::unload()
{
    arts_debug("akode: unload");
    if (m_bytebuffer) m_bytebuffer->release();
    delete decoder;
    decoder = 0;
#ifndef AKODEARTS_SINGLETHREADED
    delete streamDecoder;      // <================= 228
    delete frameDecoder;
    delete audioBuffer;
    streamDecoder = 0;
    frameDecoder = 0;
    audioBuffer = 0;
#endif
    if (buffer != inBuffer)
        delete inBuffer;
    delete buffer;
    inBuffer = buffer = 0;
    buf_pos = 0;

    delete resampler;
    resampler = 0;
    delete source;
    source = 0;
#ifndef AKODEARTS_SINGLETHREADED
    delete m_bytebuffer;
    m_bytebuffer = 0;
#endif
}

I don't see, why this crashes, because I don't know the
code. But can it be related to the deletion order
of "decoder", "streamDecoder", "frameDecoder", "audioBuffer".
Is some race possible here?

-- 
Regards Michael Buesch  [ http://www.tuxsoft.de.vu ]


-------------- next part --------------
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1216723280 (LWP 3242)]
[KCrash handler]
#7  0x00000011 in ?? ()
#8  0xb76302d8 in akodePlayObject_impl::unload (this=0xb6c3d780)
    at akodePlayObject_impl.cpp:228
#9  0xb7630af6 in ~akodePlayObject_impl (this=0xb6c3d780, 
    __vtt_parm=0xb6c2fc88) at akodePlayObject_impl.cpp:89
#10 0xb7635961 in ~akodeMPEGPlayObject_impl (this=0xb6c3d780)
    at akodeMPEGPlayObject_impl.cpp:28
#11 0xb7c23656 in Arts::Object_base::_destroy (this=0xb6c3d7f0)
    at object.cc:357
#12 0xb7c23974 in Arts::Object_skel::_release (this=0xb6c2dcb8)
    at object.cc:599
#13 0xb7c1bf32 in Arts::Dispatcher::handle (this=0xbfffe160, conn=0x80e1c58, 
    buffer=0xb6c0d798, messageType=-1228735352) at dispatcher.cc:561
#14 0xb7bf70eb in Arts::Connection::receive (this=0x80e1c58, 
    newdata=0xb6c0d798 "\030", newlen=-1228885560) at connection.cc:168
#15 0xb7c2c596 in Arts::SocketConnection::notifyIO (this=0x80e1c58, _fd=9, 
    types=1) at socketconnection.cc:139
#16 0xb7c22a42 in Arts::StdIOManager::processOneEvent (this=0x8075560, 
    blocking=true) at iomanager.cc:308
#17 0xb7c1fac4 in Arts::Dispatcher::waitForResult (this=0xbfffe160, 
    requestID=31, connection=0x80e1c58) at dispatcher.cc:462
#18 0xb7c23d27 in Arts::Object_stub::_lookupMethod (this=0xb6c3333c, 
    methodDef=@0xbfffda10) at object.cc:1291
#19 0xb7c25d3a in Arts::Object_stub::_lookupMethodFast (this=0xb6c3333c, 
    method=0xb7dbd2dc "method:0000000a73747265616d456e640000000005766f69640000000002", '0' <repeats 16 times>) at object.cc:1315
#20 0xb7d9269f in Arts::SynthModule_stub::streamEnd (this=0xb6c33338)
    at artsflow.cc:197
#21 0xb763367c in Arts_InputStream::close (this=0xb6c33048) at kmedia2.h:1202
#22 0xb6d1fccd in ~MPEGDecoder (this=0xb6c0dda0) at mpeg_decoder.cpp:141
#23 0xb76302cb in akodePlayObject_impl::unload (this=0xb6c3d780)
    at akodePlayObject_impl.cpp:229
#24 0xb76303a0 in akodePlayObject_impl::halt (this=0xb6c3d780)
    at akodePlayObject_impl.cpp:218
#25 0xb76316fd in akodePlayObject_impl::readFrame (this=0xb6c3d780)
    at akodePlayObject_impl.cpp:321
#26 0xb7631a95 in akodePlayObject_impl::calculateBlock (this=0xb6c3d780, 
    cnt=512) at akodePlayObject_impl.cpp:391
#27 0xb7e4cb2a in Arts::StdScheduleNode::gslProcess (module=0xb6c4bbf8, 
    n_values=3066092288) at gslschedule.cc:405
#28 0xb7ec0862 in master_process_locked_node (node=0xb6c4bbf8, 
    n_values=3066231944) at gslopmaster.c:497
#29 0xb7ec1cd9 in _engine_master_dispatch () at gslopmaster.c:539
#30 0xb7ebe72e in gsl_engine_dispatch () at gslengine.c:726
#31 0xb7e4f061 in Arts::StdScheduleNode::requireFlow (this=0xb6c0db00)
    at gslschedule.cc:88
#32 0xb7e4bdd8 in Arts::Synth_PLAY_impl::needMore (this=0xb6c0db00)
    at synth_play_impl.cc:277
#33 0xb7e55a4a in Arts::AudioSubSystem::handleIO (this=0x807aff0, type=2)
    at audiosubsys.cc:455
#34 0xb7e7716b in Arts::AudioIOALSA::notifyIO (this=0x8076f38, fd=10, type=2)
    at audioioalsa9.cc:475
#35 0xb7c22a42 in Arts::StdIOManager::processOneEvent (this=0x8075560, 
    blocking=true) at iomanager.cc:308
#36 0xb7c213ce in Arts::StdIOManager::run (this=0x8075560) at iomanager.cc:357
#37 0xb7c191ab in Arts::Dispatcher::run (this=0xb6c0db00) at dispatcher.cc:955
#38 0x0806153f in main (argc=14, argv=0xbfffe2f4) at artsd.cc:360
-------------- next part --------------
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1216723280 (LWP 10792)]
[KCrash handler]
#7  0x00000011 in ?? ()
#8  0xb76302d8 in akodePlayObject_impl::unload (this=0xb60015d8)
    at akodePlayObject_impl.cpp:228
#9  0xb7630af6 in ~akodePlayObject_impl (this=0xb60015d8, 
    __vtt_parm=0xb6009f28) at akodePlayObject_impl.cpp:89
#10 0xb7635961 in ~akodeMPEGPlayObject_impl (this=0xb60015d8)
    at akodeMPEGPlayObject_impl.cpp:28
#11 0xb7c23656 in Arts::Object_base::_destroy (this=0xb6001648)
    at object.cc:357
#12 0xb7c23974 in Arts::Object_skel::_release (this=0xb6001530)
    at object.cc:599
#13 0xb7c1bf32 in Arts::Dispatcher::handle (this=0xbfffe260, conn=0x80d97a8, 
    buffer=0xb6011148, messageType=-1241473240) at dispatcher.cc:561
#14 0xb7bf70eb in Arts::Connection::receive (this=0x80d97a8, 
    newdata=0xb6011148 "\030", newlen=-1241362088) at connection.cc:168
#15 0xb7c2c596 in Arts::SocketConnection::notifyIO (this=0x80d97a8, _fd=9, 
    types=1) at socketconnection.cc:139
#16 0xb7c22a42 in Arts::StdIOManager::processOneEvent (this=0x8075560, 
    blocking=true) at iomanager.cc:308
#17 0xb7c1fac4 in Arts::Dispatcher::waitForResult (this=0xbfffe260, 
    requestID=31, connection=0x80d97a8) at dispatcher.cc:462
#18 0xb7c23d27 in Arts::Object_stub::_lookupMethod (this=0xb6010e2c, 
    methodDef=@0xbfffdb10) at object.cc:1291
#19 0xb7c25d3a in Arts::Object_stub::_lookupMethodFast (this=0xb6010e2c, 
    method=0xb7dbd2dc "method:0000000a73747265616d456e640000000005766f69640000000002", '0' <repeats 16 times>) at object.cc:1315
#20 0xb7d9269f in Arts::SynthModule_stub::streamEnd (this=0xb6010e28)
    at artsflow.cc:197
#21 0xb763367c in Arts_InputStream::close (this=0xb6000fc0) at kmedia2.h:1202
#22 0xb61e0ccd in ~MPEGDecoder (this=0xb6011050) at mpeg_decoder.cpp:141
#23 0xb76302cb in akodePlayObject_impl::unload (this=0xb60015d8)
    at akodePlayObject_impl.cpp:229
#24 0xb76303a0 in akodePlayObject_impl::halt (this=0xb60015d8)
    at akodePlayObject_impl.cpp:218
#25 0xb76316fd in akodePlayObject_impl::readFrame (this=0xb60015d8)
    at akodePlayObject_impl.cpp:321
#26 0xb7631a95 in akodePlayObject_impl::calculateBlock (this=0xb60015d8, 
    cnt=512) at akodePlayObject_impl.cpp:391
#27 0xb7e4cb2a in Arts::StdScheduleNode::gslProcess (module=0x80f3b58, 
    n_values=3053460784) at gslschedule.cc:405
#28 0xb7ec0862 in master_process_locked_node (node=0x80f3b58, 
    n_values=3053494056) at gslopmaster.c:497
#29 0xb7ec1cd9 in _engine_master_dispatch () at gslopmaster.c:539
#30 0xb7ebe72e in gsl_engine_dispatch () at gslengine.c:726
#31 0xb7e4f061 in Arts::StdScheduleNode::requireFlow (this=0xb6001d30)
    at gslschedule.cc:88
#32 0xb7e4bdd8 in Arts::Synth_PLAY_impl::needMore (this=0xb6001d30)
    at synth_play_impl.cc:277
#33 0xb7e55a4a in Arts::AudioSubSystem::handleIO (this=0x807aff0, type=2)
    at audiosubsys.cc:455
#34 0xb7e7716b in Arts::AudioIOALSA::notifyIO (this=0x8076f38, fd=10, type=2)
    at audioioalsa9.cc:475
#35 0xb7c22a42 in Arts::StdIOManager::processOneEvent (this=0x8075560, 
    blocking=true) at iomanager.cc:308
#36 0xb7c213ce in Arts::StdIOManager::run (this=0x8075560) at iomanager.cc:357
#37 0xb7c191ab in Arts::Dispatcher::run (this=0xb6001d30) at dispatcher.cc:955
#38 0x0806153f in main (argc=14, argv=0xbfffe3f4) at artsd.cc:360
-------------- next part --------------
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1216723280 (LWP 3238)]
[New Thread -1218757712 (LWP 4135)]
[Thread debugging using libthread_db enabled]
[New Thread -1216723280 (LWP 3238)]
[New Thread -1218757712 (LWP 4135)]
[Thread debugging using libthread_db enabled]
[New Thread -1216723280 (LWP 3238)]
[New Thread -1218757712 (LWP 4135)]
[KCrash handler]
#7  0x00000011 in ?? ()
#8  0xb76302d8 in akodePlayObject_impl::unload (this=0xb6410d78)
    at akodePlayObject_impl.cpp:228
#9  0xb7630af6 in ~akodePlayObject_impl (this=0xb6410d78, 
    __vtt_parm=0xb6495bb0) at akodePlayObject_impl.cpp:89
#10 0xb7635961 in ~akodeMPEGPlayObject_impl (this=0xb6410d78)
    at akodeMPEGPlayObject_impl.cpp:28
#11 0xb7c23656 in Arts::Object_base::_destroy (this=0xb6410de8)
    at object.cc:357
#12 0xb7c23974 in Arts::Object_skel::_release (this=0xb640f790)
    at object.cc:599
#13 0xb7c1bf32 in Arts::Dispatcher::handle (this=0xbfffe360, conn=0x80e1c58, 
    buffer=0xb6470450, messageType=-1236706384) at dispatcher.cc:561
#14 0xb7bf70eb in Arts::Connection::receive (this=0x80e1c58, 
    newdata=0xb6470450 "\030", newlen=-1236844184) at connection.cc:168
#15 0xb7c2c596 in Arts::SocketConnection::notifyIO (this=0x80e1c58, _fd=9, 
    types=1) at socketconnection.cc:139
#16 0xb7c22a42 in Arts::StdIOManager::processOneEvent (this=0x8075560, 
    blocking=true) at iomanager.cc:308
#17 0xb7c1fac4 in Arts::Dispatcher::waitForResult (this=0xbfffe360, 
    requestID=31, connection=0x80e1c58) at dispatcher.cc:462
#18 0xb7c23d27 in Arts::Object_stub::_lookupMethod (this=0xb642a0fc, 
    methodDef=@0xbfffdc10) at object.cc:1291
#19 0xb7c25d3a in Arts::Object_stub::_lookupMethodFast (this=0xb642a0fc, 
    method=0xb7dbd2dc "method:0000000a73747265616d456e640000000005766f69640000000002", '0' <repeats 16 times>) at object.cc:1315
#20 0xb7d9269f in Arts::SynthModule_stub::streamEnd (this=0xb642a0f8)
    at artsflow.cc:197
#21 0xb763367c in Arts_InputStream::close (this=0xb64883d0) at kmedia2.h:1202
#22 0xb65afccd in ~MPEGDecoder (this=0xb6429b40) at mpeg_decoder.cpp:141
#23 0xb76302cb in akodePlayObject_impl::unload (this=0xb6410d78)
    at akodePlayObject_impl.cpp:229
#24 0xb76303a0 in akodePlayObject_impl::halt (this=0xb6410d78)
    at akodePlayObject_impl.cpp:218
#25 0xb76316fd in akodePlayObject_impl::readFrame (this=0xb6410d78)
    at akodePlayObject_impl.cpp:321
#26 0xb7631a95 in akodePlayObject_impl::calculateBlock (this=0xb6410d78, 
    cnt=512) at akodePlayObject_impl.cpp:391
#27 0xb7e4cb2a in Arts::StdScheduleNode::gslProcess (module=0x80f2988, 
    n_values=3057819608) at gslschedule.cc:405
#28 0xb7ec0862 in master_process_locked_node (node=0x80f2988, 
    n_values=3058260912) at gslopmaster.c:497
#29 0xb7ec1cd9 in _engine_master_dispatch () at gslopmaster.c:539
#30 0xb7ebe72e in gsl_engine_dispatch () at gslengine.c:726
#31 0xb7e4f061 in Arts::StdScheduleNode::requireFlow (this=0xb6429fd8)
    at gslschedule.cc:88
#32 0xb7e4bdd8 in Arts::Synth_PLAY_impl::needMore (this=0xb6429fd8)
    at synth_play_impl.cc:277
#33 0xb7e55a4a in Arts::AudioSubSystem::handleIO (this=0x807aff0, type=2)
    at audiosubsys.cc:455
#34 0xb7e7716b in Arts::AudioIOALSA::notifyIO (this=0x8076f38, fd=10, type=2)
    at audioioalsa9.cc:475
#35 0xb7c22a42 in Arts::StdIOManager::processOneEvent (this=0x8075560, 
    blocking=true) at iomanager.cc:308
#36 0xb7c213ce in Arts::StdIOManager::run (this=0x8075560) at iomanager.cc:357
#37 0xb7c191ab in Arts::Dispatcher::run (this=0xb6429fd8) at dispatcher.cc:955
#38 0x0806153f in main (argc=14, argv=0xbfffe4f4) at artsd.cc:360
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-multimedia/attachments/20050313/615456d5/attachment.sig>
-------------- next part --------------
_______________________________________________
kde-multimedia mailing list
kde-multimedia at kde.org
https://mail.kde.org/mailman/listinfo/kde-multimedia


More information about the kde-multimedia mailing list