[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