Re: [Tracker] No contents indexing taking place

2012-03-16 Thread Karl Relton
On Thu, 2012-03-15 at 15:18 +, Martyn Russell wrote:
 On 07/03/12 19:24, Karl Relton wrote:
  The only miner that uses tracker-miner-web.c in the current source tree
  (as far as I can see) is the Flickr miner. So I compiled that and
  started poking it.
 
  It does indeed show the problematic behaviour we feared: i.e. initially
  the interfaces/methods advertised in tracker-miner-object.c are OK, but
  those advertised in tracker-miner-web.c do NOT appear immediately.
  Walking up to an already running deamon is ok because by then everything
  is up  running.
 
  So if a user tried to connect to the Miner.Flickr service (e.g. using
  the GetAssociationData method) they will be disappointed, getting the
  unknown interface error.
 
 
  As you say, the fix is not so easy, so I guess you may want to release
  0.14 anyway and then think how best to guaruntee the interfaces come up.
 
 Karl, do you mind creating a bug report and I will comment there about a 
 potential solution - just so this doesn't get lost in the abyss please? :)
 
 Thanks,
 
You are welcome:

https://bugzilla.gnome.org/show_bug.cgi?id=672259

___
tracker-list mailing list
tracker-list@gnome.org
http://mail.gnome.org/mailman/listinfo/tracker-list


Re: [Tracker] No contents indexing taking place

2012-03-15 Thread Martyn Russell

On 07/03/12 19:24, Karl Relton wrote:

The only miner that uses tracker-miner-web.c in the current source tree
(as far as I can see) is the Flickr miner. So I compiled that and
started poking it.

It does indeed show the problematic behaviour we feared: i.e. initially
the interfaces/methods advertised in tracker-miner-object.c are OK, but
those advertised in tracker-miner-web.c do NOT appear immediately.
Walking up to an already running deamon is ok because by then everything
is up  running.

So if a user tried to connect to the Miner.Flickr service (e.g. using
the GetAssociationData method) they will be disappointed, getting the
unknown interface error.


As you say, the fix is not so easy, so I guess you may want to release
0.14 anyway and then think how best to guaruntee the interfaces come up.


Karl, do you mind creating a bug report and I will comment there about a 
potential solution - just so this doesn't get lost in the abyss please? :)


Thanks,

--
Regards,
Martyn

Founder and CEO of Lanedo GmbH.
___
tracker-list mailing list
tracker-list@gnome.org
http://mail.gnome.org/mailman/listinfo/tracker-list


Re: [Tracker] No contents indexing taking place

2012-03-07 Thread Karl Relton
On Mon, 2012-03-05 at 12:23 +, Martyn Russell wrote:
  I believe I have diagnosed and proposed a fix for the problem. Please
  see https://bugzilla.gnome.org/show_bug.cgi?id=671314 for a full write
  up and proposed patch that fixes it.
 
 Thank you for investigating this fully, great patch. I've added to it 
 and applied it to master now.
 
 IT should be in the 0.14.0 release i've been trying to get out for a 
 week or so now.
 

You mentioned in the bug comments that there could be other places with
the same issue.

I have tried to do a code trawl, and believe that where the code is
pure .c all is okay except perhaps libtracker-miner/tracker-miner-web.c.
For the .vala code, I can't really decipher it though.

For tracker-miner-web.c I am concerned by the comment at line 193:

/* No need to RequestName again as already done by the parent
TrackerMiner object */

As far as I can see the parent object in tracker-miner-object.c creates
the connection, registers its own interface, and then sets the name on
the bus ... and this happens before (AFAICT) the child object registers
its interface object.

So I would imagine that the web miner might not get all its interfaces
registered correctly.

Karl

___
tracker-list mailing list
tracker-list@gnome.org
http://mail.gnome.org/mailman/listinfo/tracker-list


Re: [Tracker] No contents indexing taking place

2012-03-07 Thread Martyn Russell

On 07/03/12 09:58, Karl Relton wrote:

On Mon, 2012-03-05 at 12:23 +, Martyn Russell wrote:

I believe I have diagnosed and proposed a fix for the problem. Please
see https://bugzilla.gnome.org/show_bug.cgi?id=671314 for a full write
up and proposed patch that fixes it.


Thank you for investigating this fully, great patch. I've added to it
and applied it to master now.

IT should be in the 0.14.0 release i've been trying to get out for a
week or so now.



You mentioned in the bug comments that there could be other places with
the same issue.


Indeed.


I have tried to do a code trawl, and believe that where the code is
pure .c all is okay except perhaps libtracker-miner/tracker-miner-web.c.
For the .vala code, I can't really decipher it though.


I checked already, the writeback code was the only place and I changed 
that already IIRC.



For tracker-miner-web.c I am concerned by the comment at line 193:

/* No need to RequestName again as already done by the parent
TrackerMiner object */


Yes it is. The libtracker-miner library requests the name for you so 
assuming the library is done correctly, ALL miners should work properly.



As far as I can see the parent object in tracker-miner-object.c creates
the connection, registers its own interface, and then sets the name on
the bus ... and this happens before (AFAICT) the child object registers
its interface object.

So I would imagine that the web miner might not get all its interfaces
registered correctly.


Yea, I think you could be right here. Are you seeing problems with the 
web miners then?


One approach here might be to do the name request in _init() not 
_initable_init(), but that's quite a risky change to make at this late 
stage before we release.


--
Regards,
Martyn

Founder and CEO of Lanedo GmbH.
___
tracker-list mailing list
tracker-list@gnome.org
http://mail.gnome.org/mailman/listinfo/tracker-list


Re: [Tracker] No contents indexing taking place

2012-03-07 Thread Karl Relton
On Wed, 2012-03-07 at 10:45 +, Martyn Russell wrote:
 On 07/03/12 09:58, Karl Relton wrote:
  On Mon, 2012-03-05 at 12:23 +, Martyn Russell wrote:
  I believe I have diagnosed and proposed a fix for the problem. Please
  see https://bugzilla.gnome.org/show_bug.cgi?id=671314 for a full write
  up and proposed patch that fixes it.
 
  Thank you for investigating this fully, great patch. I've added to it
  and applied it to master now.
 
  IT should be in the 0.14.0 release i've been trying to get out for a
  week or so now.
 
 
  You mentioned in the bug comments that there could be other places with
  the same issue.
 
 Indeed.
 
  I have tried to do a code trawl, and believe that where the code is
  pure .c all is okay except perhaps libtracker-miner/tracker-miner-web.c.
  For the .vala code, I can't really decipher it though.
 
 I checked already, the writeback code was the only place and I changed 
 that already IIRC.
 
  For tracker-miner-web.c I am concerned by the comment at line 193:
 
  /* No need to RequestName again as already done by the parent
  TrackerMiner object */
 
 Yes it is. The libtracker-miner library requests the name for you so 
 assuming the library is done correctly, ALL miners should work properly.
 
  As far as I can see the parent object in tracker-miner-object.c creates
  the connection, registers its own interface, and then sets the name on
  the bus ... and this happens before (AFAICT) the child object registers
  its interface object.
 
  So I would imagine that the web miner might not get all its interfaces
  registered correctly.
 
 Yea, I think you could be right here. Are you seeing problems with the 
 web miners then?
 
 One approach here might be to do the name request in _init() not 
 _initable_init(), but that's quite a risky change to make at this late 
 stage before we release.
 
I haven't got web miners installed at the moment. I'll see if I can
install it and prod it with dbus-send. That might take me a wee while
though.


___
tracker-list mailing list
tracker-list@gnome.org
http://mail.gnome.org/mailman/listinfo/tracker-list


Re: [Tracker] No contents indexing taking place

2012-03-07 Thread Karl Relton
On Wed, 2012-03-07 at 10:50 +, Karl Relton wrote:
 On Wed, 2012-03-07 at 10:45 +, Martyn Russell wrote:
   For tracker-miner-web.c I am concerned by the comment at line 193:
  
   /* No need to RequestName again as already done by the parent
   TrackerMiner object */
  
  Yes it is. The libtracker-miner library requests the name for you so 
  assuming the library is done correctly, ALL miners should work properly.
  
   As far as I can see the parent object in tracker-miner-object.c creates
   the connection, registers its own interface, and then sets the name on
   the bus ... and this happens before (AFAICT) the child object registers
   its interface object.
  
   So I would imagine that the web miner might not get all its interfaces
   registered correctly.
  
  Yea, I think you could be right here. Are you seeing problems with the 
  web miners then?
  
  One approach here might be to do the name request in _init() not 
  _initable_init(), but that's quite a risky change to make at this late 
  stage before we release.
  
 I haven't got web miners installed at the moment. I'll see if I can
 install it and prod it with dbus-send. That might take me a wee while
 though.
 

