Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • tracker-miners tracker-miners
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 82
    • Issues 82
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 24
    • Merge requests 24
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • tracker-minerstracker-miners
  • Issues
  • #128
Closed
Open
Issue created Aug 24, 2020 by Bastien Nocera@hadessDeveloper

"Bad system call." parsing playlist files in Flatpak

Using the totem Flatpak from totem!154 (merged), I get a crash in the extract. I don't know whether the problem is the nightly platform, glib, Flatpak's seccomp or something else.

Core was generated by `/app/libexec/tracker-extract-3 --domain-ontology /app/share/tracker3/domain-ont'.
Program terminated with signal SIGSYS, Bad system call.

warning: Unexpected size of section `.reg-xstate/16' in core file.
#0  statx (fd=fd@entry=9, path=path@entry=0x7f3591dcc197 "", flags=flags@entry=4096, mask=mask@entry=1, buf=buf@entry=0x7f35674a9b20) at ../sysdeps/unix/sysv/linux/statx.c:29
29	  int ret = INLINE_SYSCALL_CALL (statx, fd, path, flags, mask, buf);
[Current thread is 1 (Thread 0x7f35674aa700 (LWP 16))]
(gdb) bt
#0  statx (fd=fd@entry=9, path=path@entry=0x7f3591dcc197 "", flags=flags@entry=4096, mask=mask@entry=1, buf=buf@entry=0x7f35674a9b20) at ../sysdeps/unix/sysv/linux/statx.c:29
#1  0x00007f3591d99930 in g_local_file_statx (mask_required=G_LOCAL_FILE_STAT_FIELD_TYPE, stat_buf=0x7f35674a9b20, mask=G_LOCAL_FILE_STAT_FIELD_TYPE, flags=4096, pathname=0x7f3591dcc197 "", dirfd=9)
    at ../gio/glocalfileinfo.h:109
#2  g_local_file_fstat
    (stat_buf=0x7f35674a9b20, mask_required=(G_LOCAL_FILE_STAT_FIELD_TYPE | G_LOCAL_FILE_STAT_FIELD_MODE | G_LOCAL_FILE_STAT_FIELD_NLINK | G_LOCAL_FILE_STAT_FIELD_UID | G_LOCAL_FILE_STAT_FIELD_GID | G_LOCAL_FILE_STAT_FIELD_ATIME | G_LOCAL_FILE_STAT_FIELD_MTIME | G_LOCAL_FILE_STAT_FIELD_CTIME | G_LOCAL_FILE_STAT_FIELD_INO | G_LOCAL_FILE_STAT_FIELD_SIZE | G_LOCAL_FILE_STAT_FIELD_BLOCKS | G_LOCAL_FILE_STAT_FIELD_BTIME), mask=G_LOCAL_FILE_STAT_FIELD_TYPE, fd=9) at ../gio/glocalfileinfo.h:109
#3  g_local_file_read (file=0x558abd425120, cancellable=<optimized out>, error=0x0) at ../gio/glocalfile.c:1355
#4  0x00007f3591ccab33 in g_file_load_contents
    (file=file@entry=0x558abd425120, cancellable=cancellable@entry=0x0, contents=contents@entry=0x7f35674a9cc8, length=length@entry=0x7f35674a9cd0, etag_out=etag_out@entry=0x0, error=error@entry=0x0)
    at ../gio/gfile.c:7061
#5  0x00007f35842196bc in totem_pl_parser_add_pls (parser=0x558abd425080 [TotemPlParser], file=0x558abd425120, base_file=0x558abd425140, parse_data=0x7f35674a9d90, data=<optimized out>)
    at ../plparse/totem-pl-parser-pls.c:336
#6  0x00007f3584213829 in totem_pl_parser_parse_internal (parser=0x558abd425080 [TotemPlParser], file=0x558abd425120, base_file=0x558abd425140, parse_data=0x7f35674a9d90) at ../plparse/totem-pl-parser.c:2102
#7  0x00007f3584214478 in totem_pl_parser_parse_with_base
    (parser=parser@entry=0x558abd425080 [TotemPlParser], uri=uri@entry=0x7f3548001210 "file:///home/hadess/test.pls", base=base@entry=0x0, fallback=fallback@entry=0) at ../plparse/totem-pl-parser.c:2292
#8  0x00007f35842146ad in totem_pl_parser_parse (parser=parser@entry=0x558abd425080 [TotemPlParser], uri=uri@entry=0x7f3548001210 "file:///home/hadess/test.pls", fallback=fallback@entry=0)
    at ../plparse/totem-pl-parser.c:2371
#9  0x00007f358472465e in tracker_extract_get_metadata (info=0x7f358001cd00) at ../src/tracker-extract/tracker-extract-playlist.c:144
#10 0x0000558abb38f46c in get_file_metadata (task=task@entry=0x558abd2c4f20, info_out=info_out@entry=0x7f35674a9e60) at ../src/tracker-extract/tracker-extract.c:306
#11 0x0000558abb38fb64 in get_metadata (task=0x558abd2c4f20) at ../src/tracker-extract/tracker-extract.c:424
#12 0x0000558abb38fc58 in single_thread_get_metadata (queue=0x558abd426fb0) at ../src/tracker-extract/tracker-extract.c:510
#13 0x00007f3591ec4fa1 in g_thread_proxy (data=0x558abd3eb300) at ../glib/gthread.c:820
#14 0x00007f3591b554d2 in start_thread (arg=<optimized out>) at pthread_create.c:477
#15 0x00007f3591a814d3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) frame 4
#4  0x00007f3591ccab33 in g_file_load_contents (file=file@entry=0x558abd425120, cancellable=cancellable@entry=0x0, contents=contents@entry=0x7f35674a9cc8, length=length@entry=0x7f35674a9cd0, 
    etag_out=etag_out@entry=0x0, error=error@entry=0x0) at ../gio/gfile.c:7061
7061	  in = g_file_read (file, cancellable, error);
(gdb) frame 0
#0  statx (fd=fd@entry=9, path=path@entry=0x7f3591dcc197 "", flags=flags@entry=4096, mask=mask@entry=1, buf=buf@entry=0x7f35674a9b20) at ../sysdeps/unix/sysv/linux/statx.c:29
29	  int ret = INLINE_SYSCALL_CALL (statx, fd, path, flags, mask, buf);
(gdb) list
24	int
25	statx (int fd, const char *path, int flags,
26	       unsigned int mask, struct statx *buf)
27	{
28	#ifdef __NR_statx
29	  int ret = INLINE_SYSCALL_CALL (statx, fd, path, flags, mask, buf);
30	# ifdef __ASSUME_STATX
31	  return ret;
32	# else
33	  if (ret == 0 || errno != ENOSYS)

Running tracker-extract3 directly on the file from inside the sandbox works.

Assignee
Assign to
Time tracking