[Bug 23488] New: A Delphi application crashes
http://bugs.winehq.org/show_bug.cgi?id=23488 Summary: A Delphi application crashes Product: Wine Version: 1.2-rc6 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P4 Component: -unknown AssignedTo: wine-bugs(a)winehq.org ReportedBy: t.artem(a)mailcity.com Created an attachment (id=29316) --> (http://bugs.winehq.org/attachment.cgi?id=29316) Application with Pascal sources I have written an application in Delphi 5 to test Intel graphics drivers for Linux, unfortunately this application crashes. It does work under all Windows versions I have access to. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=23488 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 --- Comment #1 from Austin English <austinenglish(a)gmail.com> 2010-07-03 11:41:56 --- Confirming. It shows several access violations in user32, and in terminal: fixme:dc:DeleteDC not deleting busy DC 0x6bf0 refcount 2 err:ntdll:RtlpWaitForCriticalSection section 0x7e3582a0 "xrender.c: xrender_cs" wait timed out in thread 002c, blocked by 0029, retrying (60 sec) -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=23488 Dmitry Timoshkov <dmitry(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P4 |P2 Severity|normal |minor --- Comment #2 from Dmitry Timoshkov <dmitry(a)codeweavers.com> 2010-07-05 01:27:14 --- The application subclasses "Edit" and messes with the Edit's buffer by calling CallWindowProc() from another thread while main thread handles WM_PAINT. You need to find a more sane way of doing this kind of things. Arguably, Edit should lock its buffer while processing current message. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=23488 --- Comment #3 from Artem S. Tashkinov <t.artem(a)mailcity.com> 2010-07-05 03:25:43 --- Yep, I'm a shitty Windows API programmer, I know that. Last time I coded was 9 years ago ;) Dmitry, if you know Delphi, can you elaborate on what things I should change so this application was more conformant with Windows API? -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=23488 --- Comment #4 from Dmitry Timoshkov <dmitry(a)codeweavers.com> 2010-07-05 04:12:48 --- (In reply to comment #3)
Dmitry, if you know Delphi, can you elaborate on what things I should change so this application was more conformant with Windows API?
I don't know Delphi, but I would suggest to get rid of the additional thread and update Edit from the main message loop, or by handling WM_PAINT from the subclassed Edit control. Why do you need to change the text from another thread? -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=23488 --- Comment #5 from Artem S. Tashkinov <t.artem(a)mailcity.com> 2010-07-05 04:33:59 --- (In reply to comment #4)
I don't know Delphi, but I would suggest to get rid of the additional thread and update Edit from the main message loop, or by handling WM_PAINT from the subclassed Edit control. Why do you need to change the text from another thread?
I want to do that as fast as possible, at the same time preserving the user ability to stop memo update execution. I tried using timer events but no matter how I tried updates occured very slowly (if I'm not mistaken minimum timer resolution in Windows is 55ms). -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=23488 --- Comment #6 from Nikolay Sivov <bunglehead(a)gmail.com> 2010-07-05 04:44:58 --- You should use a separate thread for user interaction then, that will handle abort commands and won't lock on execution load. If you need to process events during loops use Application.ProcessMessages() that allows to empty message queue. Anyway if there's no problem with locking on Windows we need it too, but after 1.2 I guess. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=23488 --- Comment #7 from Dmitry Timoshkov <dmitry(a)codeweavers.com> 2010-07-05 04:46:44 --- (In reply to comment #5)
I want to do that as fast as possible, at the same time preserving the user ability to stop memo update execution.
I tried using timer events but no matter how I tried updates occured very slowly (if I'm not mistaken minimum timer resolution in Windows is 55ms).
What exactly your application is trying to do? Why does it need so frequent Edit updates? -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=23488 --- Comment #8 from Artem S. Tashkinov <t.artem(a)mailcity.com> 2010-07-05 05:03:15 --- (In reply to comment #7)
(In reply to comment #5)
I want to do that as fast as possible, at the same time preserving the user ability to stop memo update execution.
I tried using timer events but no matter how I tried updates occured very slowly (if I'm not mistaken minimum timer resolution in Windows is 55ms).
What exactly your application is trying to do? Why does it need so frequent Edit updates?
https://bugs.freedesktop.org/show_bug.cgi?id=28872 First of all, my favorite Irfan View takes almost 2.5 seconds to start under Intel drivers, vs. almost instantly under proprietary NVIDIA drivers. Secondly, many windows application which update their controls frequently flicker under Intel drivers - again that doesn't happen under proprietary NVIDIA drivers. So, I was just trying to create a very basic application which itself updates its controls as fast as possible to demonstrate this problem. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=23488 --- Comment #9 from Dmitry Timoshkov <dmitry(a)codeweavers.com> 2010-07-06 02:45:16 --- Just call RedrawWindow() from the thread proc. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=23488 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx(a)gmail.com --- Comment #10 from Bruno Jesus <00cpxxx(a)gmail.com> 2013-01-04 12:07:40 CST --- The application from comment #0 crashes instantly after pressing the Run button for me in wine-git with intel drivers 2.20. There is no backtrace because winedbg internal crashes. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=23488 --- Comment #11 from Rico <kgbricola(a)web.de> 2013-04-03 03:43:21 CDT --- Please read http://wiki.freepascal.org/Multithreaded_Application_Tutorial , I think the same should apply to Delphi. So you may use Synchronize() to update the Form. Does it prevent the crash? -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=23488 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |focht(a)gmx.net Summary|A Delphi application |Proprietary Delphi |crashes |application with broken | |design crashes | |(cross-thread edit | |control/user interface | |update) --- Comment #12 from Anastasius Focht <focht(a)gmx.net> --- Hello folks, still present with that broken app. Obviously still present. $ wine --version wine-1.7.19-70-gd6a59f7 Regards -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=23488 IvanDSM <snesivan1(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |snesivan1(a)gmail.com --- Comment #13 from IvanDSM <snesivan1(a)gmail.com> --- This bug is still present on 4.21. I'm currently unable to test the 5.0 release candidates. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (2)
-
wine-bugs@winehq.org -
WineHQ Bugzilla