You are not logged in.
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
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
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
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
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?!
It is infact this "Stay on top" option! I'll fix it asap!
Offline
Glad to be of help
Offline
It should be fixed now: ReNamerBeta.zip
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
Cheers
Don't know if you read the edit in one of my posts above, but
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
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
Are you using D2006 or D2005?
Actually, I'm using D7. I like it, and my computer likes it as well
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
I think I should simply remove this "Always on top" option, since it causes soooo many troubles... What you think?
Offline