SlickEdit Community
Archived Beta Discussions => SlickEdit 201x Beta Discussions => SlickEdit 2017 v22 Beta Discussion => Topic started by: jnairb on August 15, 2017, 04:50:49 PM
-
I think I've done diffs with VS 22 beta 2 previously, but for some reason, VS keeps crashing now when I press enter from the vsdiff dialog. Also occurs when I hit Esc to cancel the dialog. I've rebooted my system (Windows 7 x64), and the crash still continues. It seems to have something to do with my config however, since when I start beta 2 with a new config directory, I can bring up and close the diff dialog without any crash. I haven't noticed any other VS dialogs causing a problem.
This is the data from the Windows Application event log:
Log Name: Application
Source: Application Error
Date: 08/15/2017 11:34:00 am
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: ISTARI
Description:
Faulting application name: vs.exe, version: 22.0.0.2, time stamp: 0x598ddd4b
Faulting module name: btmmhook.dll, version: 6.3.0.7500, time stamp: 0x4d13fdb0
Exception code: 0x40000015
Fault offset: 0x000000000001a3ee
Faulting process id: 0x13b4
Faulting application start time: 0x01d315e434db714f
Faulting application path: C:\Program Files\SlickEdit\beta\win\vs.exe
Faulting module path: C:\Program Files\WIDCOMM\Bluetooth Software\btmmhook.dll
Report Id: 8a07adf8-81d7-11e7-93ce-0002721959c4
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2017-08-15T16:34:00.000000000Z" />
<EventRecordID>424058</EventRecordID>
<Channel>Application</Channel>
<Computer>ISTARI</Computer>
<Security />
</System>
<EventData>
<Data>vs.exe</Data>
<Data>22.0.0.2</Data>
<Data>598ddd4b</Data>
<Data>btmmhook.dll</Data>
<Data>6.3.0.7500</Data>
<Data>4d13fdb0</Data>
<Data>40000015</Data>
<Data>000000000001a3ee</Data>
<Data>13b4</Data>
<Data>01d315e434db714f</Data>
<Data>C:\Program Files\SlickEdit\beta\win\vs.exe</Data>
<Data>C:\Program Files\WIDCOMM\Bluetooth Software\btmmhook.dll</Data>
<Data>8a07adf8-81d7-11e7-93ce-0002721959c4</Data>
</EventData>
</Event>
I also have a dump that I could upload somewhere, if needed.
-
Can you upload the minidump and your config? Shouldn't need the vsdelta directory, autosave, or tagfiles.
-
Where should I upload the dmp/config?
-
You can use the following page to upload a compressed file up to 50MB:
http://support.slickedit.com
The "Case Number:" field can be whatever identifier that you inform us of, such as: jnairb
If it is larger than 50MB, you can split it into smaller pieces, or you can send Dan a private message with an address (such as a Dropbox link) that we can download it from. It may help to create two .zip files: one with the dump, and one with the config minus the directories.
-
I uploaded vs22-config.zip and vs22-dump.zip (split into 3 chunks) under case# 15452 (topic# of this thread)
-
I'm unsure how to put this zip file back together.
Edit: Got it figured out.
-
I was looking at your diff history in your configuration. Are you diffing files on a network drive? If so do files on a local drive work?
This happens when you click Diff on the setup dialog?
-
I was trying to diff files on a network drive (OpenAFS drive), but the error does occur for local files also (just tried it now). And as I mentioned, even if I don't go ahead with the diff, but just try to close the "DIFFzilla Pro" dialog window (hit Esc), it also crashes, so it's maybe more related to closing the dialog (either through Enter to start diff or Esc to cancel diff).
-
And you're launching this from inside SlickEdit, not running vsdiff.exe at the command line, right?
-
Correct -- launching it with a key bound to diff command.
-
And it always crashes, right?
-
I know why it is crashing, but I'm not sure why it got into the state it is in.
To fix this, go to your vsdelta directory, and find your SlickEdit config directory under it, and the 22.0.0 directory under that. Delete all of the diffmap.ini.* files. That should get it going again.
The problem is that the most recent version, which is simply diffmap.ini, is missing. The question I have to solve now, is why?
-
I deleted all the diffmap.ini* files that I could find under my backup directory (for me my backup directory path is a SlickEdit directory under the TMP directory). There was a diffmap.ini, many diffmap.ini.NN (NN of 60-78), and diffmap.ini.vsdelta2.
After doing that, I'm no longer seeing the crash.
-
Right, I'll explain what all of these are:
- diffmap.ini.vsdelta is the old archive file, that we used from version 9.0 until 21.0.3.
This used to contain the most recent file, and all of the deltas to rebuild old versions. - diffmap.ini is the most recent version. Starting with version 22.0.0, the most recent version will be a separate file with the same name and extension as the source file. As a convenient side effect, this means you could use DIFFzilla to diff with your most recent versions... if you had to for some reason.
- diffmap.ini.vsdelta2 is the new archive file. This will always be here, even when you save the file for the first time, and it writes the most recent version (see above) there will be an entry for the most recent version, because this is where the proper dates are stored. The date on the most recent version in the backup history file does not necessarily represent the date of the archived file.
- diffmap.ini.nn - Starting in version 22.0.0, deltas above a certain size can be written to an external file. This is so that the *.vsdelta2 file stays smaller and loading it is faster, which will make launching the backup history dialog faster. The default is 10k.
In the Options dialog, if you go to File Options>Backup>Minimum size of individual deltas in archive files (KB), you can change this.
Also new to 22.0.0 beta 2 is "Minimum size for fast delta creation (KB)". For files above this size, rather than run the diff engine we use a different algorithm that is much faster to create the delta - is has the potential to make the delta larger, but except for worse case scenarios, it should be OK. The default for this is 1MB.
The problem you and one other user are seeing, and I can now reproduce, is that the most recent file is missing. The crash is easy to fix. Determining why the most recent file is missing may be more interesting.
Could you please post a screenshot of your autosave and auto reload options? This may shed some light on the subject.
-
Auto save and auto reload are both off, but here's the screenshot of the options anyway.
-
OK. That actually helps a lot because I know it's different from my other customer. Thank you.
-
Is it possible that Beta 2 was the first beta you used, or that you did not use the diff dialog in Beta 1? I'm just trying to determine if the problem happened later, or perhaps something went wrong with the conversion of that archive.
-
I did use beta 1. I can't say with 100% certainty that I ran a diff with beta 1, but I think it's very likely that I did.
-
OK. Based on everything I've seen I wouldn't expect it to be a conversion problem, but I had to ask. Converting archives was very thoroughly tested, plus we're all using it here. So if it was a very simple issue, we would have seen it.
-
It started crashing on me again, so I deleted all the diffmap.ini* files from the backup directory. And it then happened again a bit later. Took a while to find a pattern, but at least for me, after cleaning up the diffmap.ini* files and starting VS and opening my project, I can do 3 diffs. The 4th one then crashes. If I instead start over (cleanup diffmap.ini* files), start VS with no files, and open the diff dialog and just cancel (Esc), I can do that 9 times OK, but when I try to cancel the 10th time, VS crashes again.
-
Can you PM me an email address? I'd like to send you some test code. I know what is causing the problem (the most recent file missing), so I've put in safeguards for that, but I haven't been able to get it into that state myself without manually deleting the file.