The only miner that uses tracker-miner-web.c in the current source tree
(as far as I can see) is the Flickr miner. So I compiled that and
started poking it.

It does indeed show the problematic behaviour we feared: i.e. initially
the interfaces/methods advertised in tracker-miner-object.c are OK, but
those advertised in tracker-miner-web.c do NOT appear immediately.
Walking up to an already running deamon is ok because by then everything
is up  running.

So if a user tried to connect to the Miner.Flickr service (e.g. using
the GetAssociationData method) they will be disappointed, getting the
unknown interface error.


As you say, the fix is not so easy, so I guess you may want to release
0.14 anyway and then think how best to guaruntee the interfaces come up.

Regards
Karl

___
tracker-list mailing list
tracker-list@gnome.org
http://mail.gnome.org/mailman/listinfo/tracker-list


Re: [Tracker] No contents indexing taking place

2012-03-05 Thread Martyn Russell

On 04/03/12 18:11, Karl Relton wrote:

On Thu, 2012-03-01 at 23:19 +, Karl Relton wrote:


I've found out some more - the tracker-extract process is in fact being
started (by dbus), but for some reason the initial call to it is getting
an unknown interface error. Subsequent calls to it (while it is still
running), will work however.

By watching what processes are running, I can see the tracker-extract
process start, and then gracefully exit 30 seconds later. The first file
change that resulted in its invocation doesn't get any indexing done
(because it gets the unknown interface error), but if I change the file
again (or another file) before the 30 second inactivity timeout then
indexing will occur with respect to that second change.

So the problem seems to be that first call. Not sure if it is an error
(or timeout) in dbus, or an error in the way
tracker-miner-fs/tracker-extract are trying to interact with each other.

Could it be that tracker-extract is taking too long to register the
interface (make it available) in dbus?


I believe I have diagnosed and proposed a fix for the problem. Please
see https://bugzilla.gnome.org/show_bug.cgi?id=671314 for a full write
up and proposed patch that fixes it.


Thank you for investigating this fully, great patch. I've added to it 
and applied it to master now.


IT should be in the 0.14.0 release i've been trying to get out for a 
week or so now.


--
Regards,
Martyn

Founder and CEO of Lanedo GmbH.
___
tracker-list mailing list
tracker-list@gnome.org
http://mail.gnome.org/mailman/listinfo/tracker-list


Re: [Tracker] No contents indexing taking place

2012-03-04 Thread Karl Relton
On Thu, 2012-03-01 at 23:19 +, Karl Relton wrote:
 
 I've found out some more - the tracker-extract process is in fact being
 started (by dbus), but for some reason the initial call to it is getting
 an unknown interface error. Subsequent calls to it (while it is still
 running), will work however.
 
 By watching what processes are running, I can see the tracker-extract
 process start, and then gracefully exit 30 seconds later. The first file
 change that resulted in its invocation doesn't get any indexing done
 (because it gets the unknown interface error), but if I change the file
 again (or another file) before the 30 second inactivity timeout then
 indexing will occur with respect to that second change.
 
 So the problem seems to be that first call. Not sure if it is an error
 (or timeout) in dbus, or an error in the way
 tracker-miner-fs/tracker-extract are trying to interact with each other.
 
 Could it be that tracker-extract is taking too long to register the
 interface (make it available) in dbus?
 
I believe I have diagnosed and proposed a fix for the problem. Please
see https://bugzilla.gnome.org/show_bug.cgi?id=671314 for a full write
up and proposed patch that fixes it.


___
tracker-list mailing list
tracker-list@gnome.org
http://mail.gnome.org/mailman/listinfo/tracker-list


Re: [Tracker] No contents indexing taking place

2012-03-01 Thread Martyn Russell

On 01/03/12 08:39, Karl Relton wrote:

Tracker 0.12 in Ubuntu Precise Pangolin doesn't seem to be indexing any
file contents at all these days - not even words in plain text files.

