pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Firefox 24 doesn't restore session



Rhialto wrote:
> On Thu 31 Oct 2013 at 21:16:01 +0100, Martin Husemann wrote:
> > On Thu, Oct 31, 2013 at 09:00:23PM +0100, Rhialto wrote:
> > > Anybody else seeing this?
> > 
> > Yes, I see it as well - will have a look.
> 
> Thanks. In the mean time, I found a workaround that actually worked:
> change the setting "browser.startup.homepage_override.mstone" to a
> version one lower.
> 
> Which I managed to automate. In my little script that starts Firefox I
> added this:
 :

The similar kludge also works for me by adding
~/.mozilla/firefox/xxxxxxxx.default/user.js file which has
>> user_pref("browser.startup.homepage_override.mstone", "23.0");
line.

The whole session information is stored in
~/.mozilla/firefox/xxxxxxxx.default/sessionstore.js, and
it looks there is something wrong around fstat() checks
against the sessionstore.js, according to ktrace output.


If I copy sessionstore.js from NetBSD (generated by pkgsrc firefox 24)
to ubuntu, firefox 24 on ubuntu can load it and restore all tabs properly.

Linux strace -f on firefox on ubuntu shows:
---
[pid 16346] gettimeofday({1383050120, 536085}, NULL) = 0
[pid 16346] 
open("/home/tsutsui/.mozilla/firefox/a4po3i17.default/sessionstore.js", 
O_RDONLY) = 33
[pid 16346] fstat64(33, {st_mode=S_IFREG|0600, st_size=302226, ...}) = 0
[pid 16346] mmap2(NULL, 1048576, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xa7000000
[pid 16346] read(33,  <unfinished ...>
 :
[pid 16346] <... read resumed> "{\"windows\":[{\"tabs\":[{\"entries\":"..., 
302226) = 302226
---
so it tries open(2), fstat(2), mmap(2) and read(2) sessionstore.js.

With pkgsrc firefox-24 ktrace/kdump shows:
---
  1336     11 firefox  RET   __gettimeofday50 0
  1336     11 firefox  CALL  open(0xb1fdace0,0,0x180)
  1336     11 firefox  NAMI  
"/home/tsutsui/.mozilla/firefox/1xub1hun.default/sessionstore.js"
  1336     11 firefox  RET   open 37/0x25
  1336     11 firefox  CALL  __fstat50(0x25,0xb25fdb20)
  1336     11 firefox  RET   __fstat50 0
  1336     11 firefox  CALL  close(0x25)
  1336     11 firefox  RET   close 0
---
so it looks some checks against results of fstat(2) fail.

If lower browser.startup.homepage_override.mstone value is specified,
the sessionstore.js is checked and loaded earlier (to check upgrade?)
so it happens to work (though the above fstat() check still fails):
---
  1173      1 firefox  CALL  __stat50(0xb1792a68,0xb1740fcc)
  1173      1 firefox  NAMI  "/home/tsutsui/.mozilla/firefox/1xub1hun.default/s
essionstore.js"
  1173      1 firefox  RET   __stat50 0
  1173      1 firefox  CALL  __lstat50(0xb1792a68,0xbfbf9fd0)
  1173      1 firefox  NAMI  
"/home/tsutsui/.mozilla/firefox/1xub1hun.default/sessionstore.js"
  1173      1 firefox  RET   __lstat50 0
  1173      1 firefox  CALL  __stat50(0xb1792a68,0xb174174c)
  1173      1 firefox  NAMI  
"/home/tsutsui/.mozilla/firefox/1xub1hun.default/sessionstore.js"
  1173      1 firefox  RET   __stat50 0
  1173      1 firefox  CALL  open(0xb1792a68,0,0)
  1173      1 firefox  NAMI  
"/home/tsutsui/.mozilla/firefox/1xub1hun.default/sessionstore.js"
  1173      1 firefox  RET   open 34/0x22

 :

  1173      1 firefox  CALL  __stat50(0xb1792a68,0xb174174c)
  1173      1 firefox  NAMI  "/home/tsutsui/.mozilla/firefox/1xub1hun.default/s
essionstore.js"
  1173      1 firefox  RET   __stat50 0
  1173      1 firefox  CALL  lseek(0x22,0,0,0,1)
  1173      1 firefox  RET   lseek 0
  1173      1 firefox  CALL  lseek(0x22,0,0,0,2)
  1173      1 firefox  RET   lseek 97790/0x17dfe
  1173      1 firefox  CALL  lseek(0x22,0,0,0,0)
  1173      1 firefox  RET   lseek 0
  1173      1 firefox  CALL  mmap(0,0x100000,3,0x14001002,0xffffffff,0,0,0)
  1173      1 firefox  RET   mmap -1319108608/0xb1600000
  1173      1 firefox  CALL  read(0x22,0xb17bf000,0x17dfe)
  1173      1 firefox  GIO   fd 34 read 4088 bytes
       "{\"windows\":[{\"tabs\":[{\"entries\":[  ...

 :

  1173     11 firefox  CALL  open(0xb0f163d0,0,0x180)
  1173     11 firefox  NAMI  
"/home/tsutsui/.mozilla/firefox/1xub1hun.default/sessionstore.js"
  1173     11 firefox  RET   open 36/0x24
  1173     11 firefox  CALL  __fstat50(0x24,0xb25fdb20)
  1173     11 firefox  RET   __fstat50 0
  1173     11 firefox  CALL  close(0x24)
  1173     11 firefox  RET   close 0
---

I can't figure out which source (*.jsm files?) actually calls
the fstat(2) check though.

---
Izumi Tsutsui


Home | Main Index | Thread Index | Old Index