Re: [Tracker] tracker-extract goes south



On 27 June 2013 19:23, Ralph Böhme <rb netafp com> wrote:
Hey Martyn,

Am 27.06.2013 um 19:10 schrieb Martyn Russell <martyn lanedo com>:

> On 27/06/13 16:54, Ralph Böhme wrote:
>> Hi
>
> Hello Ralph,
>
>> after a long and struggling journey I managed to get Tracker 0.15
>> mostly up and running with OpenCSW for Solaris [1]. The package still
>> uses 0.15.2 because 0.16 depend on a newer glib package not available
>> yet in OpenCSW.
>>
>> Now, for some reason tracker-extract keeps crashing when fired via
>> dbus or when launched manually. In order to preclude a faulty extract
>> module causing this, I removed all but the text extract module:
>>
>> $ pwd /opt/csw/lib/tracker-0.16/extract-modules $ ls bak
>> libextract-text.so $ sudo rm -f /var/cores/* $
>>
>> # /opt/csw/libexec/tracker-extract --verbosity=3
>> --file=/Volumes/test/test.txt Initializing tracker-extract...
>>
>> Tracker-Message: Setting up monitor for changes to config
>> file:'/root/.config/tracker/tracker-extract.cfg' Locale
>> 'TRACKER_LOCALE_LANGUAGE' was set to 'de_DE.UTF-8' Locale
>> 'TRACKER_LOCALE_TIME' was set to 'de_DE.UTF-8' Locale
>> 'TRACKER_LOCALE_COLLATE' was set to 'de_DE.UTF-8' Locale
>> 'TRACKER_LOCALE_NUMERIC' was set to 'de_DE.UTF-8' Locale
>> 'TRACKER_LOCALE_MONETARY' was set to 'de_DE.UTF-8' Initializing
>> Storage... Mount monitors set up for to watch for added, removed and
>> pre-unmounts... No mounts found to iterate Setting priority nice
>> level to 19 Loading extractor rules...
>> (/opt/csw/share/tracker/extract-rules) Loaded rule '10-abw.rule'
>> Loaded rule '10-dvi.rule' Loaded rule '10-epub.rule' Loaded rule
>> '10-html.rule' Loaded rule '10-ico.rule' Loaded rule '10-jpeg.rule'
>> Loaded rule '10-mp3.rule' Loaded rule '10-msoffice.rule' Loaded rule
>> '10-oasis.rule' Loaded rule '10-pdf.rule' Loaded rule '10-png.rule'
>> Loaded rule '10-ps.rule' Loaded rule '10-tiff.rule' Loaded rule
>> '10-xmp.rule' Loaded rule '11-msoffice-xml.rule' Loaded rule
>> '90-text-generic.rule' Loaded rule '93-mplayer-generic.rule' Loaded
>> rule '93-totem-generic.rule' Extractor rules loaded Couldn't get
>> memory information:'/proc/meminfo', Datei »/proc/meminfo« konnte
>> nicht geöffnet werden: No such file or directory Guessing mime type
>> as '(null)' Segmentation Fault (Speicherabzug geschrieben)
>>
>> The message "Guessing mime type as '(null)'" is just a broken debug
>> message that uses the wrong variable, I've checked that...
>>
>> $ sudo pstack /var/cores/core.tracker-extract.19507/1 core
>> '/var/cores/core.tracker-extract.19507/1' of 19507:
>> /opt/csw/libexec/tracker-extract --verbosity=3
>> --file=/Volumes/test/te -----------------  lwp# 1 / thread# 1
>> -------------------- fe63c422 memcpy   (8097f20, f79a7158, 1,
>> f79866b1) + 22 f7986721 __1cDstdGlocaleEinit6F_v_ (f796fb80,
>> 9fbfe096, feffe95c, fe5a6dce, fda2c860, fda2fd44) + 81 f79754fb
>> __1cDstdNbasic_istream4Cwn0ALchar_traits4Cw___2t6Mn0AIios_baseJEmptyCtor__v_
>> (fda2fd28) + 6b f7974ef4 __SLIP.INIT_A (feffe9d8, f79bacb4, feffe9d8,
>> f7995a79, fe7fb8bc, fb8406d8) + 34 f797534b
>> __1cU__STATIC_CONSTRUCTOR6F_v_ (fe7fb8bc, fb8406d8, fb840ed8,
>> feffea18, fe7cbba6, fb840edc) + b f7995a79 ???????? (fb840edc,
>> fe7fb35c, 1, fe7fb3e4, f799578c, 0) fe7cbba6 call_init (fb840e98, 1,
>> 2, fe7cc1ad) + 11a fe7cc2a7 load_completion (fd9008b8, 0, feffea88,
>> fe7d131d) + 10b fe7d13db dlmopen_check (fe7fb140, 8097dd8, 2,
>> fdf40018) + cb fe7d14c5 dlopen   (8097dd8, 2, 10000, fdf5130e) + 4d
>> fdf51345 _g_module_open (8097dd8) + 43 fdf51bfe g_module_open
>> (807c206, 2, fdbe2698, fdbe9176) + 2cc fdbe91bd load_module (8097d04,
>> 1, 0, fdbe94a2) + 55 fdbe94c3 initialize_first_module (8095b00,
>> fe7be504, fe7908c8, fdbe94fe) + 2d fdbe953b
>> tracker_extract_module_manager_get_mimetype_handlers (809a6f8, 0,
>> feffebd8, 80591c3) + 4b 08059218
>> tracker_extract_get_metadata_by_cmdline (8080190) + 68 0805bbdf
>> run_standalone (807dec0, 805ebb8, feffec68, 805bdbe) + af 0805bdd5
>> main     (1, feffeca0, feffecb0, fe7fb8bc) + 19e 0805660d _start
>> (3, feffed80, 0, 0, 0, feffedcd) + 7d $
>>
>> So it seems it's going south in some C++ init (std::locale::init ?),
>> so this is possibly a crash related to some glib glitch, not a
>> Tracker issue.
>>
>> I'd highly appreciate any pointers that may shed some light on this.
>
> What's the first module it's trying to load there?
> It should say in the debug output somewhere the path that the .so files
> are being loaded from.
>
> I would try (by process of elimination) removing or disabling those
> modules to see which is problematic.
>
> Failing that, it could be an issue with the dlopen() APIs on Solaris.
> I've seen this be problematic platform to platform before.
>
> If I had to guess about the C++ thing, I would say it might be related
> to the modules, some require G++ for linking IIRC.

Nevermind, guess I found the culprit. I had recently added support for extracting XMP (afair) with libexempi. It seems, libexempi is built with boost which pulls in stlport, while glib is linked with SUN libCstd (SUN C++ standard library). This results in both implementations of the C++ standard lib linked into the same binary.


Hi Ralph,

I have also had problems with Boost and exempi. It seems to me that Boost is only used in the testing parts of exempi, which should mean that this could be disabled. There is a ./configure switch to disable unit tests all together,  perhaps this can help? The switch is --enable-unittest=no, when building exempi.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]