Bug #55904 Exception = MySQL.Grt.BackendException | Message = Index out of range.
Submitted: 11 Aug 2010 5:14 Modified: 16 Aug 2010 4:12
Reporter: Roel Van de Paar Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Workbench: Modeling Severity:S1 (Critical)
Version:5.1.26pre3 OS:Any
Assigned to: CPU Architecture:Any

[11 Aug 2010 5:14] Roel Van de Paar
Description:
Exception = MySQL.Grt.BackendException
Message = Index out of range.
FullText = MySQL.Grt.BackendException: Index out of range.
   at MySQL.Workbench.WbContext.flush_idle_tasks()
   at MySQL.GUI.Workbench.Program.timer_Tick(Object sender, EventArgs e)

How to repeat:
Happened on "Model" > "Create diagram from Catalog objects" when working with a large EER model. Will try and make reproducible testcase.
[11 Aug 2010 5:16] Roel Van de Paar
Windows backtrace

Attachment: win_backtrace.txt (text/plain), 40.18 KiB.

[11 Aug 2010 5:32] Roel Van de Paar
Looks like another one exactly like bug #43155 and bug #55719:

--------
EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0000000000000000
   ExceptionCode: 80000003 (Break instruction exception)
  ExceptionFlags: 00000000
NumberParameters: 0
EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid
ADDITIONAL_DEBUG_TEXT:  Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]
LAST_CONTROL_TRANSFER:  from 0000000063c58c68 to 00000000764d438d
DEFAULT_BUCKET_ID:  STACKIMMUNE
PRIMARY_PROBLEM_CLASS:  STACKIMMUNE
BUGCHECK_STR:  APPLICATION_FAULT_STACKIMMUNE_NOSOS_ZEROED_STACK
STACK_TEXT: 00000000`00000000 00000000`00000000 mysqlworkbench.exe+0x0
FAILURE_BUCKET_ID:  STACKIMMUNE_80000003_MySQLWorkbench.exe!Unknown
BUCKET_ID:  X64_APPLICATION_FAULT_STACKIMMUNE_NOSOS_ZEROED_STACK_mysqlworkbench.exe
FOLLOWUP_IP: 
MySQLWorkbench!Dispose+0 [C:\projects\mysql\wb52\wb-5.2.25\frontend\windows\MySQLWorkbench\ModelDiagramForm.Designer.cs @ 15]
--------

I think that if the main problem which is seen in all three bugs (some sort of [memory?] exhaustion) is solved then a lot of bugs will be resolved. Note that this time there was definitely no main memory exhaustion happening at all, only ~61% of memory was in use.
[11 Aug 2010 5:39] Roel Van de Paar
Immediately after confirming 1st crash, this one comes up: Object reference not set to an instance of an object.

Attachment: wb_trace2.txt (text/plain), 788 bytes.

[11 Aug 2010 5:42] Roel Van de Paar
3rd one, immediately thereafter: System.ObjectDisposedException Message = Cannot access a disposed object.

Attachment: wb_trace3.txt (text/plain), 2.76 KiB.

[11 Aug 2010 5:44] Roel Van de Paar
How crash 3 looked (not sure if it matters, but 2 sessions of workbench were open on this machine)

Attachment: Crash_3.png (image/png, text), 83.91 KiB.

[11 Aug 2010 5:45] Roel Van de Paar
Windows backtrace of 2nd crash (looks the same again)

Attachment: win_backtrace2.txt (text/plain), 21.29 KiB.

[11 Aug 2010 5:47] Roel Van de Paar
After confirming both dialog boxes shown in the image above and closing the output window, WorkBench was still usable :) - I closed it.
[11 Aug 2010 5:49] Roel Van de Paar
Windows backtrace of 2nd crash (looks the same issue again, though notice the thread outputs of crashes 1, 2 & 3 look different)

Attachment: win_backtrace3.txt (text/plain), 35.82 KiB.

[11 Aug 2010 5:50] Roel Van de Paar
s/2nd/3rd/ in last comment
[11 Aug 2010 8:10] Mike Lischke
Roel, have you come around a reproducible case for this issue? Is this really an issue that appears on any supported platform or just a Windows problem?
[16 Aug 2010 3:51] Roel Van de Paar
Putting to verified based on the following: (this is further analysis of the coredumps from the crashes above, based on some findings in other bugs):

-------
0:000> !gle -all
Last error for thread 0:
LastErrorValue: (Win32) 0 (0) - The operation completed successfully.
LastStatusValue: (NTSTATUS) 0xc0000008 - An invalid HANDLE was specified.
Wow64 TEB status:
LastErrorValue: (Win32) 0 (0) - The operation completed successfully.
LastStatusValue: (NTSTATUS) 0 - STATUS_WAIT_0
[...]
Last error for thread 7:
LastErrorValue: (Win32) 0 (0) - The operation completed successfully.
LastStatusValue: (NTSTATUS) 0xc0000008 - An invalid HANDLE was specified.
Wow64 TEB status:
LastErrorValue: (Win32) 0 (0) - The operation completed successfully.
LastStatusValue: (NTSTATUS) 0 - STATUS_WAIT_0
-------

I'll add more info on this soon.
[16 Aug 2010 4:12] Roel Van de Paar
I am quite convinced that the following bugs:

bug #55304 | bug #55776 | bug #55904 | bug #55774 | bug #55828 | bug #55996

all have the same cause: some sort of issue with window/tab handles (note the "An invalid HANDLE was specified."). 

For more information, see the "[16 Aug 5:30] Roel Van de Paar" comment in bug #55996.

I am marking this bug as a duplicate of bug #55304 as that was the main one in which this issue was handled.