Firefox crashes when loading session restore...
It crashed once when I was browsing, then upon restarting it, there was no session restore page, just a blank one. I started to freak out, as i have lost a session restore before. But I knew where it was kept this time, so before closing FF i went and got it, found the sessionstore.js was a few kb, but the sessionstore.bak was 70mb, so I copied it and then I looked up how to go about fixing the problem.
I then closed FF, deleted the original sessionstore.js &.bak and copied the backup copy to sessionstore.js ...that didnt work, it only restored the previous tabs I had open after it had crashed. so I copied the backup to sessionstore.js & .bak, and that started it loading the session restore...when it then just crashed to the crash reporter. Why is it doing this? is the file corrupt? Is there any way to fix it?
(edit: noticed I'd got the filenames wrong, sessionstore.js not sessionrestore.js)
I just noticed this when I looked up the Crash ID as mentioned below.
Signature free | js_json_stringify(JSContext*, unsigned int, int*) UUID d9c96070-631a-479e-8fdc-f535a2100922 Time 2010-09-22 20:43:11.270385 Uptime 177 Last Crash 863 seconds (14.4 minutes) before submission Install Age 324998 seconds (3.8 days) since version was first installed. Product Firefox Version 3.5.13 Build ID 20100914130356 Branch 1.9.1 OS Windows NT OS Version 5.1.2600 Service Pack 3 CPU x86 CPU Info GenuineIntel family 15 model 4 stepping 1 Crash Reason EXCEPTION_ACCESS_VIOLATION_READ Crash Address 0x0 User Comments crashes on loading session restore Processor Notes EMCheckCompatibility False
この投稿は andy229 により
すべての返信 (7)
You can try to extract the links from sessionstore.bak with this bookmarklet.
javascript:(function(){var D=document,H,i=j=0,P=D.getElementsByTagName('PRE'),t='',T,U;for(j=0;E=P[j];j++){H=E.innerHTML;while(/[^:]\{"entries":\[\{("url":"([^"]*)")\,("title":"([^"]*)"){0,1}/g.exec(H)){U=RegExp.$2;T=RegExp.$4;if(T.length==0){T=U;}t+='<b>['+(++i)+']</b>%20<a%20href='+U+'>'+T+' ('+U+')<\/a><br>';}}with(window.open().document){open();close();body.innerHTML=t;}})();
Open the sessionstore.bak file in Firefox via "File > Open File" and copy and paste the code in the location bar on the tab with that file.
If Firefox wants to download the file then put view-source before the link (view-source:file://) or give the file an extra .txt file extension (sessionstore.bak.txt)
With such a large file it can take some time before anything happens, so be patient.
この投稿は cor-el により
thanks,
I was searching for programs to extract the links too. ^_^
would the size of it be causing problems? It only got so big because I couldn't save the links, and I didn't want to bookmark them.
I've never tried the code with such a big file, so you have to try if it works.
The file is in JSON format, so it is not easy to use a text editor or other means to extract links.
The bookmarklet works with a text file, so breaking that big file in several parts should also work if you split before an entries section that starts with {"entries":[{"url":
Entries that starts with "state":{"entries": store a closed tab and are not processed by this bookmarklet. You can change /[^:]\{"entries" to /"state":\{"entries" to process those in the above code or leave out the [^:] ( /\{"entries" ) to get them all.
it starts like this ({"windows":[{"tabs":[{"entries":[{"url":"about:sessionrestore","ID":0,"formdata":{"#sessionData":"({\"windows\":[{\"tabs\":[{\"entries\":[{\"url\":\"about:sessionrestore\",\"ID\":783240883,\"formdata\":{\"#sessionData\":\"({\\\"windows\\\":[{\\\"tabs\\\":[{\\\"entries\\\":[{\\\"url\\\":\\\"about:sessionrestore\\\",\\\"ID\\\":211137884,\\\"formdata\\\":{\\\"#sessionData\\\":\\\"({\\\\\\\"windows\\\\\\\":[{\\\\\\\"tabs\\\\\\\":[{\\\\\\\"entries\\\\\\\":[{\\\\\\\"url\\\\\\\":\\\\\\\"about:sessionrestore\\\\\\\",\\\\\\\"ID\\\\\\\":3612280960,\\\\\\\"formdata\\\\\\\"
which doesn't look good. it also crashed firefox when I tried to look at it further across. (cos it's all on one line)
then it pops up a small window saying 'current domain name is null' is there a way to do this with another program?
well, after it crashed...it crashed again before i got to reply to this. Seems it doesn't like the big file.
It also wont let me reply, i have to log out then log back in to reply?
this all started to go bad after the update before last, since then it has been playing up a lot.
I just tried a program I downloaded, JSON Viewer, it shows the same thing as what I copied & pasted into notepad. one or two readable words and a whole lot of \\\\\\\\\\\\\\\\ I just remembered I had backed up my whole firefox directory mm 2 weeks ago, and I can try copying the sessionstore.js & .bak off that. Then go and 'restore tabs' for each session restore in that, and copy the URLs to notepad. Seems like it might be the easiest way? The sessionstore file seems corrupt, or is that the way it normally looks?