| Anonymous | Login | Signup for a new account | 2013-05-25 08:45 CEST | ![]() |
| All Projects | FPC | Lazarus: Packages, Patches | Lazarus CCR | Mantis | fpGUI | fpcprojects: fpprofiler |
| Main | My View | View Issues | Change Log | Roadmap |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
| 0012742 | Lazarus | IDE | public | 2008-12-01 22:01 | 2013-04-27 23:44 | ||||||||
| Reporter | Joost van der Sluis | ||||||||||||
| Assigned To | Vincent Snijders | ||||||||||||
| Priority | normal | Severity | minor | Reproducibility | always | ||||||||
| Status | resolved | Resolution | fixed | ||||||||||
| Platform | OS | OS Version | |||||||||||
| Product Version | 0.9.27 (SVN) | Product Build | |||||||||||
| Target Version | 1.2.0 | Fixed in Version | 0.9.27 (SVN) | ||||||||||
| Summary | 0012742: Lazarus on win64 ide-crash on opendialog showing the lazarus-source directory | ||||||||||||
| Description | On win64 Lazarus crashes if I open the file-dialog (open->file) and select the root of the lazarus-directory. It takes a few seconds, then Lazarus just crashes. The debug-logs tells me that there's a second exception during the handling of the first exception. Running in GDB doesn't help. Stack seems corrupted | ||||||||||||
| Additional Information | TMainIDE.ParseCmdLineOptions: PrimaryConfigPath="C:\Documents and Settings\joost\Local Settings\Application Data\lazarus" SecondaryConfigPath="C:\lazarus64" NOTE: miscellaneous options file not found - using defaults Opmerking: Configuratie bestand voor code tools niet gevonden - de standaard wordt gebruikt NOTE: help options config file not found - using defaults TMainIDE.DoLoadLFM A H:\tmp\utf8exceptionbug\unit1.pas IsPartOfProject=True QuickCheckLFMBuffer LFMBuffer=H:\tmp\utf8exceptionbug\unit1.lfm TJITComponentList.AddJITComponentFromStream.ReadStream Reading: FCurReadJITComponent=:TForm1 StreamClass=TForm1 TApplication.HandleException Access violation Stack trace: $0000000077C3CE2C lazarus.pp - unhandled exception Note: GetTextBuf is overridden for: [FORMS.PP] ExceptionOccurred Sender=EAccessViolation Exception=Access violation Stack trace: TApplication.HandleException: there was another exception during showing the first exception Stack trace: $000000000040D7AA | ||||||||||||
| Tags | No tags attached. | ||||||||||||
| Fixed in Revision | |||||||||||||
| LazTarget | 1.2 | ||||||||||||
| Widgetset | Win32/Win64 | ||||||||||||
| Attached Files | |||||||||||||
Relationships |
|||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||
Notes |
|
|
(0026892) Vincent Snijders (manager) 2009-04-21 15:39 |
I cannot reproduce this issue with current Lazarus on vista 64. Does this problem still occur? |
|
(0026998) Joost van der Sluis (developer) 2009-04-23 19:21 |
Yes, the problem is still there. But I used win2k3 server, not Vista. (Initial report also was on this system) |
|
(0027120) Vincent Snijders (manager) 2009-04-27 11:27 |
I will try to create win2k3 server in a virtual machine. |
|
(0027130) Vincent Snijders (manager) 2009-04-27 15:26 edited on: 2009-04-27 15:28 |
I installed lazarus compiled with fpc 2.2.4 on Microsoft Windows Server 2003 R2 Standard x64 Edition Service Pack 2. I could not reproduce this issue. |
|
(0027158) Vincent Snijders (manager) 2009-04-28 21:56 |
Please, close if ok. |
|
(0027273) Vincent Snijders (manager) 2009-05-04 15:42 |
The fix has been reverted because of issue 0013613. Nowhere in the documentation is recommended to use COINIT_MULTITHREADED for gui applications, always OleInitialize or COINIT_APPTHREADED. It is yet unclear why on this windows server 2003 the open dialog crashes in some directories. |
|
(0027911) Vincent Snijders (manager) 2009-05-24 13:08 |
Postponed to 1.0, as it doesn't seem to be a regression, but I cannot find a solution. The only thing I can think of is to create a new thread and use the FileOpenDialog in that thread. A lot of work and still unclear if it works at all. |
|
(0052758) Vincent Snijders (manager) 2011-10-07 20:18 |
Can you still reproduce this with the latest version? |
|
(0054521) Tomasz Wieckowski (reporter) 2011-11-28 12:44 |
I just get this (on Windows 7 64) TApplication.HandleException Access violation Stack trace: $000000000995E100 TApplication.HandleException: there was another exception during showing the first exception Stack trace: $000007FEFE215B40 lazarus.pp - unhandled exception [FORMS.PP] ExceptionOccurred [FORMS.PP] ExceptionOccurred [FORMS.PP] ExceptionOccurred -------------------------------------------- This crash occur randomly and I think only when UseVistaDialogs is defined. Crash occur when I click (single click) on folder in OpenDialog. Several times my program written in Lazarus also crashed with OpenDialog but then windows has detected a system error in comdlg32.dll I'll try to get more info. |
|
(0054539) Tomasz Wieckowski (reporter) 2011-11-28 22:28 |
The problem is with VistaDialogs. Problem occurs at random folders or files. Sometimes just moving the mouse over the folders is enough to crash with delay of about 1 sec. Other apps don't have this problem, only lazarus. I attach sample session - avi. I think the crash is somewhere outside the program (ComDlg32/OLE),my knowledge is poor to find a problem. I run app with WinDbg from "Debugging Tools for Windows (x64)" and this is part from crash (when click on folder): ModLoad: 00000000`73a10000 00000000`73b96000 C:\PROGRA~1\COMMON~1\MICROS~1\OFFICE12\msoshext.dll ModLoad: 00000000`72930000 00000000`729f9000 C:\Windows\WinSxS\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4940_none_88df89932faf0bf6\MSVCR80.dll ModLoad: 00000000`6dde0000 00000000`6dfc2000 C:\Program Files\Common Files\Microsoft Shared\OFFICE11\msxml5.dll (cbc.b94): Unknown exception - code e0000002 (first chance) (cbc.eac): Access violation - code c0000005 (first chance) First chance exceptions are reported before any exception handling. This exception may be expected and handled. *** WARNING: Unable to verify timestamp for image00000000`00400000 *** ERROR: Module load completed but symbols could not be loaded for image00000000`00400000 image00000000_00400000+0x1f1ba8: 00000000`005f1ba8 50 push rax |
|
(0054552) Tomasz Wieckowski (reporter) 2011-11-29 18:08 |
the problem is somewhere in the COM/OLE. If I disable preview pane on Open Dialog Box and if I use a filter for not show files like doc,xls,... (which have an automatic preview) then there is no crash. So it seems that the problem occurs when the system uses a COM on the dialog box to show preview. Acording to my previous post, temporary I deleted msoshext.dll and no crash occurred (but preview still works) !?!? I suspected a possible Threading Model for COM, but CoInitializeEx (nil, COINIT_MULTITHREADED) did not help. BTW. Old Vista Dialogs also have problem when is set Large Icons (with preview). So finllay step to reproduce: (Win 7 64 + Office 2007) - click on MS Word document inside the NewFileOpenDialog with preview enabled. |
|
(0054555) Bart Broersma (developer) 2011-11-29 22:38 |
I cannot reproduce this on Win7 (64 bit OS). I have Office 2007 installed. I have preview enabled in the opendialog (the new Vista kind). Large Icons make no difference. I can hoover over the filename and selecte (which opens the preview), tested with a word document and with an OpenOffice *.odt document. |
|
(0054564) Tomasz Wieckowski (reporter) 2011-11-30 09:15 |
Can test several times by closing and opening the program? in different folders, sometimes for the first time it works ok. I tested on two systems. |
|
(0054574) Bart Broersma (developer) 2011-11-30 17:03 |
Did you compile the program or 32 or 64 bit? |
|
(0054576) Tomasz Wieckowski (reporter) 2011-11-30 18:54 |
> Did you compile the program or 32 or 64 bit? 32-bit works well,the crash occurs only with 64-bit lazarus. |
|
(0054655) Tomasz Wieckowski (reporter) 2011-12-02 19:24 |
I tested on Office 2010 and works ok, so on the one hand it looks at the problem of office 2007 but on the other why it works ok with other apps and with lazarus 32 ? And why whole apps crash when something goes wrong with preview on OpenFileDialog ? I tried to find what is happening and I found CLSCTX_ACTIVATE_32_BIT_SERVER http://msdn.microsoft.com/en-us/library/windows/desktop/ms693716%28v=vs.85%29.aspx [^] but lazarus doesn't have that flag for create FileOpenDialog object (CoCreateInstance). |
|
(0055330) Tomasz Wieckowski (reporter) 2011-12-28 20:17 |
As Vincent said I checked with COINIT_MULTITHREADED (etc.) - no success. I also checked in the simplest (no GUI): ----------------------------------------- program project1; uses Classes, Windows, ActiveX, ShlObj; var Dialog: IFileOpenDialog; SWnd: HWND; title: string; begin OleInitialize(nil); GetConsoleTitleA( PChar(title), 500 ); SWnd:=FindWindowA( NIL, PChar(title) ); if Succeeded(CoCreateInstance(CLSID_FileOpenDialog, nil, CLSCTX_INPROC_SERVER, IFileOpenDialog, Dialog)) and Assigned(Dialog) then begin Dialog._AddRef; Dialog.Show(SWnd); end; OleUninitialize; end. ------------------------------------------ and also no success. I checked VistaOpenDialog as GetOpenFileName from CommDlg (example code: http://www.dotfusion.net/vista-compatible-open-and-save-dialog-in-lazarus-freepascal [^]) and also with out success!! Can be assumed that the problem is in communication between the OLE and the 64bit fpc program. Office 2007 is always 32-bit but COM is 32/64. Don't know exactly how it looks but crash occur when Office Thumbnail/Preview Handler load msoshext.dll and assign whole preview stuff as threads to application process. So if someone also would have this problem the only solution for me is to remove Office preview handler by remove this reg: [HKEY_CLASSES_ROOT\CLSID\{C41662BB-1FA0-4CE0-8DC5-9B7F8279FF97}] @="Microsoft Office Thumbnail Handler" or you can use another 32-bit app. as a bridge to OpenDialog. |
|
(0056332) Zeljan Rikalo (developer) 2012-02-04 11:32 |
Postponed because this could be fpc<->OLE related problem under win64 bit |
|
(0057736) Tomasz Wieckowski (reporter) 2012-03-16 20:12 |
I've more info about this problem. Seems it's related with http://bugs.freepascal.org/view.php?id=10409 [^] crash occur on OpenDialog ToolTips. When you disable Windows ToolTips everything is working properly. |
|
(0060634) Tomasz Wieckowski (reporter) 2012-06-20 17:19 edited on: 2012-06-20 17:21 |
Bug doesn't occur if using SEH support (-dTEST_WIN64_SEH for compiler) with fpc 2.7.1 as explained Sergei Gorelkin www.mail-archive.com/fpc-devel@lists.freepascal.org/msg26229.html this bug is probably related to the current (non-SEH) exception handling. |
|
(0066144) Vincent Snijders (manager) 2013-03-09 09:04 |
Fixed in fpc 2.7.1 |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2008-12-01 22:01 | Joost van der Sluis | New Issue | |
| 2008-12-01 22:01 | Joost van der Sluis | LazTarget | => - |
| 2008-12-01 22:01 | Joost van der Sluis | Widgetset | => Win32 |
| 2008-12-07 21:04 | Vincent Snijders | LazTarget | - => 0.9.28 |
| 2008-12-07 21:04 | Vincent Snijders | Status | new => acknowledged |
| 2008-12-07 21:04 | Vincent Snijders | Target Version | => 0.9.28 |
| 2009-04-21 15:39 | Vincent Snijders | Note Added: 0026892 | |
| 2009-04-21 15:39 | Vincent Snijders | Status | acknowledged => feedback |
| 2009-04-23 19:21 | Joost van der Sluis | Note Added: 0026998 | |
| 2009-04-24 22:51 | Vincent Snijders | Status | feedback => acknowledged |
| 2009-04-27 11:27 | Vincent Snijders | Note Added: 0027120 | |
| 2009-04-27 15:26 | Vincent Snijders | Note Added: 0027130 | |
| 2009-04-27 15:28 | Vincent Snijders | Note Edited: 0027130 | |
| 2009-04-28 20:42 | Vincent Snijders | Relationship added | related to 0012409 |
| 2009-04-28 20:42 | Vincent Snijders | Relationship deleted | related to 0012409 |
| 2009-04-28 20:42 | Vincent Snijders | Relationship added | related to 0010409 |
| 2009-04-28 21:56 | Vincent Snijders | Fixed in Revision | => 19668 |
| 2009-04-28 21:56 | Vincent Snijders | Status | acknowledged => resolved |
| 2009-04-28 21:56 | Vincent Snijders | Fixed in Version | => 0.9.27 (SVN) |
| 2009-04-28 21:56 | Vincent Snijders | Resolution | open => fixed |
| 2009-04-28 21:56 | Vincent Snijders | Assigned To | => Vincent Snijders |
| 2009-04-28 21:56 | Vincent Snijders | Note Added: 0027158 | |
| 2009-04-30 13:07 | Vincent Snijders | Relationship added | related to 0013613 |
| 2009-05-04 15:42 | Vincent Snijders | Status | resolved => assigned |
| 2009-05-04 15:42 | Vincent Snijders | Resolution | fixed => reopened |
| 2009-05-04 15:42 | Vincent Snijders | Note Added: 0027273 | |
| 2009-05-24 13:08 | Vincent Snijders | LazTarget | 0.9.28 => 1.0 |
| 2009-05-24 13:08 | Vincent Snijders | Note Added: 0027911 | |
| 2009-05-24 13:08 | Vincent Snijders | Target Version | 0.9.28 => 1.0.0 |
| 2009-07-07 09:12 | Vincent Snijders | Assigned To | Vincent Snijders => |
| 2009-07-07 09:12 | Vincent Snijders | Status | assigned => acknowledged |
| 2011-10-07 20:18 | Vincent Snijders | Note Added: 0052758 | |
| 2011-10-07 20:18 | Vincent Snijders | Status | acknowledged => feedback |
| 2011-11-28 12:44 | Tomasz Wieckowski | Note Added: 0054521 | |
| 2011-11-28 22:28 | Tomasz Wieckowski | Note Added: 0054539 | |
| 2011-11-28 22:30 | Tomasz Wieckowski | File Added: capture-1.rar | |
| 2011-11-29 18:08 | Tomasz Wieckowski | Note Added: 0054552 | |
| 2011-11-29 22:38 | Bart Broersma | Note Added: 0054555 | |
| 2011-11-30 09:15 | Tomasz Wieckowski | Note Added: 0054564 | |
| 2011-11-30 17:03 | Bart Broersma | Note Added: 0054574 | |
| 2011-11-30 18:54 | Tomasz Wieckowski | Note Added: 0054576 | |
| 2011-12-02 19:24 | Tomasz Wieckowski | Note Added: 0054655 | |
| 2011-12-28 20:17 | Tomasz Wieckowski | Note Added: 0055330 | |
| 2012-02-04 11:32 | Zeljan Rikalo | LazTarget | 1.0 => 1.2 |
| 2012-02-04 11:32 | Zeljan Rikalo | Note Added: 0056332 | |
| 2012-02-04 16:07 | Maxim Ganetsky | Target Version | 1.0.0 => 1.2.0 |
| 2012-03-16 20:12 | Tomasz Wieckowski | Note Added: 0057736 | |
| 2012-04-08 13:41 | Maxim Ganetsky | Relationship added | related to 0021677 |
| 2012-06-20 17:19 | Tomasz Wieckowski | Note Added: 0060634 | |
| 2012-06-20 17:20 | Tomasz Wieckowski | Note Edited: 0060634 | |
| 2012-06-20 17:21 | Tomasz Wieckowski | Note Edited: 0060634 | |
| 2012-10-14 01:01 | Juha Manninen | Relationship added | related to 0023117 |
| 2013-03-09 09:04 | Vincent Snijders | Relationship added | related to 0024012 |
| 2013-03-09 09:04 | Vincent Snijders | Fixed in Revision | 19668 => |
| 2013-03-09 09:04 | Vincent Snijders | Note Added: 0066144 | |
| 2013-03-09 09:04 | Vincent Snijders | Status | feedback => resolved |
| 2013-03-09 09:05 | Vincent Snijders | Resolution | reopened => fixed |
| 2013-03-09 09:05 | Vincent Snijders | Assigned To | => Vincent Snijders |
| 2013-04-27 23:44 | Juha Manninen | Relationship added | related to 0023449 |
| Main | My View | View Issues | Change Log | Roadmap |



