Bug#613411: More info

2011-02-21 Thread Julien Cristau
On Tue, Feb 15, 2011 at 08:10:52 -0800, Dave Beckett wrote:

> The desc should never be NULL since it's running through a list from raptor,
> and the final one is to get the default parser.  The only way this can
> happen is if raptor wasn't initialised properly, which is my guess here.  I
> suspect ardour is linking to raptor1 and raptor2, and thus crashing.
> 
I don't know the impact there, but this may also be a problem with
redland-bindings (librdf-perl, librdf-ruby, php5-librdf, python-librdf),
slv2 (libslv2-9, slv2-jack), soprano (soprano-daemon) in sid, which
depend on both librdf0 and libraptor1.

Cheers,
Julien



___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-multimedia-maintainers


Bug#613411: More info

2011-02-15 Thread Dave Beckett
On 2/15/11 7:21 AM, Adrian Knoth wrote:
> Hi!
> 
> I've built a debug version of librdf and found the following code:
> 
> librdf_parser_raptor_constructor (world=0x877e5a0) at
> rdf_parser_raptor.c:1328
> 1328syntax_name = desc->names[0];
> (gdb) bt
> #0  librdf_parser_raptor_constructor (world=0x877e5a0)
> at rdf_parser_raptor.c:1328
> #1  0xb65b27bd in librdf_init_parser (world=0x877e5a0) at rdf_parser.c:55
> #2  0xb65a3ca5 in librdf_world_open (world=0x877e5a0) at rdf_init.c:303
> #3  0xb64e739c in slv2_world_new () from /usr/lib/libslv2.so.9
> #4  0xb7f6b3a9 in ARDOUR::LV2World::LV2World() ()
>from /usr/lib/ardour2/libardour.so
> #5  0xb7eaefd4 in ARDOUR::PluginManager::PluginManager() ()
>from /usr/lib/ardour2/libardour.so
> #6  0xb7e5a184 in ARDOUR::init(bool, bool) ()
>from /usr/lib/ardour2/libardour.so
> #7  0x08165255 in ARDOUR_UI::ARDOUR_UI(int*, char***) ()
> #8  0x08392e5b in main ()
> (gdb) frame 0
> #0  librdf_parser_raptor_constructor (world=0x877e5a0)
> at rdf_parser_raptor.c:1328
> 1328syntax_name = desc->names[0];
> (gdb) list
> 1323if(!desc) {
> 1324  /* reached the end of the parsers, now register the
> default one */
> 1325  i = 0;
> 1326  desc =
> raptor_world_get_parser_description(world->raptor_world_ptr, i);
> 1327}
> 1328syntax_name = desc->names[0];
> 1329syntax_label = desc->label;
> 1330if(desc->mime_types)
> 1331  mime_type = desc->mime_types[0].mime_type;
> 1332if(desc->uri_strings)
> (gdb) p desc
> $1 = (const raptor_syntax_description *) 0x0
> 
> 
> This code has been added after librdf0-1.0.10 for librdf-1.0.11.
> Obviously, description is NULL, and dereferencing it causes the
> segfault.
> 
> I wonder if raptor_world_get_parser_description should have returned
> something different. I cannot judge if it's something big or if a simple
> NULL pointer check  in librdf_parser_raptor_constructor would be enough,
> maybe also using the old code from 1.0.10 in case of desc==NULL.

The desc should never be NULL since it's running through a list from raptor,
and the final one is to get the default parser.  The only way this can
happen is if raptor wasn't initialised properly, which is my guess here.  I
suspect ardour is linking to raptor1 and raptor2, and thus crashing.


> Dajobe, I guess we could use your input here. ;)
> 
> JFTR, this is the initialization code in libslv2:
> 
> SLV2World
> slv2_world_new()
> {
>   SLV2World world = (SLV2World)malloc(sizeof(struct _SLV2World));
> 
>   world->world = librdf_new_world();
>   if (!world->world) {
>   free(world);
>   return NULL;
>   }
> 
>   world->local_world = true;
> 
>   librdf_world_open(world->world);
> 
>   return slv2_world_new_internal(world);
> }
> 
> 
> Cheers
> 




___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-multimedia-maintainers


Bug#613411: More info

2011-02-15 Thread Adrian Knoth
Hi!

I've built a debug version of librdf and found the following code:

librdf_parser_raptor_constructor (world=0x877e5a0) at
rdf_parser_raptor.c:1328
1328syntax_name = desc->names[0];
(gdb) bt
#0  librdf_parser_raptor_constructor (world=0x877e5a0)
at rdf_parser_raptor.c:1328
#1  0xb65b27bd in librdf_init_parser (world=0x877e5a0) at rdf_parser.c:55
#2  0xb65a3ca5 in librdf_world_open (world=0x877e5a0) at rdf_init.c:303
#3  0xb64e739c in slv2_world_new () from /usr/lib/libslv2.so.9
#4  0xb7f6b3a9 in ARDOUR::LV2World::LV2World() ()
   from /usr/lib/ardour2/libardour.so
#5  0xb7eaefd4 in ARDOUR::PluginManager::PluginManager() ()
   from /usr/lib/ardour2/libardour.so
#6  0xb7e5a184 in ARDOUR::init(bool, bool) ()
   from /usr/lib/ardour2/libardour.so
#7  0x08165255 in ARDOUR_UI::ARDOUR_UI(int*, char***) ()
#8  0x08392e5b in main ()
(gdb) frame 0
#0  librdf_parser_raptor_constructor (world=0x877e5a0)
at rdf_parser_raptor.c:1328
1328syntax_name = desc->names[0];
(gdb) list
1323if(!desc) {
1324  /* reached the end of the parsers, now register the
default one */
1325  i = 0;
1326  desc =
raptor_world_get_parser_description(world->raptor_world_ptr, i);
1327}
1328syntax_name = desc->names[0];
1329syntax_label = desc->label;
1330if(desc->mime_types)
1331  mime_type = desc->mime_types[0].mime_type;
1332if(desc->uri_strings)
(gdb) p desc
$1 = (const raptor_syntax_description *) 0x0


This code has been added after librdf0-1.0.10 for librdf-1.0.11.
Obviously, description is NULL, and dereferencing it causes the
segfault.

I wonder if raptor_world_get_parser_description should have returned
something different. I cannot judge if it's something big or if a simple
NULL pointer check  in librdf_parser_raptor_constructor would be enough,
maybe also using the old code from 1.0.10 in case of desc==NULL.

Dajobe, I guess we could use your input here. ;)

JFTR, this is the initialization code in libslv2:

SLV2World
slv2_world_new()
{
SLV2World world = (SLV2World)malloc(sizeof(struct _SLV2World));

world->world = librdf_new_world();
if (!world->world) {
free(world);
return NULL;
}

world->local_world = true;

librdf_world_open(world->world);

return slv2_world_new_internal(world);
}


Cheers



___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-multimedia-maintainers