[solved] TC7.50b1 AV when closing tab after changing language

Bug reports will be moved here when the described bug has been fixed

Moderators: Hacker, petermad, Stefan2, white

Post Reply
User avatar
petermad
Power Member
Power Member
Posts: 16009
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

[solved] TC7.50b1 AV when closing tab after changing language

Post by *petermad »

To reproduce you have to use a Windows locale that uses codepage 1252 (English, Deutsch, Dansk, Español, Français, Italiano, Norsk, Svenska for example) :

1. Make a copy set of the German language files - call them fx wcmd_test_deu.lng and wcmd_test_deu.mnu.
2. Change codepage=1252 to codepage=1251 in wcmd_test_deu.lng.
3. Use these language files in TC.
4. Make sure "Configuration" -> "Folder Tabs" -> "Show tab header also when there is only one tab" is NOT selected.
5. Restart TC
6. Open one folder tab in either file panel.
7. Change language file to ordinary wcmd_deu.lng.
8. Middle/double click the just opened folder tab (or press Ctrl+W) - you get:

Code: Select all

---------------------------
Total Commander
---------------------------
Access violation at address 00D52220. Write of address 01BD6624.
Please report this error to the Author,
with a description of what you were doing when this error occurred!
Continue execution?

Windows exception: C0000005
Stack trace:
00D52220  00413E10  7E368732  7E368814
7E37A011  7E37A037  004427F5  00413E10
7E368732  7E368814  00454D96  7E379279
7E37F409  004D86B0  00506BAB  00441A05
00441A43  00441B00  004415DD  0044353D
7E368BD7  00442850  00443282  00413E10
7E368732  7E368814  746F09CB  7E37A011
7E37A037  004427F5  00413E10  7E368732
7E368814  7E3689CB  7E37A439  7E3696C5
004193C9  004193F4  004195AE  0068EFAC
0068EFC7  7C817075  7C81707E  
Press Ctrl+C to copy this report!
---------------------------
Ja   Nej   
---------------------------
Click No - you get this:

Code: Select all

---------------------------
Total Commander
---------------------------
Access violation at address 00D52220. Write of address 000EC014.
Please report this error to the Author,
with a description of what you were doing when this error occurred!
Continue execution?

Windows exception: C0000005
Stack trace:
00D52220  00413E10  7E368732  7E368814
7E37A011  7E37A037  004427F5  00413E10
7E368732  7E368814  7E37BF13  7E378DD7
5B251AF4  7E378DD7  5B251B3B  7E3794EB
7E368732  7E368732  7E368814  7E37A011
7E37A037  004427CB  00413E10  7E368732
7E368814  7E37A011  7E37A996  004435E7
00443BC5  004415DD  0044353D  004432A3
00442850  00443282  00413E10  7E368732
7E368814  7E37A011  7E37A037  004427F5
00413E10  7E368732  7E37BDEF  7E378E9E
7E37BF8E  7E37BE39  7C90E471  7E3799FD
004448D8  00444DCE  00415610  
Press Ctrl+C to copy this report!
---------------------------
Ja   Nej   
---------------------------
and TC crashes.

9. Open Task Manger - Processes Tab - A Total Commander process is still running.

This may be related to this bug: http://ghisler.ch/board/viewtopic.php?p=168279#168279
Last edited by petermad on 2021-05-30, 17:59 UTC, edited 3 times in total.
License #524 (1994)
Danish Total Commander Translator
TC 11.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

I could not reproduce the error on a simple right click, that shows just the menu here. Do you mean middle click (close tab)? I do get an error then.
Author of Total Commander
https://www.ghisler.com
User avatar
fenix_productions
Power Member
Power Member
Posts: 1979
Joined: 2005-08-07, 13:23 UTC
Location: Poland
Contact:

Post by *fenix_productions »

On Polish Windows I could reproduce it only twice (trying 10 times) for DEU files but...

When I have codepage=1250 in WCMD_POL.LNG and codepage=1251 in WCMD_test_POL.LNG I can reproduce it each time when I double-click tab for closing. It is not crashing on RMB menu though.

What's more important: there is no difference which LNG file (from mentioned two) is loaded first. It is always crashing just after changing it and tab double-click.

Code: Select all

---------------------------
Total Commander
---------------------------
Access violation at address E9303C00. Read of address E9303C00.
Please report this error to the Author,
with a description of what you were doing when this error occurred!
Continue execution?

Windows exception: C0000005

Stack trace:

E9303C00  00413E10  7E368732  7E368814

7E378E9E  7E378EEA  7C90E471  7E3694BC

7E37AF40  7E37F409  004D86B0  00402E36

00506DB9  004415DD  0044353D  7E37B3FF

00415A2C  0044328C  00413E10  7E368732

7E368814  7E3689CB  7E37A439  7E3696C5

004193C9  004193F4  004195AE  0068EFAC

0068EFC7  7C817075  7C81707E  
Press Ctrl+C to copy this report!
---------------------------
Tak   Nie   
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...

#128099
User avatar
petermad
Power Member
Power Member
Posts: 16009
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Post by *petermad »

Do you mean middle click (close tab)
Yes, sorry - will correct first post.

there is no difference which LNG file (from mentioned two) is loaded first
Same here.
License #524 (1994)
Danish Total Commander Translator
TC 11.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

OK, thanks!

Btw, the reason of the problem is that when you turn off the tab control when the last tab is closed, the dialog elements which were part of that control have to be recreated as children of the main window. When TC does this and you switched from a Unicode language to a language from the same code page or vice versa, the control which was Unicode now has to be Ansi (or vice versa), which fails. Currently the only Ansi control here is the drive dropdown list. I will change that to Unicode too.
Author of Total Commander
https://www.ghisler.com
User avatar
fenix_productions
Power Member
Power Member
Posts: 1979
Joined: 2005-08-07, 13:23 UTC
Location: Poland
Contact:

Post by *fenix_productions »

TC7.50pb2: seems to be fixed.
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...

#128099
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Thanks!

2petermad
Can you confirm that too?
Author of Total Commander
https://www.ghisler.com
User avatar
petermad
Power Member
Power Member
Posts: 16009
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Post by *petermad »

Yes, fixed in TC 7.50b2 :-)
License #524 (1994)
Danish Total Commander Translator
TC 11.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Thanks!
Author of Total Commander
https://www.ghisler.com
Post Reply