FS#25060 - [ardour] redland-1:1.0.13-4 causes segfault
Attached to Project:
Arch Linux
Opened by Gary Hollis (ghollisjr) - Thursday, 07 July 2011, 22:00 GMT
Last edited by Ray Rashif (schivmeister) - Thursday, 14 July 2011, 23:59 GMT
Opened by Gary Hollis (ghollisjr) - Thursday, 07 July 2011, 22:00 GMT
Last edited by Ray Rashif (schivmeister) - Thursday, 14 July 2011, 23:59 GMT
|
Details
Description:
Ardour segfaults on startup when using this redland library (see temporary fix below). Additional info: * package version(s): redland-1:1.0.13-4 ardour-2.8.11-3 Example of program session: $ ardour2 Ardour 2.8.11 (built using 7387 and GCC version 4.5.2 20110127 (prerelease)) Copyright (C) 1999-2008 Paul Davis Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel Baker Ardour comes with ABSOLUTELY NO WARRANTY not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This is free software, and you are welcome to redistribute it under certain conditions; see the source for copying conditions. loading default ui configuration file /etc/ardour2/ardour2_ui_default.conf loading user ui configuration file /home/ghollisjr/.ardour2/ardour2_ui.conf Loading ui configuration file /etc/ardour2/ardour2_ui_dark.rc theme_init() called from internal clearlooks engine ardour: [INFO]: Ardour will be limited to 1024 open files loading system configuration file /etc/ardour2/ardour_system.rc loading user configuration file /home/ghollisjr/.ardour2/ardour.rc ardour: [INFO]: No H/W specific optimizations in use raptor_sequence.c:385: (raptor_sequence_get_at) assertion failed: object pointer of type raptor_sequence is NULL. raptor_sequence.c:385: (raptor_sequence_get_at) assertion failed: object pointer of type raptor_sequence is NULL. Segmentation fault Steps to reproduce: Run ardour2 as above; this is the only program I use regularly which uses the redland libraries. Temporary Fix: I've found that downgrading to redland-1:1.0.12-1, rasqal-1:0.9.21-1, and db-5.1.25-1 stops the segfault from occurring. |
This task depends upon
Closed by Ray Rashif (schivmeister)
Thursday, 14 July 2011, 23:59 GMT
Reason for closing: Fixed
Additional comments about closing: Please test -5 in [testing]
Thursday, 14 July 2011, 23:59 GMT
Reason for closing: Fixed
Additional comments about closing: Please test -5 in [testing]
the needs more fixes for the rdf changes. maybe
FS#25005can help here, not sure if slv2 also needs additional fixes.Andrea, can you please have a look?
I know to an extent for output like this it is usually just the redland/raptor/rasqal stuff that needs to be fixed - slv2 should not need ammendments. But that's for later to figure out.
I am also taking a look at replacing slv2 and the redland functionality for it with a different suite of implementations [1].
[1] http://drobilla.net/2011/05/25/new-lv2-host-implementation-stack/
ardour->liblrdf->raptor1 is not an issue, as long as raptor1 exists. This is because ardour is hardcoded for raptor1. Even if this resolves and ardour is patched for raptor2, we would still have the ardour->slv2->redland->rasqal->raptor problem, explained below.
What cannot be solved now, unfortunately, is the rasqal issue [1]. Ardour needs an older rasqal (before the API/ABI change), and an older rasqal requires an older raptor, and is supported by an older redland, which probably also requires an older db.
Three things we can do with immediate effect:
1. Provide or bring back compatibility packages for rasqal (rasqal-compat?) and (in turn) redland, db
2. Remove SLV2 support for an indefinite period (since we don't know when this would be fixed)
3. Drop ardour
Opinions, please.
[1] https://ardour.org/node/4301
2. I don't know ardour software at all. If it doesn't make it unusable this sounds to be the best option.
3. only if 2nd option is not helpful.
1. In package liblrdf: apply patch from https://bugs.archlinux.org/task/25005 and rebuild with raptor2
2. In package ardour2: add "export LD_PRELOAD=/usr/lib/liblrdf.so.2.0.0" to the beginning of runner script /usr/bin/ardour2
For me it works this way.
The proper libraries are linked but the redland stuff cannot find raptor.h - shouldn't that be fixed by now?
It looks like every single reference to raptor.h needs to be replaced by raptor2/(raptor|raptor2).h (don't know which would be correct). I tried raptor2/raptor2.h for the few files that are affected, and it appeared to build (and run as well!), but I don't know if I'm taking the right approach. If I am, then we'll need to go patch more packages and let upstream redland know.
Here are the reproduction steps:
1. install raptor(2)-patched liblrdf
2. uninstall raptor1 *
3. apply gcc46.patch
4. apply attached patch
5. run scons SYSLIBS=1
Could someone please have a look?
* We have to completely drop (any kind of support for) raptor1, because if it exists alongside raptor2 (and yes it can), redland _will_ bail. This means getting rawstudio patched (here or upstream) for raptor2. You can verify this by running scons with and without raptor1 installed.
FS#25090andFS#25005would hopefully allow us to solve this and bring back ardour to its previous state and functionality, aside from using SYSLIBS and patching for raptor2.NOT a problem with redland/rasqal/raptor headers. Solving for the missing -I/usr/include/raptor2 would fix this. That needs to be in either slv2's pkg-config file or ardour's buildsystem. I'll see where it's more appropriate.
edit: It is indeed slv2. Stupid me, a simple rebuild was all that was needed.