[Bug 258679] www/chromium: Unable to download files with chromium-92.0.4515.159_2

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 12 Nov 2021 02:02:59 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258679

--- Comment #19 from Tatsuki Makino <tatsuki_makino@hotmail.com> ---
This is too exaggerated to be called an idea :) , but....

I ran chrome with truss logging.
> truss -d -o /tmp/truss.log -- chrome --incognito &

Then observe the truss log.
> less -n -+S +F -- /tmp/truss.log

In a line like the following, find the handle of the IPC? with the X server.
> 4.478558977 connect(22,{ AF_UNIX "/tmp/.X11-unix/X0" },106) = 0 (0x0)

This descriptor 22 produces a large amount of logging just by moving the mouse,
but it can all be ignored.
> 25.314379644 recvmsg(22,0x7fffffffda00,0)        ERR#35 'Resource temporarily unavailable'
> 25.314406709 recvmsg(22,0x7fffffffda30,0)        ERR#35 'Resource temporarily unavailable'
> 25.314437758 poll({ 5/POLLIN 21/POLLIN 22/POLLIN },3,0) = 0 (0x0)

You can ignore the parts of it that you don't want, but if you download the
featured file, you can easily find where it might be relevant.

> 23.004446278 open("/home/tatsuki/.local/share/.org.chromium.Chromium.0kroOZ",O_RDWR|O_CREAT|O_EXCL,0600) = 152 (0x98)
> 23.004597101 openat(AT_FDCWD,"/home/tatsuki/.local/share/.org.chromium.Chromium.0kroOZ",O_RDWR,00) = 152 (0x98)
> 23.009780133 access("/home/tatsuki/Downloads/CHECKSUM.SHA512-FreeBSD-13.0-RELEASE-amd64",F_OK) ERR#2 'No such file or directory'
> 23.054732785 access("/home/tatsuki/Downloads/CHECKSUM.SHA512-FreeBSD-13.0-RELEASE-amd64.crdownload",F_OK) = 0 (0x0)
> 23.055022511 access("/home/tatsuki/Downloads/CHECKSUM.SHA512-FreeBSD-13.0-RELEASE-amd64 (1).crdownload",F_OK) ERR#2 'No such file or directory'
> 23.055528878 access("/home/tatsuki/Downloads/CHECKSUM.SHA512-FreeBSD-13.0-RELEASE-amd64 (1).crdownload",F_OK) ERR#2 'No such file or directory'
> 23.055610948 openat(AT_FDCWD,"/home/tatsuki/Downloads/CHECKSUM.SHA512-FreeBSD-13.0-RELEASE-amd64 (1).crdownload",O_WRONLY|O_CREAT|O_TRUNC,0666) = 151 (0x97)
> 23.055798888 fstatat(AT_FDCWD,"/home/tatsuki/Downloads/CHECKSUM.SHA512-FreeBSD-13.0-RELEASE-amd64 (1).crdownload",{ mode=-rw-r--r-- ,inode=642050,size=0,blksize=32768 },0x0) = 0 (0x0)
> 23.055874646 fstatat(AT_FDCWD,"/home/tatsuki/Downloads/CHECKSUM.SHA512-FreeBSD-13.0-RELEASE-amd64 (1).crdownload",{ mode=-rw-r--r-- ,inode=642050,size=0,blksize=32768 },0x0) = 0 (0x0)
> 23.055926311 fstatat(AT_FDCWD,"/home/tatsuki/.local/share/.org.chromium.Chromium.0kroOZ",{ mode=-rw------- ,inode=29856080,size=1811,blksize=32768 },0x0) = 0 (0x0)
> 23.056057619 rename("/home/tatsuki/.local/share/.org.chromium.Chromium.0kroOZ","/home/tatsuki/Downloads/CHECKSUM.SHA512-FreeBSD-13.0-RELEASE-amd64 (1).crdownload") ERR#18 'Cross-device link'
> 23.056209671 access("/home/tatsuki/Downloads/CHECKSUM.SHA512-FreeBSD-13.0-RELEASE-amd64 (1).crdownload",F_OK) = 0 (0x0)
> 23.056530051 fstatat(AT_FDCWD,"/home/tatsuki/Downloads/CHECKSUM.SHA512-FreeBSD-13.0-RELEASE-amd64 (1).crdownload",{ mode=-rw-r--r-- ,inode=642050,size=0,blksize=32768 },AT_SYMLINK_NOFOLLOW) = 0 (0x0)
> 23.056931343 fstatat(AT_FDCWD,"/home/tatsuki/.local/share/.org.chromium.Chromium.0kroOZ",{ mode=-rw------- ,inode=29856080,size=1811,blksize=32768 },AT_SYMLINK_NOFOLLOW) = 0 (0x0)
> 23.057138161 fstatat(AT_FDCWD,"/home/tatsuki/.local/share/.org.chromium.Chromium.0kroOZ",{ mode=-rw------- ,inode=29856080,size=1811,blksize=32768 },0x0) = 0 (0x0)
> 23.057200189 fstatat(AT_FDCWD,"/home/tatsuki/Downloads/CHECKSUM.SHA512-FreeBSD-13.0-RELEASE-amd64 (1).crdownload",{ mode=-rw-r--r-- ,inode=642050,size=0,blksize=32768 },0x0) = 0 (0x0)
> 23.057266794 openat(AT_FDCWD,"/home/tatsuki/.local/share/.org.chromium.Chromium.0kroOZ",O_RDONLY|O_NONBLOCK,00) = 152 (0x98)
> 23.057442543 openat(AT_FDCWD,"/home/tatsuki/Downloads/CHECKSUM.SHA512-FreeBSD-13.0-RELEASE-amd64 (1).crdownload",O_WRONLY|O_NONBLOCK|O_CREAT|O_TRUNC,0600) = 153 (0x99)
> 23.063141718 fstatat(AT_FDCWD,"/home/tatsuki/.local/share/.org.chromium.Chromium.0kroOZ",{ mode=-rw------- ,inode=29856080,size=1811,blksize=32768 },AT_SYMLINK_NOFOLLOW) = 0 (0x0)
> 23.063323207 unlink("/home/tatsuki/.local/share/.org.chromium.Chromium.0kroOZ") = 0 (0x0)

According to this, there seems to be a code that proceeds as follows: create a
temporary file, check for duplicate filenames, add a (1) before the last period
because the filenames were duplicated, and start over.

The rename is also failing, but I am also concerned about this sendfile
failure.
> 23.057592727 sendfile(0x98,0x99,0x0,0x713,0x0,0x7fffd6de9f48,0x7fff00000000) ERR#38 'Socket operation on non-socket'

There's an even better way. Does anyone have a built chrome with the following
settings enabled?
WITH_DEBUG=yes or WITH_DEBUG_PORTS=www/chromium
www_chromium_SET=DEBUG

I still need more time to prepare it on my end, as I did not have enough space
to build it on disk :)

-- 
You are receiving this mail because:
You are the assignee for the bug.