Crashes when scrolling Variables tab

[expired user #4822]'s profile image [expired user #4822] posted 8 years ago in General Permalink

When I'm in Variables tab and scroll the list with mouse or keyboard, HeidiSQL crashes.

It always crashes when trying to display the next item after "max_allowed_packet" regardless of the window size. That is the item max_binlog_cache_size=18446744073709547520.

The bug is present for a long time. I tried the version 9.3 and the nightly build, both crash. I tried using the clean .wine directory with fresh HeidiSQL, it doesn't help.

The bug is NOT present in portable version.

I'm running HeidiSQL under wine-1.6.2, Ubuntu 15.10 See attached bugreport and screenshot.

2 attachment(s):
[expired user #4822]'s profile image [expired user #4822] posted 8 years ago Permalink

P.S. When running HeidiSQL in Windows, not in wine, it works well.

ansgar's profile image ansgar posted 8 years ago Permalink

I assume I have some integer overflow with that huge number. Will look into that.

Code modification/commit 064d4e2 from ansgarbecker, 8 years ago, revision 9.3.0.5105
Loosen exception handling in MakeInt(), so that not only EInvalidOp results in errors. Probably related to http://www.heidisql.com/forum.php?t=21727
ansgar's profile image ansgar posted 8 years ago Permalink

r5105 probably fixes that, by loosen a try/except block with catching only one specific exception. For me it worked anyway, even with huge numbers, on Windows. If you still see a crash, please provide the callstack from the second tab of the crash reporter window.

[expired user #4822]'s profile image [expired user #4822] posted 8 years ago Permalink

The bug is not fixed, but the stack trace changed. Attached a new screenshot and a new bugreport.txt

2 attachment(s):
ansgar's profile image ansgar posted 8 years ago Permalink

Hm, the offending line is in ListVariablesPaintText:

else if (tmp > -1) and ((MySQLVariables[tmp].EnumValues <> '') or (Pos(UpperCase(SessionVal), 'ON,OFF,0,1,YES,NO')>0)) then

Probably that .EnumValues is not set in one predefined variable. Will check that.

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