But I see in tracker-miner-fs.log :

29 Feb 2012, 21:18:57: Tracker: tracker-backend.vala:84:
Tracker.Sparql.Backend.query_async(): 'SELECT ?s WHERE { ?s nie:url
file:///home/parents/Documents/how_about3.txt}'
29 Feb 2012, 21:18:58: Tracker: Processing file
'file:///home/parents/Documents/how_about3.txt'...
29 Feb 2012, 21:18:58: Tracker: Processed 0/0, estimated unknown time
left, less than one second elapsed
29 Feb 2012, 21:18:58: Tracker: Loading extractor rules...
(/usr/share/tracker/extract-rules)
29 Feb 2012, 21:18:58: Tracker:   Loaded rule '10-abw.rule'
  ... snip ...
29 Feb 2012, 21:18:58: Tracker:   Loaded rule '90-text-generic.rule'
29 Feb 2012, 21:18:58: Tracker: Extractor rules loaded
29 Feb 2012, 21:19:00: Tracker: Could not process
'file:///home/parents/Documents/how_about3.txt':
GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface
`org.freedesktop.Tracker1.Extract' on object at
path /org/freedesktop/Tracker1/Extract


That certainly looks like a broken install.

Out of interest, can you start the tracker-extract process manually and 
does it fix the issue?


  /usr/libexec/tracker-extract -v 3

Also, you don't have older Tracker versions installed on your machine do 
you (that could conflict API wise)?



I guess that UknownMethod message is bad news, stopping the extractor
from actually being called.


Indeed.


What would cause this - is there some dbus configuration file missing? I
see the interface is defined in /usr/share/tracker/tracker-extract.xml
(the same as in oneiric, as far as I can tell).


Presumably this file is in place too and points to the right binary:

  /usr/share/dbus-1/services/org.freedesktop.Tracker1.Extract.service


--
Regards,
Martyn

Founder and CEO of Lanedo GmbH.
___
tracker-list mailing list
tracker-list@gnome.org
http://mail.gnome.org/mailman/listinfo/tracker-list


Re: [Tracker] No contents indexing taking place

2012-03-01 Thread Karl Relton
On Thu, 2012-03-01 at 09:44 +, Martyn Russell wrote:
 On 01/03/12 08:39, Karl Relton wrote:
  Tracker 0.12 in Ubuntu Precise Pangolin doesn't seem to be indexing any
  file contents at all these days - not even words in plain text files.
 
  But I see in tracker-miner-fs.log :
 
  29 Feb 2012, 21:18:57: Tracker: tracker-backend.vala:84:
  Tracker.Sparql.Backend.query_async(): 'SELECT ?s WHERE { ?s nie:url
  file:///home/parents/Documents/how_about3.txt}'
  29 Feb 2012, 21:18:58: Tracker: Processing file
  'file:///home/parents/Documents/how_about3.txt'...
  29 Feb 2012, 21:18:58: Tracker: Processed 0/0, estimated unknown time
  left, less than one second elapsed
  29 Feb 2012, 21:18:58: Tracker: Loading extractor rules...
  (/usr/share/tracker/extract-rules)
  29 Feb 2012, 21:18:58: Tracker:   Loaded rule '10-abw.rule'
... snip ...
  29 Feb 2012, 21:18:58: Tracker:   Loaded rule '90-text-generic.rule'
  29 Feb 2012, 21:18:58: Tracker: Extractor rules loaded
  29 Feb 2012, 21:19:00: Tracker: Could not process
  'file:///home/parents/Documents/how_about3.txt':
  GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface
  `org.freedesktop.Tracker1.Extract' on object at
  path /org/freedesktop/Tracker1/Extract
 
 That certainly looks like a broken install.
 
 Out of interest, can you start the tracker-extract process manually and 
 does it fix the issue?
 
/usr/libexec/tracker-extract -v 3
 

Yes (for me it is in /usr/lib/tracker/tracker-extract). Starting this
manually then the file does get indexed, and found in subsequent
searches.


 Also, you don't have older Tracker versions installed on your machine do 
 you (that could conflict API wise)?
 

