Closed Bug 531055 Opened 15 years ago Closed 12 years ago

freezes with 100% CPU pasting HTML (including pictures) from firefox

Categories

(Core :: DOM: Editor, defect)

x86
Windows Vista
defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: emmanuel.touzery, Unassigned)

Details

(Keywords: hang, Whiteboard: [has stack trace])

Attachments

(1 file)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729) Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.5) Gecko/20091121 Thunderbird/3.0 When pasting HTML (including pictures) from firefox in the compose window of thunderbird, I can make thunderbird3rc1 freeze with 100% CPU use (maybe infinite loop). Reproducible: Always Steps to Reproduce: 1. go to http://wiki.inkscape.org/wiki/index.php/ReleaseNotes047#New_effects using firefox 3.5 2. start composing a new mail in thunderbird 3. in firefox copy the section from "Sketch:" until the picture just before "von Koch:". In other words copy the sections about "Sketch" and "Hatches" including both pictures 4. paste this in the thunderbird compose window and wait that the pictures are loaded in the thunderbird picture window 5. now copy in firefox the "Knot:" section a bit lower, including the picture (do not include the part after the picture "Warning:".. 6. go back to the thunderbird compose window, press enter to start a new line after the previous picture. paste from firefox Actual Results: thunderbird stops reacting to user input, uses 55% CPU. Since I have a dual-core CPU I assume it uses 100% of one core.
WFM Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091125 Lightning/1.0pre Shredder/3.0.1pre ID:20091125032125 Emmanuel have you try in safe-mode? http://kb.mozillazine.org/Safe_mode
Severity: normal → critical
Keywords: hang
Version: unspecified → Trunk
I tried in safe mode using the shortcut in the start menu (tools->addons confirmed that it's running in safe mode). I can still reproduce the problem in safe mode. I also created a new profile, because my normal profile is very old and there were corruptions a couple of times, and very big. But also on the new profile I can reproduce the freeze. I can also reproduce the problem on the new profile and in safe mode combined. I did discover this: if you select in the web page both sections (sketch+hatches) that I picked and stop at the second picture, then paste, then enter. Then select the second part (Knot) and paste, IT WORKS. I can only reproduce the problem if I select sketch+hatches AND THE DOT AFTER THE HATCHES PICTURE. That dot makes a difference. So my description wasn't good.
(In reply to comment #2) > I can only reproduce the problem if I select sketch+hatches AND THE DOT AFTER > THE HATCHES PICTURE. That dot makes a difference. So my description wasn't > good. Can you try create a minimal html file , from which when copied into TB, makes tb freeze ?
> Can you try create a minimal html file , from which when copied into TB, makes > tb freeze ? I tried but I failed. I used "copy selection source" in firefox to copy-paste in a text editor only the source that firefox would copy, then i download the pictures and made 2 html files reflecting the portions of the big page that I'm copy-pasting. Then i went on my local disk to the first .html, ctrl-A, paste in TB, then second html, ctrl-A, paste in TB, but that doesn't freeze. The problem occurs absolutely every time when copying from that inkscape page. I have a linux computer at home, I'll try reproducing it there also on tb3rc1, to see if that happens there too.
freezes exactly the same way on my linux computer. nothing is common between those two computers on which I reproduce the same problem except the firefox and thunderbird versions. this one is an ubuntu 9.10 computer with thunderbird from mozilla and the profile is completely different from the one from the windows vista computer (much smaller). Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.5) Gecko/20091121 Thunderbird/3.0 I have no extensions installed on this thunderbird on linux. I didn't try in safe mode otherwise but since I reproduce it in safe mode in windows and since there are no extensions installed...
Emmanuel can you capture a stack trace of your freeze (https://developer.mozilla.org/En/How_to_get_a_stacktrace_for_a_bug_report)?
(In reply to comment #6) > Emmanuel can you capture a stack trace of your freeze > (https://developer.mozilla.org/En/How_to_get_a_stacktrace_for_a_bug_report)? Probably not. The windows computer is a work computer on which I can't install additionnal software (eg windbg). And for linux I can't find instructions how to debug a hang but only how to get a stack from a crash.
> Probably not. The windows computer is a work computer on which I can't install > additionnal software (eg windbg). And for linux I can't find instructions how > to debug a hang but only how to get a stack from a crash. hmm though I guess it can work if I start TB from within GDB and then hit ctrl-C in gdb when TB freezes. but how can i get the debugging symbols for TB? This is not the TB supplied by ubuntu but the one from mozilla (since clearly ubuntu doesn't yet ship 3.0).
you can use ntsd instead of windbg - the command syntax is mostly the same, ntsd comes with windows. if you're allowed to take data from a work computer home, you can use ntsd to create a .dmp file using .dump /maipwd /u /ba /c "dump for hang from bug 531055" 531055-firefox-hang you can then open the dump file on another computer where you can do more manipulation. if you have nearly identical systems, you can also prepare a list of .pdb files that are needed and download them to the work computer (they aren't programs, just data files). we don't really have an easy way to provide debugging symbols for our tb builds. there's an unofficial script which no one really knows how to use (once we understand how to use it, there'd be a wiki page that explains it). for ntsd, for a simple analysis of a hang, the following will work: get a list of all stacks for all threads: ~* kp you can also do "g" then ^C then "~* kp" that'd let you get a manual sample for a second time frame. it's not ideal, but it would be good enough for basic analysis.
In fact it seems ntsd does not come with windows in standard. i can't find it on my computer and I found this: http://www.debuginfo.com/articles/ntsdwatson.html "In Debugging Tools for Windows, of course! The Debugging Tools package includes NTSD debugger" but since anyway even for windows there probably wouldn't be debugging symbols I can try to get a backtrace in gdb on my linux computer. I'll report if it seems to show anything usable. otherwise i think the problem affects only 3.0rc1 and not 3.0.1pre that would explain why i could reproduce it on lin/win with different profiles and others did not. probably others could reproduce it as well with 3.0rc1.
(In reply to comment #10) > otherwise i think the problem affects only 3.0rc1 and not 3.0.1pre that would > explain why i could reproduce it on lin/win with different profiles and others > did not. probably others could reproduce it as well with 3.0rc1. 3.0.1pre is pretty much exactly the same as 3.0rc1 apart from a few build-config aspects like version numbers. There have been not yet been any additional patches in to 3.0.1pre that would affect functionality.
Keywords: stackwanted
Summary: freezes with 100% CPU use → freezes with 100% CPU pasting HTML (including pictures) from firefox
http://www.nynaeve.net/?p=156 explains that ntsd was removed from Windows with the release of Vista. You can use their instructions to get a minidump and then follow the reset of my instructions. ntsd was included in previous versions of Windows as noted in: http://msdn.microsoft.com/en-us/library/cc266320.aspx had you actually read the complete page from comment 7 including the linked page https://developer.mozilla.org/en/How_to_get_a_stacktrace_with_WinDbg which explains how to use the symbol server, you'd be aware that we provide symbols. the instructions on the page from comment 7 include instructions for Linux, but you must read and follow them carefully....
started thunderbird, reproduced the problem (thunderbird hits 100% cpu and doesn't respond), attached gdb to thunderbird (gdb program 1788 2>&1 | tee /tmp/gdb-thunderbird.txt), then asked for the backtraces.
Component: Message Compose Window → Composition
Keywords: stackwanted
Product: Thunderbird → MailNews Core
QA Contact: message-compose → composition
Whiteboard: [has stack trace]
Component: Composition → Editor
Product: MailNews Core → Core
QA Contact: composition → editor
Ehsan, want to look?
I wasn't able to reproduce this either in Thunderbird 3.0.4, or in the HTML editor inside Firefox. Emmanuel, could you please review comment 0 and make sure that you're giving the exact same steps to reproduce that you're using? Also, could you please try pasting things to this page instead of Thunderbird and see if the same thing happens? http://www.mozilla.org/editor/midasdemo/ Thanks!
About the steps to reproduce, i made a video showing what I'm doing to reproduce the bug. I reproduce it 100% of the time both on vista and on linux. The video is 9.6Mb ogg, you can get it at: http://dl.free.fr/bs2iC2zj1 On that page, click "Télécharger ce fichier". The video will disappear from there are 30 days with no download. In the video i started the gnome system monitor, aiming to show that CPU use goes to 100% when thunderbird does the second paste, unfortunately on my older computer, cpu was already at 100% just by recording the video of the desktop. I cannot reproduce the bug with the midasdemo link. That one does not freeze for me.
I tried it with the FF 15.0 and Thunderbird 11.01 on Windows Vista 32-bit(X86) and faced no CPU issue.
Status: UNCONFIRMED → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: