#1 2006-07-23 07:02

jinno
Member
Registered: 2006-04-24
Posts: 2

4.10 ACCESS VIOLATION

This small utility is handy but it has been showing access violation even in v 4.10 and will do the same in future builds. Access violation at address 00420E14 in module Renamer.exe. Read of address00000008

If I delete ini and doulbe click renamer.exe, there is no access violation. Anyway, if I click OK to access violation window, Renamer appears as if nothing had happened. 

In other words, if I delete ini file, and double click renamer.exe. It does not complain. And it makes ini file on the fly.

Now I double click renamer, (even without specifiying anything...i.e. using ini file renamer just created), access violation.

Then, I am afraid that this behavior will stay forever unless "ini file " must be replaced with something else. (maybe in registry entry)

--just used debug version ---
deleted some information for security reasons. (Too much info was stolen by debug version)

exception number  : 1
exception class   : EAccessViolation
exception message : Access violation at address 00469C24 in module 'ReNamer.exe'. Read of address 00000008.

main thread ($42c):
00469c24 +00000 ReNamer.exe Classes          TCollection.GetCount
004a155f +0000f ReNamer.exe ComCtrls         TListColumn.DoChange
004a1700 +00024 ReNamer.exe ComCtrls         TListColumn.SetWidth
005a0f12 +0006a ReNamer.exe MainForm 580  +6 TForm_Main.CentralizeRulesColumns
005a19d3 +000bf ReNamer.exe MainForm 847 +11 TForm_Main.FormResize
004bfc99 +00015 ReNamer.exe Controls         TControl.Resize
004c580d +00029 ReNamer.exe Controls         TWinControl.WMSize
004d937a +00026 ReNamer.exe Forms            TScrollingWinControl.WMSize
004c1d04 +00188 ReNamer.exe Controls         TControl.WndProc
004c4d63 +00157 ReNamer.exe Controls         TWinControl.WndProc
004da911 +00421 ReNamer.exe Forms            TCustomForm.WndProc
004c49e0 +0002c ReNamer.exe Controls         TWinControl.MainWndProc
00472b54 +00014 ReNamer.exe Classes          StdWndProc
7c90eae0 +00010 ntdll.dll                    KiUserCallbackDispatcher
77d5f12e +11c40 user32.dll                   DefWindowProcA
77d4e900 +00016 user32.dll                   CallWindowProcA
004c4e47 +000d7 ReNamer.exe Controls         TWinControl.DefaultHandler
004dbd8e +0005a ReNamer.exe Forms            TCustomForm.DefaultHandler
004c23f0 +0000c ReNamer.exe Controls         TControl.WMWindowPosChanged
004c576a +00096 ReNamer.exe Controls         TWinControl.WMWindowPosChanged
004c1d04 +00188 ReNamer.exe Controls         TControl.WndProc
004c4d63 +00157 ReNamer.exe Controls         TWinControl.WndProc
004da911 +00421 ReNamer.exe Forms            TCustomForm.WndProc
004c49e0 +0002c ReNamer.exe Controls         TWinControl.MainWndProc
00472b54 +00014 ReNamer.exe Classes          StdWndProc
7c90eae0 +00010 ntdll.dll                    KiUserCallbackDispatcher
004c1d04 +00188 ReNamer.exe Controls         TControl.WndProc
004c4d63 +00157 ReNamer.exe Controls         TWinControl.WndProc
004da911 +00421 ReNamer.exe Forms            TCustomForm.WndProc
004c49e0 +0002c ReNamer.exe Controls         TWinControl.MainWndProc
00472b54 +00014 ReNamer.exe Classes          StdWndProc
7c90eae0 +00010 ntdll.dll                    KiUserCallbackDispatcher
004c45de +0004a ReNamer.exe Controls         TWinControl.DestroyWnd
004c478d +0003d ReNamer.exe Controls         TWinControl.DestroyHandle
004db075 +0002d ReNamer.exe Forms            TCustomForm.SetFormStyle
005a0a98 +00018 ReNamer.exe MainForm 502  +3 TForm_Main.SetAlwaysOnTop
005a0653 +0004b ReNamer.exe MainForm 399  +7 TForm_Main.FormCreate
004d9a35 +00031 ReNamer.exe Forms            TCustomForm.DoCreate
004d9715 +00011 ReNamer.exe Forms            TCustomForm.AfterConstruction
0040488f +00007 ReNamer.exe System           @AfterConstruction
004d96ec +00174 ReNamer.exe Forms            TCustomForm.Create
7c90eae0 +00010 ntdll.dll                    KiUserCallbackDispatcher
004e0fa9 +00031 ReNamer.exe Forms            TApplication.CreateForm
006037ce +00076 ReNamer.exe ReNamer   60  +8 initialization

thread $15b8 (TWorkerThread):
7c90eb94 +00 ntdll.dll                         KiFastSystemCallRet
7c90e9be +0a ntdll.dll                         NtWaitForSingleObject
7c8025d5 +85 kernel32.dll                      WaitForSingleObjectEx
7c80253d +0d kernel32.dll                      WaitForSingleObject
00571095 +19 ReNamer.exe  VirtualTrees 5151 +3 TWorkerThread.Execute
0044ddc3 +2b ReNamer.exe  madExcept            HookedTThreadExecute
004715e8 +34 ReNamer.exe  Classes              ThreadProc
004053ac +28 ReNamer.exe  System               ThreadWrapper
0044dca5 +0d ReNamer.exe  madExcept            CallThreadProcSafe
0044dd0f +37 ReNamer.exe  madExcept            ThreadExceptFrame
>> created by main thread ($42c) at:
00570fda +16 ReNamer.exe  VirtualTrees 5114 +1 TWorkerThread.Create

modules:
00400000 ReNamer.exe                       c:\Program Files\ReNamer
01330000 AnyDX.DLL        3.0.6.3          C:\Program Files\Any Capture Screen
01360000 FileBXH.dll      1.90.6.0         C:\Program Files\FileBX
04320000 msi.dll          3.1.4000.2435    C:\WINDOWS\system32
061e0000 SSSensor.dll     5.5.0.5          C:\WINDOWS\system32
10000000 UnlockerHook.dll                  C:\Program Files\Unlocker
3b100000 IMJPCD.DIC       8.1.4202.0       C:\WINDOWS\IME\IMJP8_1\Dicts
47e30000 imjp81.ime       8.1.4204.0       C:\WINDOWS\system32
5ad70000 uxtheme.dll      6.0.2900.2523    C:\WINDOWS\system32
5d090000 comctl32.dll     5.82.2900.2180   C:\WINDOWS\system32
5edd0000 olepro32.dll     5.1.2600.2180    C:\WINDOWS\system32
605d0000 mslbui.dll       5.1.2600.2180    C:\WINDOWS\system32
629c0000 LPK.DLL          5.1.2600.2180    C:\WINDOWS\system32
631c0000 IMJPCIC.DLL      8.1.4203.0       C:\WINDOWS\IME\imjp8_1
63220000 imjp81k.dll      8.1.4202.0       C:\WINDOWS\system32
71aa0000 WS2HELP.dll      5.1.2600.2180    C:\WINDOWS\system32
71ab0000 WS2_32.dll       5.1.2600.2180    C:\WINDOWS\system32
71ad0000 wsock32.dll      5.1.2600.2180    C:\WINDOWS\system32
74720000 MSCTF.dll        5.1.2600.2180    C:\WINDOWS\system32
74d90000 USP10.dll        1.420.2600.2180  C:\WINDOWS\system32
755c0000 msctfime.ime     5.1.2600.2180    C:\WINDOWS\system32
76390000 IMM32.DLL        5.1.2600.2180    C:\WINDOWS\system32
763b0000 comdlg32.dll     6.0.2900.2180    C:\WINDOWS\system32
76b40000 winmm.dll        5.1.2600.2180    C:\WINDOWS\system32
76fd0000 CLBCATQ.DLL      2001.12.4414.308 C:\WINDOWS\system32
77050000 COMRes.dll       2001.12.4414.258 C:\WINDOWS\system32
77120000 oleaut32.dll     5.1.2600.2180    C:\WINDOWS\system32
773d0000 comctl32.dll     6.0.2900.2180    C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9
774e0000 ole32.dll        5.1.2600.2726    C:\WINDOWS\system32
77c00000 version.dll      5.1.2600.2180    C:\WINDOWS\system32
77c10000 msvcrt.dll       7.0.2600.2180    C:\WINDOWS\system32
77d40000 user32.dll       5.1.2600.2622    C:\WINDOWS\system32
77dd0000 advapi32.dll     5.1.2600.2180    C:\WINDOWS\system32
77e70000 RPCRT4.dll       5.1.2600.2794    C:\WINDOWS\system32
77f10000 GDI32.dll        5.1.2600.2818    C:\WINDOWS\system32
77f60000 SHLWAPI.dll      6.0.2900.2904    C:\WINDOWS\system32
77fe0000 Secur32.dll      5.1.2600.2180    C:\WINDOWS\system32
7c800000 kernel32.dll     5.1.2600.2180    C:\WINDOWS\system32
7c900000 ntdll.dll        5.1.2600.2180    C:\WINDOWS\system32
7c9c0000 shell32.dll      6.0.2900.2869    C:\WINDOWS\system32


cpu registers:
eax = 00000000
ebx = 00000000
ecx = 00000000
edx = 0000018c
esi = 00000002
edi = 01081ea4
eip = 00469c24
esp = 0012f1dc
ebp = 0012f1ec

stack dump:
0012f1dc  64 15 4a 00 02 00 00 00 - 00 00 00 00 30 25 08 01  d.J.........0%..
0012f1ec  6e 00 00 00 05 17 4a 00 - 17 0f 5a 00 94 d0 08 01  n.....J...Z.....
0012f1fc  48 f2 12 00 68 f4 12 00 - 64 f3 08 01 94 d0 08 01  H...h...d.......
0012f20c  d8 19 5a 00 f0 01 00 00 - 84 fc 4b 00 94 d0 08 01  ..Z.......K.....
0012f21c  9f fc 4b 00 94 d0 08 01 - 12 58 4c 00 94 d0 08 01  ..K......XL.....
0012f22c  f0 f3 12 00 7f 93 4d 00 - c0 f3 12 00 90 4c 40 00  ......M......L@.
0012f23c  48 f2 12 00 f0 f3 12 00 - 94 d0 08 01 70 f3 12 00  H...........p...
0012f24c  07 1d 4c 00 68 f4 12 00 - f0 f3 12 00 94 d0 08 01  ..L.h...........
0012f25c  00 00 00 00 00 00 00 00 - e7 ff ff ff 15 00 00 00  ................
0012f26c  f1 ff ff ff 00 00 00 00 - fe ff ff ff 0d 00 00 00  ................
0012f27c  19 00 00 00 02 00 00 00 - 01 00 00 00 60 3a 14 00  ............`:..
0012f28c  94 f3 12 00 20 30 f5 77 - f4 01 00 00 01 00 00 00  .....0.w........
0012f29c  11 00 00 00 11 00 00 00 - 6b 6a f1 77 76 6a f1 77  ........kj.wvj.w
0012f2ac  b5 15 01 b5 00 00 00 00 - d0 f2 12 00 01 5b f3 77  .............[.w
0012f2bc  b5 15 01 b5 20 30 f5 77 - 94 f3 12 00 a0 03 6b 02  .....0.w......k.
0012f2cc  d9 30 0a 08 fc f2 12 00 - 5a 7e f1 77 fc f2 12 00  .0......Z~.w....
0012f2dc  6a 7e f1 77 b5 15 01 b5 - 18 f3 12 00 81 7e f1 77  j~.w.........~.w
0012f2ec  20 30 f5 77 00 00 00 00 - 69 84 f1 77 01 00 00 00  .0.w....i..w....
0012f2fc  6c f3 12 00 e5 ee d4 77 - b5 15 01 b5 18 f3 12 00  l......w........
0012f30c  1c f3 12 00 a4 ba d4 77 - 2f c0 00 00 2f c0 00 00  .......w/.../...

disassembling:
[...]
005a0f02       mov     eax, [eax+$434]
005a0f08       call    -$e0c79 ($4c0294)      ; Controls.TControl.GetClientWidth
005a0f0d       mov     edx, eax
005a0f0f       sub     edx, ebp
005a0f11       pop     eax
005a0f12     > call    -$ff83b ($4a16dc)      ; ComCtrls.TListColumn.SetWidth
005a0f17 582   pop     edx
005a0f18       pop     ebp
005a0f19       pop     edi
005a0f1a       pop     esi
005a0f1b       pop     ebx

Last edited by jinno (2006-07-23 07:19)

Offline

#2 2006-07-23 10:47

den4b
Administrator
From: den4b.com
Registered: 2006-04-06
Posts: 3,440

Re: 4.10 ACCESS VIOLATION

Hi jinno, and thanks for submitting the bug report!

This is the most important bit of information that I needed, top lines of the call stack. But you also stripped out another important piece of information - what is your operation system? (Please tell me that it is not the Windows XP SP1)

00469c24 +00000 ReNamer.exe Classes          TCollection.GetCount
004a155f +0000f ReNamer.exe ComCtrls         TListColumn.DoChange
004a1700 +00024 ReNamer.exe ComCtrls         TListColumn.SetWidth
005a0f12 +0006a ReNamer.exe MainForm 580  +6 TForm_Main.CentralizeRulesColumns
005a19d3 +000bf ReNamer.exe MainForm 847 +11 TForm_Main.FormResize
004bfc99 +00015 ReNamer.exe Controls         TControl.Resize

These lines say that exception occurs from within TForm_Main.CentralizeRulesColumns procedure, in the components procedures but not in my procedures, which is MAD! This procedure autosizes the columns in the rules table, when you start the program and when rules are added or changed. Another funy thing is that INI file has absolutely nothing to do with resizing of the columns. Most of the functionality of these components are bound with Windows API, especially Common-Controls library, and that's where I think the error occurs.

I've compiled another debug version which will hide the exception in the CentralizeRulesColumns procedure. It doesn't solve the problem, but at least it should not annoy you any more. Try it, and tell me how the resizing of rules columns will change, ok? There is only one column that should be resized - is the "Statement" column. Have a look if there is a little gap between the border of the "Statement" column and the border of the component?

Here: ReNamerDebug2.zip.

Offline

#3 2006-07-23 11:47

dloneranger
Senior Member
From: Birmingham, UK
Registered: 2006-05-03
Posts: 122

Re: 4.10 ACCESS VIOLATION

Just for information, I don't get any exceptions with V4.1 on my system (XP service pack 2)

[edit]

Ah! yes I do - if always on top is set in the options (handy stack trace!)

Are you using D2006? The popupmode setting can cause a window to recreate it's handle and that can cause problems with invalid handles for controls

Last edited by dloneranger (2006-07-23 11:51)

Offline

#4 2006-07-23 11:51

den4b
Administrator
From: den4b.com
Registered: 2006-04-06
Posts: 3,440

Re: 4.10 ACCESS VIOLATION

Jinno, I've just read your comment on the FileForum. I must say that it was an unnecessary comment! Thousands of people use ReNamer world-wide, and only 3 people (one of them is you) are experiencing this Access Violation problem. You blame my software, while the software works perfectly for 99.9% of the users.

I was looking forward helping you, to solve YOUR problem! But with this kind of attitude, it's not enjoyable for me any more...

Offline

#5 2006-07-23 11:56

den4b
Administrator
From: den4b.com
Registered: 2006-04-06
Posts: 3,440

Re: 4.10 ACCESS VIOLATION

dloneranger wrote:

Ah! yes I do - if always on top is set in the options (handy stack trace!)

CRAP!! You saved my ass! How did I not notice that?! yikes
It is infact this "Stay on top" option! I'll fix it asap!

Offline

#6 2006-07-23 12:02

dloneranger
Senior Member
From: Birmingham, UK
Registered: 2006-05-03
Posts: 122

Re: 4.10 ACCESS VIOLATION

big_smile Glad to be of help

Offline

#7 2006-07-23 16:19

den4b
Administrator
From: den4b.com
Registered: 2006-04-06
Posts: 3,440

Re: 4.10 ACCESS VIOLATION

It should be fixed now: ReNamerBeta.zip smile

That was a very annoying problem, I still didn't figure it out completely - how exactly did error occur. It only occurred if you used "Always On Top" option, somehow the change in the Handle of the main form caused an Access Violation while setting the width of the TTntListView component. I maid appropriate changes to ReNamer, but I will continue to investigate this issue. I have a feeling that it might be caused by the TTntListView component, since only that component causes this problem, while it's brother Files table does exactly the same auto-sizing thing but without Access Violation (Files table uses TVirtualStringTree component).

Sorry for any inconvenience caused by this issue...

Offline

#8 2006-07-23 17:00

dloneranger
Senior Member
From: Birmingham, UK
Registered: 2006-05-03
Posts: 122

Re: 4.10 ACCESS VIOLATION

Cheers smile

Don't know if you read the edit in one of my posts above, but

dloneranger wrote:

Are you using D2006 or D2005? The popupmode property can cause a window to recreate it's handle and that can cause problems with invalid handles for controls

Offline

#9 2006-07-23 17:19

dloneranger
Senior Member
From: Birmingham, UK
Registered: 2006-05-03
Posts: 122

Re: 4.10 ACCESS VIOLATION

The fix has caused a few problems though

1) Changing the state of always on top clears the rules
2) Starting ReNamer with always on top selected leaves the 'click  here to add a rule' message in the rules instead of hiding it

Offline

#10 2006-07-23 17:57

den4b
Administrator
From: den4b.com
Registered: 2006-04-06
Posts: 3,440

Re: 4.10 ACCESS VIOLATION

dloneranger wrote:

Are you using D2006 or D2005?

Actually, I'm using D7. I like it, and my computer likes it as well wink

dloneranger wrote:

1) Changing the state of always on top clears the rules
2) Starting ReNamer with always on top selected leaves the 'click  here to add a rule' message in the rules instead of hiding it

Hmm.. I could not reproduce any of them... Really, I don't get these problems... weird hmm
I think I should simply remove this "Always on top" option, since it causes soooo many troubles... What you think?

Offline

Board footer

Powered by FluxBB