Access violation when adding new column

lemon_juice's profile image lemon_juice posted 11 years ago in General Permalink
Today I experienced AV when trying to add a column to a table. This is my table:

CREATE TABLE `app_action_mapping` (
`action_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
`action` VARCHAR(200) NOT NULL,
`url_name` VARCHAR(200) NULL DEFAULT NULL,
`controller` VARCHAR(200) NOT NULL,
`in_admin` TINYINT(3) UNSIGNED NULL DEFAULT NULL,
`login_required` TINYINT(3) UNSIGNED NOT NULL,
`description` TEXT NULL,
PRIMARY KEY (`action_id`),
INDEX `action` (`action`),
INDEX `url_name` (`url_name`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM
AUTO_INCREMENT=84;


I right-clicked on the 'login_required' column, selected 'Add column', entered 'admin_access_ony' as the name, pressed Tab - the TINYINT type was preselected so I pressed Tab again and now the Length column should have got focus but instead I got this AV:

date/time          : 2013-11-24, 20:40:49, 730ms
computer name      : xxx
user name          : xxx
registered owner   : xxx
operating system   : Windows 7 Service Pack 1 build 7601
system language    : Polish
system up time     : 13 hours 43 minutes
program up time    : 9 minutes 52 seconds
processors         : 2x AMD Athlon(tm) II X2 270 Processor
physical memory    : 1625/3071 MB (free/total)
free disk space    : (C:) 39,64 GB
display mode       : 1680x1050, 32 bit
process id         : $2b8
allocated memory   : 48,87 MB
largest free block : 1,38 GB
executable         : heidisql.exe
exec. date/time    : 2013-11-24 20:01
version            : 8.1.0.4648
compiled with      : Delphi XE5
madExcept version  : 4.0.8.1
callstack crc      : $00000005, $e97c0fef, $e97c0fef
exception number   : 1
exception class    : EAccessViolation
exception message  : Access violation at address 00000005. Read of address 00000005.
main thread ($918):
00000005 ???
005b7c6d heidisql.exe Vcl.Controls   TWinControl.FindNextControl
005b7d4f heidisql.exe Vcl.Controls   TWinControl.SelectNext
0067f156 heidisql.exe Vcl.Forms      TCustomForm.CMDialogKey
005afd61 heidisql.exe Vcl.Controls   TControl.WndProc
005b4881 heidisql.exe Vcl.Controls   TWinControl.WndProc
0067b61d heidisql.exe Vcl.Forms      TCustomForm.WndProc
005af99c heidisql.exe Vcl.Controls   TControl.Perform
005b6d85 heidisql.exe Vcl.Controls   TWinControl.CNKeyDown
005afd61 heidisql.exe Vcl.Controls   TControl.WndProc
005b4881 heidisql.exe Vcl.Controls   TWinControl.WndProc
0067b61d heidisql.exe Vcl.Forms      TCustomForm.WndProc
005af99c heidisql.exe Vcl.Controls   TControl.Perform
005b3ec4 heidisql.exe Vcl.Controls   TWinControl.MainWndProc
0053b3b0 heidisql.exe System.Classes StdWndProc
7617557d USER32.dll                  SendMessageW
00684a20 heidisql.exe Vcl.Forms      TApplication.IsKeyMsg
00684cc7 heidisql.exe Vcl.Forms      TApplication.ProcessMessage
00684d2e heidisql.exe Vcl.Forms      TApplication.HandleMessage
00685069 heidisql.exe Vcl.Forms      TApplication.Run
7602ed5a kernel32.dll                BaseThreadInitThunk


After restarting I tried the same and I got an error at the same step but now this was the standard windows crash window "This program encountered an error and needs to close" with the following data:

Problem signature:
Problem Event Name:	APPCRASH
Application Name:	heidisql.exe
Application Version:	8.1.0.4648
Application Timestamp:	52918e50
Fault Module Name:	heidisql.exe
Fault Module Version:	8.1.0.4648
Fault Module Timestamp:	52918e50
Exception Code:	c0000005
Exception Offset:	00120a3b
OS Version:	6.1.7601.2.1.0.768.3
Locale ID:	1045
Additional Information 1:	e321
Additional Information 2:	e321f6a6a7644280bbc69b16c4c1b3cc
Additional Information 3:	c31d
Additional Information 4:	c31d6ab9e5b5316e6fa0185bd22f291f
Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409
If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt


I restarted, and on the third try I was able to add the column and couldn't reproduce the error any more.
ansgar's profile image ansgar posted 11 years ago Permalink
Yes, I got similar reports from long ago already. Just followed your good reproduction recipe *exactly*, even made the same typo in the column name. But I got no crash here. I should retry with the automatically build .exe.
ansgar's profile image ansgar posted 11 years ago Permalink
No luck here. No crash with a fresh downloaded r4648.

Could you please re-download build 4648, as I recompiled the builds 10 minutes ago in order to test a better compression.
lemon_juice's profile image lemon_juice posted 11 years ago Permalink
Sorry, the typo was in my post here. I know it's hard to reproduce, I suspect this might have happened due to other things I did before, I can't reproduce it now, either. However, I got another AV, now I selected the 'admin_access_only' column (it got focus for renaming) and when I clicked on another column I got this AV:

date/time          : 2013-11-24, 21:13:49, 564ms
computer name      : xxx
user name          : xxx
registered owner   : xxx
operating system   : Windows 7 Service Pack 1 build 7601
system language    : Polish
system up time     : 14 hours 15 minutes
program up time    : 22 seconds
processors         : 2x AMD Athlon(tm) II X2 270 Processor
physical memory    : 1506/3071 MB (free/total)
free disk space    : (C:) 39,64 GB
display mode       : 1680x1050, 32 bit
process id         : $438
allocated memory   : 68,78 MB
largest free block : 1,28 GB
executable         : heidisql.exe
exec. date/time    : 2013-11-24 20:01
version            : 8.1.0.4648
compiled with      : Delphi XE5
madExcept version  : 4.0.8.1
callstack crc      : $18b8d194, $37d9c785, $3197fdaf
exception number   : 1
exception class    : EAccessViolation
exception message  : Access violation at address 00856B8E in module 'heidisql.exe'. Read of address 0000001C.
main thread ($e84):
00856b8e heidisql.exe grideditlinks   1054  +3 TInplaceEditorLink.Destroy
77bd71c6 ntdll.dll                             RtlRaiseStatus
77bd7052 ntdll.dll                             KiUserExceptionDispatcher
0052087b heidisql.exe System.Classes           TList.Add
005c04a9 heidisql.exe Vcl.Controls             TCustomTouchManager.Create
005b0d10 heidisql.exe Vcl.Controls             TControl.CreateTouchManager
005ad0ff heidisql.exe Vcl.Controls             TControl.Create
005b1878 heidisql.exe Vcl.Controls             TWinControl.Create
005ba62b heidisql.exe Vcl.Controls             TCustomControl.Create
00620dd2 heidisql.exe Vcl.ExtCtrls             TCustomPanel.Create
008569d9 heidisql.exe grideditlinks   1027  +5 TInplaceEditorLink.Create
00873a44 heidisql.exe table_editor    1314 +31 TfrmTableEditor.listColumnsCreateEditor
00700700 heidisql.exe VirtualTrees   21417  +3 TBaseVirtualTree.DoCreateEditor
00717721 heidisql.exe VirtualTrees   35180  +1 TCustomVirtualStringTree.DoCreateEditor
00700ce6 heidisql.exe VirtualTrees   21583  +8 TBaseVirtualTree.DoEdit
0070b2af heidisql.exe VirtualTrees   27623  +2 TBaseVirtualTree.CanEdit
0070c331 heidisql.exe VirtualTrees   28123 +15 TBaseVirtualTree.EditNode
0087389e heidisql.exe table_editor    1269 +35 TfrmTableEditor.vtHandleClickOrKeyPress
00873710 heidisql.exe table_editor    1213  +4 TfrmTableEditor.listColumnsClick
005b02b7 heidisql.exe Vcl.Controls             TControl.Click
005b0761 heidisql.exe Vcl.Controls             TControl.WMLButtonUp
006fd049 heidisql.exe VirtualTrees   19201  +7 TBaseVirtualTree.WMLButtonUp
005afd61 heidisql.exe Vcl.Controls             TControl.WndProc
005b4881 heidisql.exe Vcl.Controls             TWinControl.WndProc
0070a5bd heidisql.exe VirtualTrees   27144 +32 TBaseVirtualTree.WndProc
005b3ec4 heidisql.exe Vcl.Controls             TWinControl.MainWndProc
0053b3b0 heidisql.exe System.Classes           StdWndProc
7617cc6b USER32.dll                            DispatchMessageW
00684ceb heidisql.exe Vcl.Forms                TApplication.ProcessMessage
00684d2e heidisql.exe Vcl.Forms                TApplication.HandleMessage
00685069 heidisql.exe Vcl.Forms                TApplication.Run
7602ed5a kernel32.dll                          BaseThreadInitThunk
main thread ($e84), inner exception level 1:
>> EPrivilege, Privileged instruction
00520a84 heidisql.exe System.Classes           TList.Grow
0052087b heidisql.exe System.Classes           TList.Add
005c04a9 heidisql.exe Vcl.Controls             TCustomTouchManager.Create
005b0d10 heidisql.exe Vcl.Controls             TControl.CreateTouchManager
005ad0ff heidisql.exe Vcl.Controls             TControl.Create
005b1878 heidisql.exe Vcl.Controls             TWinControl.Create
005ba62b heidisql.exe Vcl.Controls             TCustomControl.Create
00620dd2 heidisql.exe Vcl.ExtCtrls             TCustomPanel.Create
008569d9 heidisql.exe grideditlinks   1027  +5 TInplaceEditorLink.Create
00873a44 heidisql.exe table_editor    1314 +31 TfrmTableEditor.listColumnsCreateEditor
00700700 heidisql.exe VirtualTrees   21417  +3 TBaseVirtualTree.DoCreateEditor
00717721 heidisql.exe VirtualTrees   35180  +1 TCustomVirtualStringTree.DoCreateEditor
00700ce6 heidisql.exe VirtualTrees   21583  +8 TBaseVirtualTree.DoEdit
0070b2af heidisql.exe VirtualTrees   27623  +2 TBaseVirtualTree.CanEdit
0070c331 heidisql.exe VirtualTrees   28123 +15 TBaseVirtualTree.EditNode
0087389e heidisql.exe table_editor    1269 +35 TfrmTableEditor.vtHandleClickOrKeyPress
00873710 heidisql.exe table_editor    1213  +4 TfrmTableEditor.listColumnsClick
005b02b7 heidisql.exe Vcl.Controls             TControl.Click
005b0761 heidisql.exe Vcl.Controls             TControl.WMLButtonUp
006fd049 heidisql.exe VirtualTrees   19201  +7 TBaseVirtualTree.WMLButtonUp
005afd61 heidisql.exe Vcl.Controls             TControl.WndProc
005b4881 heidisql.exe Vcl.Controls             TWinControl.WndProc
0070a5bd heidisql.exe VirtualTrees   27144 +32 TBaseVirtualTree.WndProc
005b3ec4 heidisql.exe Vcl.Controls             TWinControl.MainWndProc
0053b3b0 heidisql.exe System.Classes           StdWndProc
7617cc6b USER32.dll                            DispatchMessageW
00684ceb heidisql.exe Vcl.Forms                TApplication.ProcessMessage
00684d2e heidisql.exe Vcl.Forms                TApplication.HandleMessage
00685069 heidisql.exe Vcl.Forms                TApplication.Run
7602ed5a kernel32.dll                          BaseThreadInitThunk
ansgar's profile image ansgar posted 11 years ago Permalink
Shit, cannot reproduce that AV either.. wtf?
lemon_juice's profile image lemon_juice posted 11 years ago Permalink
I downloaded the latest compilation and will report any problems when they occur. But I can't reproduce these errors when editing table columns, in my experience they happen randomly on some rare occasions and don't occur again after restarting Heidi so they are hard to reproduce.
lemon_juice's profile image lemon_juice posted 11 years ago Permalink
Here is another crash, this time in the data grid. I added 2 rows to an empty table and after pressing the Insert key the cursor was in an empty Varchar field of the third row. I pressed Esc and then got this error:

Problem signature:
Problem Event Name:	APPCRASH
Application Name:	heidisql.exe
Application Version:	8.1.0.4655
Application Timestamp:	52979234
Fault Module Name:	StackHash_e98d
Fault Module Version:	0.0.0.0
Fault Module Timestamp:	00000000
Exception Code:	c0000005
Exception Offset:	00000004
OS Version:	6.1.7601.2.1.0.768.3
Locale ID:	1045
Additional Information 1:	e98d
Additional Information 2:	e98dfca8bcf81bc1740adb135579ad53
Additional Information 3:	6eab
Additional Information 4:	6eabdd9e0dc94904be3b39a1c0583635
Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409
If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt


As usual, after restarting Heidi I could not reproduce the problem...
lemon_juice's profile image lemon_juice posted 11 years ago Permalink
Another interesting crash - this time it happened while I wasn't using Heidi at all, I was writing my previous post in my browser and then suddenly an AV from Heidi appeared. I wasn't even able to save the report because after I clicked the save button the AV window froze so I'm posting a screenshot instead:



After a while I got the standard windows crash dialog on top of it:

Description:
A problem caused this program to stop interacting with Windows.
Problem signature:
Problem Event Name:	AppHangB1
Application Name:	heidisql.exe
Application Version:	8.1.0.4655
Application Timestamp:	52979234
Hang Signature:	8ce4
Hang Type:	1
OS Version:	6.1.7601.2.1.0.768.3
Locale ID:	1045
Additional Hang Signature 1:	8ce40a2e35140296cbbeca604bcafd89
Additional Hang Signature 2:	1b6a
Additional Hang Signature 3:	1b6a314e7a4f09714226312eb3b15886
Additional Hang Signature 4:	58d1
Additional Hang Signature 5:	58d1cb58ce48922fe5403b1530ab712a
Additional Hang Signature 6:	3f8f
Additional Hang Signature 7:	3f8fd874431289e592e186d07829f96d
Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409
If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt


And now some description of what happened - I opened Heidi, opened the table I edited previously, opened the data tab, chose to insert a new row, the cursor was placed in an empty new cell and I simply left Heidi like that (without minimizing) and switched to my browser to write my previous post. After about a minute an AV from Heidi jumped out at me.
ansgar's profile image ansgar posted 11 years ago Permalink
That happened in the Windows DLL uxtheme.dll, as the madExcept screen says. Hm. I could not reproduce that with a 2 minute waiter in FireFox after inserting a new row and focusing the third cell in that new row. Shit.
lemon_juice's profile image lemon_juice posted 11 years ago Permalink
Here is another one:

date/time          : 2013-11-29, 01:30:30, 508ms
computer name      : x
user name          : x
registered owner   : x
operating system   : Windows 7 Service Pack 1 build 7601
system language    : Polish
system up time     : 10 hours 45 minutes
program up time    : 16 minutes 36 seconds
processors         : 2x AMD Athlon(tm) II X2 270 Processor
physical memory    : 1072/3071 MB (free/total)
free disk space    : (C:) 37,66 GB
display mode       : 1680x1050, 32 bit
process id         : $94
allocated memory   : 54,33 MB
largest free block : 1,25 GB
executable         : heidisql.exe
exec. date/time    : 2013-11-28 23:53
version            : 8.1.0.4655
compiled with      : Delphi XE5
madExcept version  : 4.0.8.1
callstack crc      : $41cc7730, $7e5cc075, $7e5cc075
exception number   : 1
exception class    : EAccessViolation
exception message  : Access violation at address 00541577 in module 'heidisql.exe'. Read of address 00000000.
main thread ($cd0):
00541577 heidisql.exe System.Classes        {System.Generics.Collections}TDictionary<System.Integer,System.Classes.IInterfaceList>.Hash
00541e6d heidisql.exe System.Classes        {System.Generics.Collections}TDictionary<System.Integer,System.Classes.IInterfaceList>.TryGetValue
0053c621 heidisql.exe System.Classes        TObservers.IsObserving
005d17eb heidisql.exe Vcl.StdCtrls          TCustomComboBox.KeyDown
005b6276 heidisql.exe Vcl.Controls          TWinControl.DoKeyDown
005d08fd heidisql.exe Vcl.StdCtrls          TCustomCombo.ComboWndProc
005d2189 heidisql.exe Vcl.StdCtrls          TCustomComboBox.ComboWndProc
005d0653 heidisql.exe Vcl.StdCtrls          TCustomCombo.EditWndProc
0053b3b0 heidisql.exe System.Classes        StdWndProc
7692cc6b USER32.dll                         DispatchMessageW
00684ceb heidisql.exe Vcl.Forms             TApplication.ProcessMessage
00684d2e heidisql.exe Vcl.Forms             TApplication.HandleMessage
00685069 heidisql.exe Vcl.Forms             TApplication.Run
0095c96f heidisql.exe heidisql       77 +24 initialization
7747ed5a kernel32.dll                       BaseThreadInitThunk


This happened in the Foreign keys tab after I expanded the selection box in the Reference table column.

I've been getting such AVs on different OS installations so I don't think this has something to do with my system. These errors are not frequent so they don't make Heidi unusable but on the other hand they happen only once and are hard to reproduce.
lemon_juice's profile image lemon_juice posted 11 years ago Permalink
This one happened when creating a new table - the 3rd column was TIMESTAMP type and when I clicked on the Default column to choose the default value for the field this AV turned up:

date/time          : 2013-12-02, 12:37:46, 55ms
computer name      : xxx
user name          : xxx
registered owner   : xxx
operating system   : Windows 7 Service Pack 1 build 7601
system language    : Polish
system up time     : 4 hours 44 minutes
program up time    : 6 minutes 46 seconds
processors         : 2x AMD Athlon(tm) II X2 270 Processor
physical memory    : 1030/3071 MB (free/total)
free disk space    : (C:) 36,87 GB
display mode       : 1680x1050, 32 bit
process id         : $a54
allocated memory   : 67,28 MB
largest free block : 1,25 GB
executable         : heidisql.exe
exec. date/time    : 2013-11-28 23:53
version            : 8.1.0.4655
compiled with      : Delphi XE5
madExcept version  : 4.0.8.1
callstack crc      : $506ac7d6, $65ff1424, $65ff1424
exception number   : 1
exception class    : EPrivilege
exception message  : Privileged instruction.
main thread ($cf8):
00520a66 heidisql.exe System.Classes           TList.Get
0052087b heidisql.exe System.Classes           TList.Add
005c04a9 heidisql.exe Vcl.Controls             TCustomTouchManager.Create
005b0d10 heidisql.exe Vcl.Controls             TControl.CreateTouchManager
005ad0ff heidisql.exe Vcl.Controls             TControl.Create
005b1878 heidisql.exe Vcl.Controls             TWinControl.Create
005ba62b heidisql.exe Vcl.Controls             TCustomControl.Create
00620dd2 heidisql.exe Vcl.ExtCtrls             TCustomPanel.Create
00857633 heidisql.exe grideditlinks   1157  +3 TColumnDefaultEditorLink.Create
008740ed heidisql.exe table_editor    1300 +17 TfrmTableEditor.listColumnsCreateEditor
00700700 heidisql.exe VirtualTrees   21417  +3 TBaseVirtualTree.DoCreateEditor
00717721 heidisql.exe VirtualTrees   35180  +1 TCustomVirtualStringTree.DoCreateEditor
00700ce6 heidisql.exe VirtualTrees   21583  +8 TBaseVirtualTree.DoEdit
0070b2af heidisql.exe VirtualTrees   27623  +2 TBaseVirtualTree.CanEdit
0070c331 heidisql.exe VirtualTrees   28123 +15 TBaseVirtualTree.EditNode
00873fda heidisql.exe table_editor    1269 +35 TfrmTableEditor.vtHandleClickOrKeyPress
00873e4c heidisql.exe table_editor    1213  +4 TfrmTableEditor.listColumnsClick
005b02b7 heidisql.exe Vcl.Controls             TControl.Click
005b0761 heidisql.exe Vcl.Controls             TControl.WMLButtonUp
006fd049 heidisql.exe VirtualTrees   19201  +7 TBaseVirtualTree.WMLButtonUp
005afd61 heidisql.exe Vcl.Controls             TControl.WndProc
005b4881 heidisql.exe Vcl.Controls             TWinControl.WndProc
0070a5bd heidisql.exe VirtualTrees   27144 +32 TBaseVirtualTree.WndProc
005b3ec4 heidisql.exe Vcl.Controls             TWinControl.MainWndProc
0053b3b0 heidisql.exe System.Classes           StdWndProc
75bccc6b USER32.dll                            DispatchMessageW
00684ceb heidisql.exe Vcl.Forms                TApplication.ProcessMessage
00684d2e heidisql.exe Vcl.Forms                TApplication.HandleMessage
00685069 heidisql.exe Vcl.Forms                TApplication.Run
0095c96f heidisql.exe heidisql          77 +24 initialization
75fced5a kernel32.dll                          BaseThreadInitThunk
ansgar's profile image ansgar posted 11 years ago Permalink
One of the above AVs reported here now.

Please login to leave a reply, or register at first.