GNOME Bugzilla – Bug 353115
GMail and Ajax websites not working with Firefox 2.0 backend
Last modified: 2007-05-30 17:22:21 UTC
That bug has been opened on https://launchpad.net/distros/ubuntu/+source/epiphany-browser/+bug/57888 "For some reason, I now cannot read mail in my Google Mail account using Epiphany. Here is what I do (you will need an existing Google account): * Go to http://mail.google.com * Enter your username and password. You should then be taken to your list of emails. * Click on one of the emails listed. Rather than viewing the email, Epiphany remains at the email list. This behaviour has occurred since I updated Firefox to 2.0 beta 1 (currently at version 1.99+2.0b1+dfsg-1ubuntu3). This behaviour does not occur when I use Firefox to access my Google Mail account) Other details: * Using 6.10 Edgy Eft * Using Epiphany 2.15.91-0ubuntu1 * On i386 architecture" Downgrading firefox to 1.5 fixes the issue
*** Bug 353697 has been marked as a duplicate of this bug. ***
I can confirm this too on edgy with the versions in edgy. Note that it isn't limited to gmail or google websites. Try and compare with rendering of ff2: http://calendar.google.com http://images.google.com/imagelabeler http://digg.com/spy also flickr's tools to rotate photos and the organizer and stuff like that. It seems the ajax-esque sites are affected, maybe there is a problem with XmlHttpRequest ?
I can confirm this bug but only with FF 2.0. Downgrading to 1.5 makes Ephy works again.
So what we need here is a ff debug build: not just noopt,nostrip but --enable-debug --disable-optimize on the ff configure line. Then rebuild ephy against that ff (required), and e-e (or disable all extensions). Then run epiphany, go to a non-working-JS site, and look if there's any output on console.
Changing the title to be more accurate and confirming this bug
Confirmed, causes Gmail, Digg, and others to stop working
bug #354584, bug #354578 seems like duplicates of this.
*** Bug 354578 has been marked as a duplicate of this bug. ***
Yes, bug #354584 is most likely the same issue. A basic javascript test that fails is: new DOMParser(); You can see it in the error-viewer plugin. It could be a more general issue. Sorry I don't have time to make a debug build :(
*** Bug 354584 has been marked as a duplicate of this bug. ***
*** Bug 354198 has been marked as a duplicate of this bug. ***
*** Bug 354577 has been marked as a duplicate of this bug. ***
*** Bug 353854 has been marked as a duplicate of this bug. ***
So, I have finally got to building that debug build of both firefox and epiphany. I'm posting console output snippets from both epiphany and firefox, the tested web page with javascript works in firefox and doesn't in epiphany. Both packages are from ubuntu edgy (+ rebuild with debug information), versions: 2.16.1-0ubuntu2 (epiphany) and 1.99+2.0rc2+dfsg-0ubuntu1 (firefox). Is this any help? Console output snippet (after complete start, going to http://xperiment.programming-designs.com/ys/ and then closing the browser after some time) from epiphany: --DOMWINDOW == 2 ++DOMWINDOW == 3 --DOMWINDOW == 2 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsDOMClassInfo.cpp, line 5381 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsDOMClassInfo.cpp, line 6048 JavaScript error: , line 0: uncaught exception: [Exception... "Failure" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://xperiment.programming-designs.com/ys/js/jquery.js :: <TOP_LEVEL> :: line 14" data: no] JavaScript error: http://xperiment.programming-designs.com/ys/js/spy.js, line 8: $.fn has no properties CSS Error (http://xperiment.programming-designs.com/ys/css/yshout.css :141.8): Unknown property 'filter'. Declaration dropped. CSS Error (http://xperiment.programming-designs.com/ys/css/yshout.css :159.8): Unknown property 'filter'. Declaration dropped. CSS Error (http://xperiment.programming-designs.com/ys/css/yshout.css :187.8): Unknown property 'filter'. Declaration dropped. JavaScript error: http://xperiment.programming-designs.com/ys/js/jquery.js, line 14: $.Select is not a function JavaScript error: http://xperiment.programming-designs.com/ys/js/jquery.js, line 14: $.Select is not a function And the same with firefox: --DOMWINDOW == 6 ++DOMWINDOW == 7 CSS Error (http://xperiment.programming-designs.com/ys/css/yshout.css :141.8): Unknown property 'filter'. Declaration dropped. CSS Error (http://xperiment.programming-designs.com/ys/css/yshout.css :159.8): Unknown property 'filter'. Declaration dropped. CSS Error (http://xperiment.programming-designs.com/ys/css/yshout.css :187.8): Unknown property 'filter'. Declaration dropped. WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. ************************************************************ * Call to xpconnect wrapped JSObject produced this error: * [Exception... "'[JavaScript Error: "syntax error" {file: "http://xperiment.programming-designs.com/ys/js/yshout.js" line: 441 column: 0 source: ")"}]' when calling method: [nsIOnReadyStateChangeHandler::handleEvent]" nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)" location: "<unknown>" data: yes] ************************************************************ WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. WARNING: Couldn't add reflow command, so splitting. ************************************************************ * Call to xpconnect wrapped JSObject produced this error: * [Exception... "'[JavaScript Error: "syntax error" {file: "http://xperiment.programming-designs.com/ys/js/yshout.js" line: 441 column: 0 source: ")"}]' when calling method: [nsIOnReadyStateChangeHandler::handleEvent]" nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)" location: "<unknown>" data: yes] ************************************************************ ************************************************************ * Call to xpconnect wrapped JSObject produced this error: * [Exception... "'[JavaScript Error: "syntax error" {file: "http://xperiment.programming-designs.com/ys/js/yshout.js" line: 441 column: 0 source: ")"}]' when calling method: [nsIOnReadyStateChangeHandler::handleEvent]" nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)" location: "<unknown>" data: yes] ************************************************************ ************************************************************ * Call to xpconnect wrapped JSObject produced this error: * [Exception... "'[JavaScript Error: "syntax error" {file: "http://xperiment.programming-designs.com/ys/js/yshout.js" line: 441 column: 0 source: ")"}]' when calling method: [nsIOnReadyStateChangeHandler::handleEvent]" nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)" location: "<unknown>" data: yes] ************************************************************ WARNING: requested removal of nonexistent window , file nsWindowWatcher.cpp, line 1108 --WEBSHELL == 2 --WEBSHELL == 1 --WEBSHELL == 0 --DOMWINDOW == 6 --DOMWINDOW == 5 --DOMWINDOW == 4 --DOMWINDOW == 3 --DOMWINDOW == 2 --DOMWINDOW == 1 --DOMWINDOW == 0 WARNING: nsExceptionService ignoring thread destruction after shutdown, file nsExceptionService.cpp, line 191 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsGlobalHistory.cpp, line 2611 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(OpenDB())) failed, file nsGlobalHistory.cpp, line 1260 ###!!! ASSERTION: Potential deadlock between Monitor@8098028 and Lock@8832c70: 'Error', file nsAutoLock.cpp, line 302 Break: at file nsAutoLock.cpp, line 302 GC Cache: hits: 1068 190 85 128 202 58 115 13 26 24 hits: 1909, misses: 478, hit percent: 79.974869% nsStringStats => mAllocCount: 19432 => mReallocCount: 4005 => mFreeCount: 19430 -- LEAKED 2 !!! => mShareCount: 19907 => mAdoptCount: 2600 => mAdoptFreeCount: 2560 -- LEAKED 40 !!!
Thanks for the info! WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsDOMClassInfo.cpp, line 5381 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsDOMClassInfo.cpp, line 6048 These warnings point to the cause of the problem. Can you please - attach the config.log file that running epiphany's configure produced - tell me whether you ever used your epiphany profile with an epiphany built against gecko trunk (firefox or xulrunner 1.9) - run epiphany under gdb and get backtraces from the warnings above: 5373 if (name_struct->mType == nsGlobalNameStruct::eTypeExternalClassInfoCreator) { 5374 nsCOMPtr<nsIDOMCIExtension> creator(do_CreateInstance(name_struct->mCID, &rv)); 5375 NS_ENSURE_SUCCESS(rv, rv); 5376 5377 nsCOMPtr<nsIDOMScriptObjectFactory> sof(do_GetService(kDOMSOF_CID)); 5378 NS_ENSURE_TRUE(sof, NS_ERROR_FAILURE); 5379 5380 rv = creator->RegisterDOMCI(NS_ConvertUCS2toUTF8(name).get(), sof); 5381 NS_ENSURE_SUCCESS(rv, rv); Here I'm interested in |*name_struct| (esp. ->mCID) and |name.get()| (this is UTF16, so you may have problems printing it, a hexdump is ok) Since this function is going to get hit often but we only want the failure case, you can make a conditional breakpoint, "condition <num> rv & 0x8000000" should do it, I think.
Make that "rv & 0x80000000" actually.
OK, hopefully I did it right since I'm not much experienced in working with gdb. First, answer to your question about using epiphany against gecko trunk. Actually, I don't know, I've switched to Ubuntu Edgy since almost its beginning, so I'm probably affected with all problems in ff2 packaging in Edgy. On the other hand, I unfortunately managed to delete my home directory (don't ask me how ;-)) 2 months ago and this was after all edgy experiments with epiphany compiled against xulrunner. Please correct me someone if I'm wrong about all this edgy epiphany stuff. Both config.log and gdb.txt will be attached. In gdb.txt, backtraces are clear, printed data are in following order: *name_struct, name_struct->mCID, name.get(), (PRUnichar[])name.get(), (unsigned char[])name.get(). Mostly I used the print command first, then p/x for all mentioned data. Let me know if I can do more.
Created attachment 74508 [details] config.log from epiphany build (using dpkg-buildpackage in ubuntu)
Created attachment 74509 [details] gdb output with hopefully all requested information
Thanks! mCID = {m0 = 0x6fb64081, m1 = 0x1da6, m2 = 0x11d6, m3 = {0xa7, 0xf2, 0x9b, 0xab, 0xb2, 0x55, 0x52, 0xbc}}}} This CID belongs to this component: http://lxr.mozilla.org/seamonkey/source/extensions/xmlextras/build/src/nsXMLExtrasModule.cpp#63 I can certainly see this component not being available affect ajaxy web sites. Now for why it fails, I don't know... Can you try to move /usr/lib/firefox/components/compreg.dat away (don't delete the file, we may need it later), and see if that makes any difference?
Bingo! It works! At least the site http://xperiment.programming-designs.com/ys/js/yshout.js I use for testing ;-) After some further examination I found that two files in /usr/lib/firefox/components/ here are not from packages: xpti.dat and compreg.dat (dpkg -S didn't find them). So probably they are some leftovers from early Edgy packages. The remaining questions are: - Does this help everyone having problem with AJAX sites? - What is different in Epiphany (in respect to FF2) that it loads this compreg.dat? Thanks!
There has been problems with edgy in ubuntu before with compreg.dat However this is was during dapper. https://launchpad.net/distros/ubuntu/+source/firefox/+bug/30791 (We need a distributed bug tracker! ;)
indeed, removing compreg.dat solves the problem !
The problem appears fixed now in Ubuntu Edgy.
What you see in Edgy is a workaround in firefox package that removes /usr/local/firefox/components/compreg.dat after package upgrade.