Tracker crashes (coredumps) when two gpu are enabled

Hello @malcolmlewis ,

New topic … the original was solved long ago :smile:

From journalctl:

Aug 06 14:59:44 tracker-extract-3[5725]: Disallowed syscall "getsockopt" caught in sandbox
Aug 06 14:59:44 systemd[1]: Started Process Core Dump (PID 5777/UID 0).
Aug 06 14:59:44 gnome-software[4747]: g_task_return_pointer: assertion 'G_IS_TASK (task)' failed
Aug 06 14:59:44 systemd-coredump[5778]: [🡕] Process 5725 (tracker-extract) of user 1000 dumped core.
                                        
                                        Stack trace of thread 5772:
                                        #0  0x00007fec4fc57989 __restore_rt (libc.so.6 + 0x57989)
                                        ELF object binary architecture: AMD x86-64
Aug 06 14:59:44 systemd[1]: systemd-coredump@4-5777-0.service: Deactivated successfully.
Aug 06 14:59:44 systemd[4202]: tracker-extract-3.service: Main process exited, code=dumped, status=31/SYS
Aug 06 14:59:44 systemd[4202]: tracker-extract-3.service: Failed with result 'core-dump'.

And the systemd units:

ox@orca$ systemctl --user status tracker-*
× tracker-extract-3.service - Tracker metadata extractor
     Loaded: loaded (/usr/lib/systemd/user/tracker-extract-3.service; static)
     Active: failed (Result: core-dump) since Tue 2024-08-06 15:16:22 CDT; 2min 30s ago
   Duration: 1.512s
    Process: 7372 ExecStart=/usr/lib/tracker-extract-3 (code=dumped, signal=SYS)
   Main PID: 7372 (code=dumped, signal=SYS)
        CPU: 763ms

● tracker-miner-fs-3.service - Tracker file system data miner
     Loaded: loaded (/usr/lib/systemd/user/tracker-miner-fs-3.service; disabled; preset: disabled)
     Active: active (running) since Tue 2024-08-06 14:59:33 CDT; 19min ago
   Main PID: 5363 (tracker-miner-f)
      Tasks: 8 (limit: 4915)
        CPU: 2.667s
     CGroup: /user.slice/user-1000.slice/user@1000.service/background.slice/tracker-miner-fs-3.service
             └─5363 /usr/lib/tracker-miner-fs-3

Only the extraction fails.

@oxwrongagain so did you try resetting tracker?

After adding the “i915.enable_guc=2” kernel boot option, tracker3 no longer crashes with each extraction. Instead, it just dumps core and moves to the next (hundreds of coredumps). It eventually finishes, but it does not actually extract any data because it coredumps on each file.

@oxwrongagain this is after the reset?

Hi @malcolmlewis ,

Yes … after a reset … a CLEAN reset (tracker can be finicky) …

It appears to be a tracker problem, not a “how I have my box set up” problem. And quite possibly, it is a tracker mated with intel problem, not an intel multi-display problem.

and

And if I am following these threads correctly, I might be able to hack something akin to adding " ALLOW_RULE (getsockopt)" in src/libtracker-miners-common/tracker-seccomp.c.

Why not? I already maintain my own version of nautilus … though this does look much trickier than the easy fixes I maintain in nautilus.

Or maybe I’ll get lucky and be able to build a newer version of tracker …

Cheers

Hello,

After a quick browse of the source code, it APPEARS to be fixed in tracker-miners-3.7.3, which is running on tumbleweed.

@oxwrongagain then probably a bug report is required to see if the fix can be backported. openSUSE:Submitting bug reports - openSUSE Wiki

Hello @malcolmlewis ,

I will certainly report a bug, but I hope to have a better understanding of the problem (and if I’m lucky, the solution) when I do.

I just KNEW I should have ignored your advice, and now I genuinely want to run on intel with switcheroo … and I’ll have to work for it, but the offload is just too sweet!

I got LUCKY! The first, least thoughtful, least well understood idea that I had actually worked!

-- tracker-miners-3.6.2.orig/src/libtracker-miners-common/tracker-seccomp.c	2024-08-07 07:31:16.719907195 -0500
+++ tracker-miners-3.6.2/src/libtracker-miners-common/tracker-seccomp.c	2024-08-07 07:37:56.491071445 -0500
@@ -255,6 +255,7 @@
 	ALLOW_RULE (getsockname);
 	ALLOW_RULE (getpeername);
 	ALLOW_RULE (shutdown);
+	ALLOW_RULE (getsockopt);
 	ALLOW_RULE (name_to_handle_at);
 
 	ERROR_RULE (inotify_init1, EINVAL);

Big thanks @malcolmlewis for showing me a cool way to get more from my hardware.

cheers

Bug report:

https://bugzilla.opensuse.org/show_bug.cgi?id=1228952

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.