NO

Author Topic: IDE drag-and-drop bug (hangs IDE)  (Read 2570 times)

RichieL

  • Guest
IDE drag-and-drop bug (hangs IDE)
« on: July 13, 2016, 12:45:02 PM »
Unfortunately I can't give a code example for this bug, because it is a UI issue.

I have experienced a problem with the last several versions of Pelles C, 32-bit and 64-bit, on both an old Windows XP machine and a Windows 8 system.

The problem occurs when attempting to move text in the source editor using drag-and-drop. I can usually reproduce it by doing the following:

(a) Make at least one unsaved change to the text using drag-and-drop.

(b) Select a line of text

(c) Click near the left edge of the selected text and slowly and clumsily drag the text up the screen near the left margin, looking for somewhere to drop it. The cursor will change from an arrow with an accompanying rectangle to a "prohibited" sign and back again as you cross and re-cross the left-hand boundary. The main thing is to go slow and be indecisive. You will know you've hit the bug when the cursor disappears; when you then raise the mouse button, the cursor is replaced by a blue "circle of death" and the IDE becomes unresponsive. At this point the only thing to do is kill the IDE (the upper-right-corner "x" is still responsive) and reload your files from the latest checkpoint after restarting the IDE.

(d) If nothing happens after 20 seconds, drop the text somewhere other than where you picked it up and try again with another line of text. I rarely have to repeat (b) and (c) more than three times before causing the problem.

For what it's worth, Windows Explorer reports that the (one-and-only) thread of poide64.exe is in the WrUserRequest state, and its call stack is:

ntoskrnl.exe!KeSynchronizeExecution+0x2246
ntoskrnl.exe!KeWaitForMultipleObjects+0x135e
ntoskrnl.exe!KeWaitForMultipleObjects+0xdd9
ntoskrnl.exe!KeWaitForMultipleObjects+0x3a0
win32k.sys+0x6a288
win32k.sys+0x69e84
win32k.sys+0x26cca
win32k.sys+0x6528e
ntoskrnl.exe!setjmpex+0x34a3
USER32.dll!GetMessageW+0x5a
USER32.dll!GetMessageW+0x25
poide64.exe!WizScanForDependenciesW+0x2fd7d
poide64.exe!WizScanForDependenciesW+0x2fc4f
poide64.exe!WizScanForDependenciesW+0x3d674
poide64.exe!WizScanForDependenciesW+0x3b208
USER32.dll!DispatchMessageW+0x17d
USER32.dll!DispatchMessageW+0x21d
poide64.exe!WizScanForDependenciesW+0x6b270
poide64.exe!WizScanForDependenciesW+0x6b0f6
poide64.exe!WizScanForDependenciesW+0x6a683
poide64.exe!WizScanForDependenciesW+0xeacf5
KERNEL32.DLL!BaseThreadInitThunk+0xd
ntdll.dll!RtlUserThreadStart+0x34

I am enclosing a Process Explorer mini-dump (660KB) of the IDE in its hung state. I also have a full dump (125MB!) but I don't know where to send it...

       Richie

Scripter

  • Guest
Re: IDE drag-and-drop bug (hangs IDE)
« Reply #1 on: July 13, 2016, 01:50:01 PM »
Unfortunately I can't give a code example for this bug, because it is a UI issue.

I have experienced a problem with the last several versions of Pelles C, 32-bit and 64-bit, on both an old Windows XP machine and a Windows 8 system.

The problem occurs when attempting to move text in the source editor using drag-and-drop. I can usually reproduce it by doing the following:

This major annoyance has been around since version 4 (at least). 

In my experience you can drag and drop almost anywhere so long as you don't touch the left margin where the numbers are. As soon as you do that, within the next couple of seconds the IDE will lock up.

There also appears to be a time-out limiting how long you can hold text before dropping it.