Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crashed multiple times today #80

Closed
dbmuse opened this issue Mar 22, 2018 · 10 comments
Closed

crashed multiple times today #80

dbmuse opened this issue Mar 22, 2018 · 10 comments

Comments

@dbmuse
Copy link

dbmuse commented Mar 22, 2018

I was copying 8 to 40 k chunks of text into the program. On occassion it would crash mostly when I was deleting the text from one side of the compare. I will try to find a repeatable crash. But it did not happen all the time... This is not from openning a file and comparing. I paste text directly in the compare windows.

@sdottaka
Copy link
Member

Thank you for the report.
What version are you using?

@dbmuse
Copy link
Author

dbmuse commented Mar 23, 2018

2.15.3 on windows 7

@sdottaka
Copy link
Member

I am trying to reproduce the crash, but I have not reproduced it for now.

If you find a reproducible procedure please let me know.

@dbmuse
Copy link
Author

dbmuse commented Mar 26, 2018

I tried and could not get a crash to occur. I looked at windows crash reports but I don't think they are useful. thank you for checking.

@dbmuse dbmuse closed this as completed Mar 26, 2018
@GreyMerlin
Copy link
Contributor

GreyMerlin commented Mar 26, 2018 via email

@StoyanDimitrov
Copy link
Contributor

StoyanDimitrov commented Sep 26, 2018

Finally, I'm able to repro the crash, that is hounding me for a while.
STR:

  1. Open WinMerge (2.15.4.0, Win 10 Home, x64)
  2. Press Ctrl+N
  3. In the left pane paste or type:
a
  1. In the right pane paste or type:
{a
}
  1. Click in the left pane and press Ctrl+A
  2. With cursor still in left pane paste (typing not triggers the crash):
{a
}

Observations:

  1. Sometimes (while reducing the code that triggers the crash) the crashed application opens an alertbox with some exception not catched or something like that.
  2. If in steps 4 and 6 replace the curly brackets with pair of parentheses, square or angle brackets the crash still occurs.
  3. One difference with winmerge-2.14.0-jp-152 is that the a in step 4 and 6 is required for the crash while sdottakas release crashes even without the a.

@GreyMerlin
Copy link
Contributor

I still cannot reproduce this problem; but we are possibly getting closer

I am using Win10 Pro. I have tried WinMerge 2.15.4.0 (both 32-bit and 64-bit) and 2.14.0-jp-152 (32-bit). I have tried with and without an end-line character following the steps 3, 4 and 6. Because this failure seems to require "matching brackets", I presume you are using some Syntax Highlighting (from the View menu); if so, it would be nice to know which one. Also, are you using any "plugins" (from the Plugins menu)? There are other configuration options that may be different for your usage than with mine. So a suggestion...

Could you please go to the Help menu and select Configuration. This will produce the file <user>\Documents\WinMerge\WinMerge.txt which will be around 10k-12k bytes long. And then please attach that text file to a reply here.

Also... since this seems to be related to Copy-Paste, this could be a funny problem with Locale (natural language) differences between the Copy source and the Paste destination. If you could also provide the very simple source file from which the tiny Cut is performed (used in step 6), that will likely be very helpful. It would be a good idea to package both the WinMerge.txt and the Copy-Source text files into a single .zip file (for the reply attachment) so that any Locale information is not transformed by being a direct attachment.

Thank You !!

@StoyanDimitrov
Copy link
Contributor

I still cannot reproduce

Because of my false assumptions. Here are updated STR:

  1. In order to be on the same page remove WinMerge configuration from the registry. Use
    remove-winmerge-settings.zip or just delete the Thingamahoochie branch from HKCU\Software.
  2. Open latest WinMerge (2.15.4.0, Unicode X64 under Win10 Home x64 in my case).
  3. Open Edit > Options.
  4. Go to Editor and check the Automatic rescan option.
  5. Press OK to close the Options.
  6. Press Ctrl-N.
  7. In the left pane paste or type:
a
  1. In the right pane paste or type:
{a
}
  1. Click in the left pane and press Ctrl+A
  2. With cursor still in left pane paste (typing does not trigger crash):
{a
}

Following those steps I was able to consistently reproduce under Win7 x64 same WinMerge.
Flipping Automatic rescan option back to disabled prevents the crash.

@GreyMerlin
Copy link
Contributor

Thank You! Using these updated steps, I can repeatably reproduce this problem using WinMerge version 2.15.4.0 !!

I note that this problem does not occur with WinMerge built from the latest commit stream (27 Sept 2018, commit 79d460e). Over the last months, I have done a lot of work on WinMerge's handling of the last line of a file, so it is good to know that those fixes appear applicable to this issue as well. But I have not explicitly used the Automatic Rescan option, so I want to study that option's interaction to understand why these test steps only fail on version 2.15.4.0 when that specific option is set. And I also want to understand why step 10 is required to be a paste (and not regular typing).

So, even though this issue is "fixed", I don't want to consider it "closed" yet.

Thank You

@StoyanDimitrov StoyanDimitrov mentioned this issue Nov 7, 2018
@GreyMerlin
Copy link
Contributor

Well... I never got back to studying this problem adequately in depth. However, I did a brief study (back when the problem was still fresh), and I noticed that the code to handle a Paste operation has significantly different checking than the code that handles Typing. The crash you note in step 10 is related to this difference in the checking.

I too will consider the issue Closed ... the general End-Of-Line handling seems reasonably stable now (2.16.0.0).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants