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>
