https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258679

--- Comment #19 from Tatsuki Makino <tatsuki_mak...@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.

Reply via email to