[kde-freebsd] 9-CURRENT (r197801) && artsd of kde-3.5.10_2 gives SIGSEGV
Tijl Coosemans
tijl at fastmail.fm
Fri Oct 23 19:19:30 CEST 2009
On Wednesday 14 October 2009 08:32:21 Matthias Apitz wrote:
> I'm willing to nail this small issue down. I've already compiled the
> arts-1.5.10_2,1 port with --enable-debug=full and will test it the
> upcoming weekend. Do you have any hints for me on debugging?
> I have had already a look into the code where it crashes in
> soundserver/kmedia2.cc:
>
> ...
> unsigned long Arts::PlayObject_private_base::_IID = Arts::MCOPUtils::makeIID("Arts::PlayObject_private");
>
> Arts::PlayObject_base *Arts::PlayObject_base::_create(const std::string& subClass)
> {
> Arts::Object_skel *skel = Arts::ObjectManager::the()->create(subClass);
This probably returns NULL.
> assert(skel);
This is a nop if you compiled with -DNDEBUG.
> Arts::PlayObject_base *castedObject = (Arts::PlayObject_base *)skel->_cast(Arts::PlayObject_base::_IID);
This causes a SIGSEGV if skel == NULL.
> assert(castedObject);
> return castedObject;
> }
So you could put a breakpoint on Arts::ObjectManager::create and step
through that to see where it goes wrong.
Before you do that, maybe running artsd in a terminal prints out some
interesting messages. Something like:
(terminal 1) $ artsd -l 0
(terminal 2) $ artsplay /path/to/somefile.ogg
More information about the kde-freebsd
mailing list