libera/#maemo-leste/ Thursday, 2023-12-07

freemangordonWizzup: somehow miner managed to work on a deleted db08:47
freemangordonno wonder it reads stale data08:47
freemangordonWizzup: and that happens every time. ok, mystery revealed. Now I only have to find out who deletes those files :)09:04
freemangordonhmm, sqlite returns SQLITE_CORRUPT at some pint09:34
freemangordonand tracker-extract deletes the db09:34
Wizzupfreemangordon: huh11:25
Wizzupfreemangordon: how did you confirm this?11:38
Wizzupfreemangordon: the first thing that comes to mind are the various settings that tracker sets, re cache size and such11:41
Wizzupfreemangordon: do you know where tracker_db_set_default_pragmas is defined?11:44
Wizzupfound it I think11:45
freemangordonWizzup: I confirmed this with gdb11:47
Wizzupok11:49
WizzupI don't think SQWLITE_CORRUPT is as bad as it sounds, so removing the db doesn't make sense I think11:49
Wizzuphttps://www.sqlite.org/howtocorrupt.html maybe relevant11:49
freemangordonyes, I had a look at it11:49
freemangordonbut didn't get any idea what happens here11:49
WizzupFor maximum reliability and for robustness against database corruption, SQLite should always be run with its default synchronous setting of FULL.11:51
Wizzup    tracker_db_interface_execute_query (iface, NULL, "PRAGMA \"%s\".synchronous = NORMAL", database);11:51
Wizzup*cough*11:51
freemangordonbut, if you attach gdb while extract is running after db being reset (on the first pass), you will see that at some point it will break with the message from the line 2348 in tracker-db-interface-sqlite.c11:51
freemangordonyes, but they say corruption ca happen because of macine poweroff etc11:51
freemangordonthis is not the case here11:52
Wizzupthe docs do say:  WAL mode is safe from corruption with synchronous=NORMAL11:52
freemangordon*machine11:52
Wizzupok11:52
freemangordonthat break is very strange, because call stack contains hundreds if not thousands of frames11:52
freemangordonmaybe some recursion happens that overflows the stack11:53
WizzupI wonder if they hit some limit, either of transaction size or something else12:00
freemangordonlooks like12:01
freemangordonrunning yet another gdb session12:02
Wizzupso in src/libtracker-sparql/core/tracker-db-manager.c they contains most of what they set12:02
freemangordonmhm12:02
Wizzupone observation, probably not relevant, but tracker seems to set synchronous=normal regardless of whether they enable WAL or not12:04
Wizzup(which is not safe)12:04
Wizzupnot saying any of this is the real problem, just catching up on my sqlite knowledge12:04
freemangordonumm, they always enable wal, no?12:04
Wizzupno12:05
Wizzupthe code has an option to enable it or not12:06
Wizzupbut from the log files I saw they do enable wAL12:06
Wizzuphah the author had a commit earlier this year:12:06
Wizzup    libtracker-sparql: Use setlocale() directly to query locale12:06
Wizzup    Long long ago, this was an integration point since the Maemo platform12:06
Wizzup    (I thought I'd never write that in 2023) had some infrastructure to12:06
Wizzup    allow on-the-fly locale changes.12:06
Wizzupfreemangordon: db_set_params has an enable_wall option12:07
freemangordonIIUC, once enabled, it cannot be disabled12:07
Wizzupbtw https://chromium.googlesource.com/chromium/src/+/HEAD/sql/recovery.cc#100612:08
freemangordonok, but why the corruption?12:09
WizzupI was reading https://www.sqlite.org/howtocorrupt.html12:10
freemangordonI didn;t find any possible way tracker can corrupt12:10
freemangordoncould be that I just missed something12:11
WizzupI would maybe set synchronous to FULL just to be sure, but yeah, I am not sure either atm12:12
WizzupI have not looked at the actual sqlite3 code in tracker yet12:12
Wizzupfreemangordon: in any case the code that deletes that db should be closely inspected as well12:14
freemangordon"g_unlink (interface->filename);"12:14
freemangordonwhich is plain stupid12:15
freemangordonas it does not delete wal or shm files12:15
freemangordonhmm, but that does not happen every time12:15
freemangordonwhat the?12:15
freemangordonok, lemme delete *all* tracker files and start from scratch12:16
freemangordonhmm12:17
freemangordonCould not insert metadata for item "file:///home/user/MyDocs/.sounds/Accept/Accept%20-%2098%20-%20Worldwide/13.%20Fast%20As%20A%20Shark.mp3": Subject `urn:uuid:fd0bdac2-7640-41af-9101-1b8ef1d3ed5d' is not in domain `nie:DataObject' of property `nie:dataSource'12:17
freemangordontracker-extract log is full of similar12:18
Wizzupfreemangordon: this shouldn't cause that problem though right?12:36
freemangordonwell, I see 200 songs without album12:37
WizzupI mean, a different problem perhaps :)12:37
freemangordonyeah12:37
freemangordonalso, seems mafw-tracker-source opens new tracker connection everytime it is inited and never closes it12:38
Wizzupfreemangordon, there does seem to be a lot of work ongoing on the tracker git, as recently as a few days ago, I wonder if it makes sense to pull their work in12:39
freemangordonugh, gnome crashed, time for lunch obviously :)12:39
freemangordonyeah, maybe12:39
freemangordonttyl12:39
Wizzupbtw,#gnome-tracker on this network is where the maintainers seem to be12:40
Wizzupit looks like they did a lot of work since 3.312:41
Wizzupnow at 3.612:41
freemangordonWizzup: maybe check if we can build the latest debian version12:54
freemangordoneither ways I'll have to port mafw tracker source to tracker 3 api at some pount12:54
freemangordonand if we don't use deprecated version, we can hope on some support from upstream12:55
Wizzupoh, I thought we were on the newer version already12:55
freemangordonno, we are on tracker 2 :)12:56
Wizzupso tracker 3 supports the tracker 2 api?12:56
Wizzupit does sound like building the recent debian release would be useful to try, since this isn't really working12:56
Wizzupnot sure if things will really improve, but yeah...12:56
Wizzupdebian has 3.4, so that's also a lot behind upstream13:00
freemangordonno, tracker 3 does not support tracker2 API13:06
freemangordonbut changes are small13:06
freemangordonand it is still sparql13:06
freemangordonwhich debian is 3.4? unstable?13:06
Wizzupyes, sid13:13
Wizzupbookworm is also 3.413:14
Wizzuphttps://packages.debian.org/source/bookworm/armhf/tracker13:14
freemangordonstill, better than what we have13:28
freemangordonalso, my issue is with the packaging13:28
freemangordonwe can always pull the source or individual fixes13:29
Wizzupfreemangordon: what do you mean is 'why issue is with the packaging' ?13:33
Wizzupwhat do you mean with*13:33
freemangordondebian packaging13:41
freemangordonI don't want to create our own13:41
freemangordonI don;t think upstream tracker has any packaging13:42
WizzupI still don't understand what the specific issue is, we can use debian packaging?13:42
freemangordonyes, but we have to create it from scratch, no?13:42
freemangordonif we pull upstream code13:43
freemangordon*maybe* debian packaging for 3.4 will work for 3.6, but who knows?13:43
WizzupI think it'd probably work ok13:43
freemangordonyeah, could be13:43
Wizzupbut yeah, I agree it would be some work13:43
freemangordonmhm13:44
WizzupI just worry that trying to solve some weird sql corruption issue on the older version could be a time waste13:44
freemangordonwork mtg, ttyl13:44
Wizzupttyl13:44
freemangordonWizzup: in experimental it is 3.6.115:27
freemangordonsorry, 3.6.015:30
Wizzupfreemangordon: in experimental it said no such pkg for me15:35
Wizzupweird15:35
freemangordonhttps://packages.debian.org/source/experimental/armhf/tracker15:35
Wizzupyeah I see it now15:35
Wizzupweird15:35
freemangordonnot that we will bve able to build it :)15:35
Wizzuphttps://packages.debian.org/experimental/armhf/tracker15:35
freemangordonthere is source package15:36
Wizzupyeah15:36
Wizzupdoes it need something we don't have?15:36
freemangordonmhm\15:36
freemangordonsec15:36
freemangordoninstalling deps that we have15:36
freemangordonto see what will remain15:37
freemangordongi-docgen libsoup-3.0-dev15:39
freemangordoneven 3.4 require that15:43
Wizzupand we don't have libsoup-3.0-dev? hm15:46
freemangordonmhm15:46
freemangordonwe're getting old :)15:46
freemangordonand building it requires apache?!?15:47
Wizzupdoesn't sound like things would improve15:47
Wizzup:D15:47
freemangordonmaybe for testing15:47
freemangordon(unit tests)15:47
WizzupI really think we should stay on the base we are until we have some other core things working btw (re: we're getting old)15:47
Wizzupright @ unit tests15:47
freemangordonok, but now tracker is unusable15:48
freemangordonor almost15:48
Wizzupyeah, it's worth trying to see if 3.6 works15:51
Wizzupwe could also see if some pkgs are in backports15:51
freemangordonbtw I think I found a workaround15:51
Wizzupnow I have to prepare for a work mtg btw :)15:51
freemangordonbut want to be sure first15:51
arno11sicelo: calls seems to work with no particular tweaks now (no overclock but with light transitions). and no priority stuff17:54
arno11thx to PA in user mode and new DDX (h-d works better)17:55
arno11the only bug: ringtone doesn't work the first time you receive a call after starting cmt_pulse, then it works for the second17:57
Wizzupgreat18:13
arno11yeah :)18:14
Wizzupfreemangordon: I'm curious as to the workaround btw19:58
freemangordonreset the db and the delete .local/share/tracker/20:04
freemangordon*then20:04
freemangordonWizzup: ^^^20:04
freemangordonBTW, there are couple of leaks in mafw-tracker-source20:05
Wizzuphm, but won't that cause the problems again?20:05
freemangordonwill try to fix them later today20:05
Wizzupok20:05
freemangordonWizzup: how do I know? :)20:05
freemangordonat least for now that fixed the issue here20:06
freemangordonYMMV20:06
Wizzupfreemangordon: well I did that a few times20:08
Wizzupand it keeps getting back to the same problem20:08
Wizzuplike that's how I go to a clean state to trigger the problem20:08
freemangordoneven after deleting the tracker-store journal?20:11
freemangordonyou did what a few times?20:11
freemangordonI am not talking about .cache/tracker directlry20:11
freemangordonbut .local/share/tracker/20:11
freemangordontracker-store keeps some strange file tehre20:12
freemangordonthis is not sqlite db directory20:12
freemangordonWizzup: ^^^20:15
Wizzuphmmm20:17
Wizzupok, I will try that tonight20:17
Wizzup(in 20 mins)20:18

Generated by irclog2html.py 2.17.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!