Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Oct 2009 19:19:30 +0200
From:      Tijl Coosemans <tijl@fastmail.fm>
To:        freebsd-current@freebsd.org, Matthias Apitz <guru@unixarea.de>
Cc:        kde-freebsd@kde.org
Subject:   Re: [kde-freebsd] 9-CURRENT (r197801) && artsd of kde-3.5.10_2 gives SIGSEGV
Message-ID:  <200910231919.31536.tijl@fastmail.fm>
In-Reply-To: <20091014063221.GA2301@current.Sisis.de>
References:  <20091011062419.GA2168@current.Sisis.de> <20091013153815.GA88394@bsdcrew.de> <20091014063221.GA2301@current.Sisis.de>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910231919.31536.tijl>