When userContent.css is a symbolic link on Windows Vista or 7, firefox does not start up, seems to fall into a busy loop.
Categories
(Core :: CSS Parsing and Computation, defect)
Tracking
()
People
(Reporter: sh, Unassigned)
References
Details
(Keywords: hang, regression)
Attachments
(1 file)
(deleted),
application/x-zip
|
Details |
Comment 1•13 years ago
|
||
Comment 2•13 years ago
|
||
Comment 3•13 years ago
|
||
Comment 4•13 years ago
|
||
Comment 6•13 years ago
|
||
Comment 7•13 years ago
|
||
Comment 8•13 years ago
|
||
Comment 9•13 years ago
|
||
Comment 10•13 years ago
|
||
Comment 11•13 years ago
|
||
Comment 12•13 years ago
|
||
Comment 13•13 years ago
|
||
Comment 14•12 years ago
|
||
Comment 15•12 years ago
|
||
Updated•8 years ago
|
Comment 16•8 years ago
|
||
Comment 17•2 years ago
|
||
In the process of migrating remaining bugs to the new severity system, the severity for this bug cannot be automatically determined. Please retriage this bug using the new severity system.
Comment 18•2 years ago
|
||
Well, I wanted to learn how linux version behaves if userChrome.css or userContent.css are symlinks.
Here is what I found.
To my surprise, they are NO longer read by firefox at all by default.
Then I realize that between the time the original post was made and now when the quantum version has been introduced, firefox made the reading of
user{Chrome|Content}.css an option behind config variable,
toolkit.legacyUserProfileCustomizations.stylesheets
Is this correct?
Anyway, I changed the above |toolkit.legacyUserProfileCustomizations.stylesheets| to true and then
firefox reads the file.
I verified it by using strace to monitor system calls. Presumably
|openat()| system calls are for reading them.
ishikawa@ip030:~/.mozilla/firefox/uwbw8ho5.default-release$ strace -o /tmp/t.out firefox
[GFX1-]: glxtest: VA-API test failed: failed to initialise VAAPI connection.
ATTENTION: default value of option mesa_glthread overridden by environment.
[2022-10-04T09:16:44Z ERROR glean_core::metrics::ping] Invalid reason code startup for ping background-update
[2022-10-04T09:16:49Z ERROR viaduct::backend::ffi] Missing HTTP status
[2022-10-04T09:16:49Z ERROR viaduct::backend::ffi] Missing HTTP status
ishikawa@ip030:~/.mozilla/firefox/uwbw8ho5.default-release$ grep .css /tmp/t.out
newfstatat(AT_FDCWD, "/home/ishikawa/.config/gtk-3.0/gtk.css", 0x7ffc9a8f58f0, 0) = -1 ENOENT (No such file or directory)
access("/home/ishikawa/.mozilla/firefox/uwbw8ho5.default-release/chrome/userContent.css", F_OK) = 0
stat("/home/ishikawa/.mozilla/firefox/uwbw8ho5.default-release/chrome/userContent.css", {st_mode=S_IFREG|0644, st_size=869, ...}) = 0
openat(AT_FDCWD, "/home/ishikawa/.mozilla/firefox/uwbw8ho5.default-release/chrome/userContent.css", O_RDONLY) = 42
access("/home/ishikawa/.mozilla/firefox/uwbw8ho5.default-release/chrome/userChrome.css", F_OK) = 0
stat("/home/ishikawa/.mozilla/firefox/uwbw8ho5.default-release/chrome/userChrome.css", {st_mode=S_IFREG|0644, st_size=1165, ...}) = 0
openat(AT_FDCWD, "/home/ishikawa/.mozilla/firefox/uwbw8ho5.default-release/chrome/userChrome.css", O_RDONLY) = 42
ishikawa@ip030:~/.mozilla/firefox/uwbw8ho5.default-release$ cd /home/ishikawa/.mozilla/firefox/uwbw8ho5.default-release/chrome
ishikawa@ip030:~/.mozilla/firefox/uwbw8ho5.default-release/chrome$ ls -l *.css
-rw-r--r-- 1 ishikawa ishikawa 1165 10月 4 17:11 userChrome-example.css
-rw-r--r-- 1 ishikawa ishikawa 1165 10月 4 17:55 userChrome.css
-rw-r--r-- 1 ishikawa ishikawa 869 10月 4 17:11 userContent-example.css
-rw-r--r-- 1 ishikawa ishikawa 869 10月 4 17:11 userContent.css
ishikawa@ip030:~/.mozilla/firefox/uwbw8ho5.default-release/chrome$
THEN I changed userContent.css as a symlink to another real file.
So I started firefox. At least, it did not get hung.
strace -o /tmp/t.out firefox
[GFX1-]: glxtest: VA-API test failed: failed to initialise VAAPI connection.
ATTENTION: default value of option mesa_glthread overridden by environment.
[2022-10-04T09:20:22Z ERROR glean_core::metrics::ping] Invalid reason code startup for ping background-update
[2022-10-04T09:20:31Z ERROR mp4parse] Found 2 nul bytes in "\0\0"
[2022-10-04T09:20:31Z ERROR mp4parse] Found 2 nul bytes in "\0\0"
[2022-10-04T09:20:31Z ERROR mp4parse] Found 2 nul bytes in "\0\0"
[2022-10-04T09:20:31Z ERROR mp4parse] Found 2 nul bytes in "\0\0"
ishikawa@ip030:~/.mozilla/firefox/uwbw8ho5.default-release/chrome$
ishikawa@ip030:~/.mozilla/firefox/uwbw8ho5.default-release/chrome$ grep userContent.css /tmp/t.out
access("/home/ishikawa/.mozilla/firefox/uwbw8ho5.default-release/chrome/userContent.css", F_OK) = 0
stat("/home/ishikawa/.mozilla/firefox/uwbw8ho5.default-release/chrome/userContent.css", {st_mode=S_IFREG|0644, st_size=869, ...}) = 0
ishikawa@ip030:~/.mozilla/firefox/uwbw8ho5.default-release/chrome$ ls -l ./*.css
-rw-r--r-- 1 ishikawa ishikawa 1165 10月 4 17:11 ./userChrome-example.css
-rw-r--r-- 1 ishikawa ishikawa 1165 10月 4 17:55 ./userChrome.css
-rw-r--r-- 1 ishikawa ishikawa 869 10月 4 17:11 ./userContent-example.css
lrwxrwxrwx 1 ishikawa ishikawa 20 10月 4 18:19 ./userContent.css -> /tmp/userContent.css
ishikawa@ip030:~/.mozilla/firefox/uwbw8ho5.default-release/chrome$
But, I am not sure if it read the content of userContent.css at all. There is no |openat()| call anymore.
When I make userChrome a symlink additionally, the following is what happens.
firefox starts and exit as I instructed it.
From the strace output:
grep '.css' /tmp/t.out
newfstatat(AT_FDCWD, "/home/ishikawa/.config/gtk-3.0/gtk.css", 0x7ffe688e0460, 0) = -1 ENOENT (No such file or directory)
access("/home/ishikawa/.mozilla/firefox/uwbw8ho5.default-release/chrome/userContent.css", F_OK) = 0
stat("/home/ishikawa/.mozilla/firefox/uwbw8ho5.default-release/chrome/userContent.css", {st_mode=S_IFREG|0644, st_size=869, ...}) = 0
access("/home/ishikawa/.mozilla/firefox/uwbw8ho5.default-release/chrome/userChrome.css", F_OK) = 0
stat("/home/ishikawa/.mozilla/firefox/uwbw8ho5.default-release/chrome/userChrome.css", {st_mode=S_IFREG|0644, st_size=1165, ...}) = 0
openat(AT_FDCWD, "/home/ishikawa/.mozilla/firefox/uwbw8ho5.default-release/chrome/userChrome.css", O_RDONLY) = 42
ishikawa@ip030:~/.mozilla/firefox/uwbw8ho5.default-release/chrome$
So it seems that userChrome.css is read (see |openat| system call above. I don't see anything similar for userContent.css above.
BTW, I have simply copied the content of user{Content,Chrome}-example.css to corresponding files.
ishikawa@ip030:~/.mozilla/firefox/uwbw8ho5.default-release/chrome$ ls -l /tmp/*.css
-rw-r--r-- 1 ishikawa ishikawa 1165 10月 4 18:25 /tmp/userChrome.css
-rw-r--r-- 1 ishikawa ishikawa 869 10月 4 18:18 /tmp/userContent.css
ishikawa@ip030:~/.mozilla/firefox/uwbw8ho5.default-release/chrome$
This is with 105.0.1 (64-bit) under Debian GNU/Linux.
I reverted the change to |toolkit.legacyUserProfileCustomizations.stylesheets| (setting to false) and FF no longer accesses the .css files.
OK.
I will post what I find for Windows build.
Comment 19•2 years ago
|
||
This seems to be WORKSFORME.
I followed the STR from comment 0, in Windows 11, to create a folder chrome
and then a symlink inside of it userContent.css
, inside of my Firefox profile folder (found via about:support
"open folder"), in an administrator-run cmd.exe shell. After that, Firefox (v113.0.1) still starts up just fine.
I then tried setting toolkit.legacyUserProfileCustomizations.stylesheets
to true and quit & reopened Firefox. It still started just fine.
I then created userContent.css
in my home directory (where the symlink is pointing) and gave it just one line, * { border: 1px solid red }
, and then I started Firefox. Again it started just fine, and I saw red borders around lots of UI components, indicating that the userContent.css
symbolic link is being successfully opened and followed.
So: this seems to work fine these days.
Description
•