Not as far as I can tell.


  I guess that UknownMethod message is bad news, stopping the extractor
  from actually being called.
 
 Indeed.
 
  What would cause this - is there some dbus configuration file missing? I
  see the interface is defined in /usr/share/tracker/tracker-extract.xml
  (the same as in oneiric, as far as I can tell).
 
 Presumably this file is in place too and points to the right binary:
 
/usr/share/dbus-1/services/org.freedesktop.Tracker1.Extract.service
 
 

Yes - this file is in place and points correctly
to /usr/lib/tracker/tracker-extract




As another test I killed my tracker-store and tracker-miner-fs process,
and then just restarted tracker-miner-fs. This then seemed to invoke
tracker-store automatically (I assume through a dbus service request) -
so dbus and the other deamons seem to be playing ball, just not
tracker-extract.

Karl

___
tracker-list mailing list
tracker-list@gnome.org
http://mail.gnome.org/mailman/listinfo/tracker-list


Re: [Tracker] No contents indexing taking place

2012-03-01 Thread Martyn Russell

On 01/03/12 10:47, Karl Relton wrote:

That certainly looks like a broken install.

Out of interest, can you start the tracker-extract process manually and
does it fix the issue?

/usr/libexec/tracker-extract -v 3



Yes (for me it is in /usr/lib/tracker/tracker-extract). Starting this
manually then the file does get indexed, and found in subsequent
searches.


snip


Presumably this file is in place too and points to the right binary:

/usr/share/dbus-1/services/org.freedesktop.Tracker1.Extract.service




Yes - this file is in place and points correctly
to /usr/lib/tracker/tracker-extract



NOTE: The above two locations for tracker-extract are *NOT* the same. 
This looks quite suspicious to me.


I would wager that running these two commands outputs different results:

  /usr/libexec/tracker-extract -V
  /usr/lib/tracker/tracker-extract -V

In any case, I wouldn't expect both locations to have that binary. So it 
certainly looks like you need to clean your $prefix and re-make install.


--
Regards,
Martyn

Founder and CEO of Lanedo GmbH.
___
tracker-list mailing list
tracker-list@gnome.org
http://mail.gnome.org/mailman/listinfo/tracker-list


Re: [Tracker] No contents indexing taking place

2012-03-01 Thread Karl Relton
On Thu, 2012-03-01 at 15:31 +, Martyn Russell wrote:
 On 01/03/12 10:47, Karl Relton wrote:
  That certainly looks like a broken install.
 
  Out of interest, can you start the tracker-extract process manually and
  does it fix the issue?
 
  /usr/libexec/tracker-extract -v 3
 
 
  Yes (for me it is in /usr/lib/tracker/tracker-extract). Starting this
  manually then the file does get indexed, and found in subsequent
  searches.
 
 snip
 
  Presumably this file is in place too and points to the right binary:
 
  /usr/share/dbus-1/services/org.freedesktop.Tracker1.Extract.service
 
 
 
  Yes - this file is in place and points correctly
  to /usr/lib/tracker/tracker-extract
 
 
 NOTE: The above two locations for tracker-extract are *NOT* the same. 
 This looks quite suspicious to me.
 
 I would wager that running these two commands outputs different results:
 
/usr/libexec/tracker-extract -V
/usr/lib/tracker/tracker-extract -V
 
 In any case, I wouldn't expect both locations to have that binary. So it 
 certainly looks like you need to clean your $prefix and re-make install.
 

laptop1:~ /usr/libexec/tracker/tracker-extract -V
/usr/libexec/tracker/tracker-extract: Command not found.

laptop1:~ /usr/lib/tracker/tracker-extract -V

Tracker 0.12.10

This program is free software and comes without any warranty.
It is licensed under version 2 or later of the General Public License
which can be viewed at:

  http://www.gnu.org/licenses/gpl.txt


Looks like Ubuntu compiles their packages with --libexecdir=/usr/lib,
though at the moment I cannot see where they set this.

Note the location in my .service file does match where the executable
has been installed to. Remember also that tracker-miner-fs seems to be
able to start tracker-store okay (presumably via
dbus /usr/share/dbus-1/services/org.freedesktop.Tracker1.service, which
points to /usr/lib/tracker/tracker-store), so I think the packages are
built consistently.

Karl

___
tracker-list mailing list
tracker-list@gnome.org
http://mail.gnome.org/mailman/listinfo/tracker-list