Page 1 of 1

Firefox w/ Noscript Segfault on x86_64 Gentoo

Posted: Sun May 03, 2009 9:04 pm
by AntiMS
I opened Firefox, NoScript enabled, and visited dominos.com, and Firefox segfaulted before the page started rendering.

I restarted Firefox, disabled NoScript (restarted again to complete the disabling) and dominos.com worked fine.

x86_64 Gentoo GNU/Linux
Xorg Server 1.5
KDE 3.5.9
Sun JDK 1.6.0.13

Firefox 3.0.10 (tested on Firefox 3.0.10 compiled for both both x86_64 and x86)

NoScript 1.9.2.6

Other Firefox Addons installed:
Easy Youtube Video Downloader 1.1
Firebug 1.3.3
Greasemonkey 0.8.20090123.1
Tamper Data 10.1.0
Torbutton 1.2.1
User Agent Switcher 0.6.11
Vimperator 2.0
Web Developer 1.1.6

And, here's part of an strace of Firefox when the segfault happens.

Code: Select all

open("/home/user/.mozilla/firefox/elgzqavw.default/cookies.sqlite-journal", O_RDWR|O_CREAT|O_EXCL|O_NOFOLLOW, 0644) = 75
open("/home/user/.mozilla/firefox/elgzqavw.default", O_RDONLY) = 76
fcntl(76, F_GETFD)                      = 0
fcntl(76, F_SETFD, FD_CLOEXEC)          = 0
fcntl(75, F_GETFD)                      = 0
fcntl(75, F_SETFD, FD_CLOEXEC)          = 0
fstat(75, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
lseek(75, 0, SEEK_SET)                  = 0
write(75, "\331\325\5\371 \241c\327\377\377\377\377\376F\251\304\0\0\0/\0\0\2\0\0\0\4\0\0\0\0\0\0"..., 512) = 512
lseek(75, 512, SEEK_SET)                = 512
write(75, "\0\0\0'"..., 4)              = 4
lseek(75, 516, SEEK_SET)                = 516
write(75, "\r\0\0\0\3\3\30\0\3\274\3Y\3\30\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024
lseek(75, 1540, SEEK_SET)               = 1540
write(75, "\376F\251\367"..., 4)        = 4
lseek(75, 1544, SEEK_SET)               = 1544
write(75, "\0\0\0\2"..., 4)             = 4
lseek(75, 1548, SEEK_SET)               = 1548
write(75, "\5\0\0\0\t\3\224\0\0\0\0'\3\364\3\350\3\334\3\320\3\304\3\270\3\254\3\240\3\224\0\0\0"..., 1024) = 1024
lseek(75, 2572, SEEK_SET)               = 2572
write(75, "\376F\251\307"..., 4)        = 4
lseek(75, 2576, SEEK_SET)               = 2576
write(75, "\0\0\0\10"..., 4)            = 4
lseek(75, 2580, SEEK_SET)               = 2580
write(75, "\r\0\0\0\4\0M\0\3\32\1I\0\223\0M\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024
lseek(75, 3604, SEEK_SET)               = 3604
write(75, "\376F\253\2"..., 4)          = 4
lseek(75, 3608, SEEK_SET)               = 3608
write(75, "\0\0\0\t"..., 4)             = 4
lseek(75, 3612, SEEK_SET)               = 3612
write(75, "\r\0\0\0\n\0X\0\3\301\3c\3\32\2\333\2\225\2\35\1\333\1\212\1\20\0X\0\0\0\0\0"..., 1024) = 1024
lseek(75, 4636, SEEK_SET)               = 4636
write(75, "\376F\252\205"..., 4)        = 4
socket(PF_NETLINK, SOCK_RAW, 0)         = 77
bind(77, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
getsockname(77, {sa_family=AF_NETLINK, pid=11475, groups=00000000}, [1025298303752863756]) = 0
sendto(77, "\24\0\0\0\26\0\1\3\215\372\375I\0\0\0\0\0\0\0\0"..., 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20
recvmsg(77, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"0\0\0\0\24\0\2\0\215\372\375I\323,\0\0\2\10\200\376\1\0\0\0\10\0\1\0\177\0\0\1\10"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 108
recvmsg(77, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"@\0\0\0\24\0\2\0\215\372\375I\323,\0\0\n\200\200\376\1\0\0\0\24\0\1\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 128
recvmsg(77, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0\215\372\375I\323,\0\0\0\0\0\0\1\0\0\0\24\0\1\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 20
close(77)                               = 0
socket(PF_NETLINK, SOCK_RAW, 0)         = 77
bind(77, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
getsockname(77, {sa_family=AF_NETLINK, pid=11475, groups=00000000}, [1025298303752863756]) = 0
sendto(77, "\24\0\0\0\26\0\1\3\215\372\375I\0\0\0\0\0\0\0\0"..., 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20
recvmsg(77, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"0\0\0\0\24\0\2\0\215\372\375I\323,\0\0\2\10\200\376\1\0\0\0\10\0\1\0\177\0\0\1\10"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 108
recvmsg(77, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"@\0\0\0\24\0\2\0\215\372\375I\323,\0\0\n\200\200\376\1\0\0\0\24\0\1\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 128
recvmsg(77, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0\215\372\375I\323,\0\0\0\0\0\0\1\0\0\0\24\0\1\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 20
close(77)                               = 0
lseek(75, 4640, SEEK_SET)               = 4640
write(75, "\0\0\0\1"..., 4)             = 4
lseek(75, 4644, SEEK_SET)               = 4644
write(75, "SQLite format 3\0\4\0\1\1\0@  \0\2\363\313\0\0\0\0\0"..., 1024) = 1024
lseek(75, 5668, SEEK_SET)               = 5668
write(75, "\376F\251\305"..., 4)        = 4
fcntl(35, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=1073741824, len=1}) = 0
fcntl(35, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=1073741826, len=510}) = 0
lseek(35, 0, SEEK_SET)                  = 0
write(35, "SQLite format 3\0\4\0\1\1\0@  \0\2\363\314\0\0\0\0\0"..., 1024) = 1024
lseek(35, 1024, SEEK_SET)               = 1024
write(35, "\5\0\0\0\t\3\224\0\0\0\0'\3\364\3\350\3\334\3\320\3\304\3\270\3\254\3\240\3\224\0\0\0"..., 1024) = 1024
lseek(35, 7168, SEEK_SET)               = 7168
write(35, "\r\0\0\0\3\0\223\0\0\223\1y\3J\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024
lseek(35, 8192, SEEK_SET)               = 8192
write(35, "\r\0\0\0\10\1\225\0\1\225\1\333\2\32\2x\2\301\3\0\3F\3\276\0\0\0\0\0\0\0\0\0"..., 1024) = 1024
lseek(35, 38912, SEEK_SET)              = 38912
write(35, "\r\0\0\0\6\1\225\0\1\326\2'\2\241\3Y\3\235\1\225\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024
close(76)                               = 0
close(75)                               = 0
unlink("/home/user/.mozilla/firefox/elgzqavw.default/cookies.sqlite-journal") = 0
fcntl(35, F_SETLK, {type=F_RDLCK, whence=SEEK_SET, start=1073741826, len=510}) = 0
fcntl(35, F_SETLK, {type=F_UNLCK, whence=SEEK_SET, start=1073741824, len=2}) = 0
fcntl(35, F_SETLK, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}) = 0
lseek(32, 10496, SEEK_SET)              = 10496
write(32, "GIF89a\1\0\1\0\200\0\0\377\377\377\0\0\0!\371\4\1\0\0\0\0,\0\0\0\0\1"..., 43) = 43
lseek(32, 10752, SEEK_SET)              = 10752
write(32, "\0\1\0\v\0\0\0\0\0\0\0\1I\375\372\215I\375\372\215\0\0\0\0\0\0\0+\0\0\0002\0"..., 303) = 303
stat("/var/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0
access("/var/tmp", R_OK|W_OK|X_OK)      = 0
access("/var/tmp/etilqs_idHXfOoYacIaeFE", F_OK) = -1 ENOENT (No such file or directory)
stat("/var/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0
access("/var/tmp", R_OK|W_OK|X_OK)      = 0
access("/var/tmp/etilqs_urCi60naLnXULp1", F_OK) = -1 ENOENT (No such file or directory)
write(17, "8"..., 1)                    = 1
futex(0x70d490, FUTEX_WAKE_PRIVATE, 1)  = 1
write(17, "8"..., 1)                    = 1
futex(0x70d490, FUTEX_WAKE_PRIVATE, 1)  = 1
write(17, "8"..., 1)                    = 1
futex(0x70d490, FUTEX_WAKE_PRIVATE, 1)  = 1
stat("/var/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0
access("/var/tmp", R_OK|W_OK|X_OK)      = 0
access("/var/tmp/etilqs_obd8elvflVp8GEK", F_OK) = -1 ENOENT (No such file or directory)
stat("/var/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0
access("/var/tmp", R_OK|W_OK|X_OK)      = 0
access("/var/tmp/etilqs_2RVgDJ34zeOVMad", F_OK) = -1 ENOENT (No such file or directory)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
unlink("/home/user/.mozilla/firefox/elgzqavw.default/lock") = 0
rt_sigaction(SIGSEGV, {SIG_DFL, [], SA_RESTORER, 0x7f5905f869f0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
tgkill(11475, 11475, SIGSEGV)           = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
I haven't found anything about others having similar issues after a fair amount of googling.

Let me know if you'd like any other information from me. I'll be happy to provide it.

And, thanks for providing NoScript! It's one of my essential must-have addons for Firefox.

Re: Firefox w/ Noscript Segfault on x86_64 Gentoo

Posted: Mon May 04, 2009 12:42 am
by Giorgio Maone
Investigating, thanks for the report.
Just to exclude a multi-extension conflict, could you try Standard Diagnostic keeping NS enabled?

Re: Firefox w/ Noscript Segfault on x86_64 Gentoo

Posted: Mon May 04, 2009 12:58 am
by GµårÐïåñ
I know yours a linux matter so I will let Giorgio try to figure this one out as he has a more handy copy but I use dominos website with NS and have no issue and never have, for what its worth.