Closed saidelike closed 4 years ago
This is very odd; from the first output, it appears that BugId is sending an empty line to cdb.exe after cdb.exe reported a breakpoint exception. This should cause cdb.exe to print a "clean" prompt, but BugId appears to be hung waiting for this prompt.
<stdin<gh;
Starts the newly attached firefox.exe process.
stdout>(9a4.b7c): Break instruction exception - code 80000003 (first chance)
stdout>
cdb.exe is reporting a breakpoint in this firefox.exe process.
stdout>1:001>
<stdin<
cdb.exe is showing a prompt and BugId is sending an empty line to get cdb.exe to print another prompt. Obviously that never happens and I have no idea why not. I also cannot reproduce this behavior at all.
It does appear that you have a very old version of Windows Debugging Tools: Version 6.11.0001.404
, whereas I am testing with 10.0.15063.468
. Can you see if updating to the latest fixes this?
Thanks for the feedback. So I confirmed that:
So I guess it is a problem with Windows 7...
Alright, I'll set up a Win7 VM for testing. I was going to set up a VM specifically for testing all "supported" keyword applications before I release new versions, I might as well create a few VMs for various windows versions and Debugging Tools.
if it helps in any way, i went back a couple of releases and last working version (for me at least) was 2d222805fd314457d882a921f08e37fc2fcc70a8 from 1st of November.
Couldn't really pin point which change causes this trouble. Cheers!
Forgot to add, same environment as @saidelike , win7 with latest debugging tools (10.0.16299.91 )
Just to let you know that I have not forgotten about this issue; I've focused on other improvements to BugId (I hope to release the dev channel to stable soon). Compatibility with older versions of Windows is not a priority for me personally, but I would like to make sure it works for as many people on as many systems as possible.
The root cause is that cdb.exe for some unknown reason stops responding to commands send by BugId after a breakpoint has interrupted the application. cdb.exe will report the breakpoint and show its command prompt and BugId will detect that and send a command for cdb to execute (e.g. .lastevent
). Unfortunately, cdb.exe does not respond to any command anymore at that point. I have tried various ways to getting it to respond or avoiding this situation, but have been unsuccessful.
Unfortunately I have no idea why this is and cannot debug it because I do not have cdb.exe source. Another good reason to move away from using Debugging Tools for Windows as soon as that is possible :(
Thanks for checking. Ya moving away from Debugging Tools for Windows is the solution/workaround for that.
Hi,
It looks like BugId hangs with latest release Firefox 57.0.2.6549 from 6 Dec (https://www.mozilla.org/en-US/firefox/new/). It should be possible to download it from https://ftp.mozilla.org/pub/firefox/releases/57.0.2/win64/en-US/Firefox%20Setup%2057.0.2.exe if not available anymore in first link. After installing Firefox, I've just modified "browser.tabs.remote.autostart.2=false" in "about:config" so it is single process.
test 1 - BugId not running Firefox
With BugId today's version from git, I get this:
Note that Firefox does not even spawn a window here due to it breaking early after starting.
Test 2 - BugId not handling exception
I've used the following diff to tell Firefox to continue execution when it hits exception above.
Now it goes further:
At least here Firefox's window is displayed and the page is loaded. I can see it was loaded successfully in BugId output too (more precisely cdb output) as there are plenty JavaScript warnings that we didn't have before. Also it looks like it reached the exception for the crash but just didn't do anything (see test 3 below). Note that it may be due to the bad patch I did and I may miss something.
Test 3 (cdb / no BugId)
This is a test with cdb only to show it triggers a crash and cdb alone is able to catch it.