http://bugs.winehq.org/show_bug.cgi?id=11751
Summary: Intellicad - endless loop when editing rich text (user32 SendMessageA) Product: Wine Version: 0.9.56. Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: mikesg@abv.bg
Created an attachment (id=11008) --> (http://bugs.winehq.org/attachment.cgi?id=11008) Relay log
When trying to enter rich text in a drawing in 4m - Ingellicad an endless loop is encountered (CPU stays 98%). See details below. The console output is attached.
Wine version: wine-0.9.56 OS: OpenSUSE 10.3 Windows: No windows, just a clean wine install Program: 4M - Intellicad 6 classic. Download demo: http://www.4msa.com/downloads/SetupICADClassic64_E.exe Install: wine SetupICADClassic64_E.exe How to run: I had to copy mfc71.dll,msvcr71.dll and msvcp71.dll from a Win XP SP2 install into drive_c/ICAD6CLASSIC folder Command line: wine "C:\ICAD6CLASSIC\icad.exe" How to reproduce: Run the program, in welcome dialog click 'Start Evaluation', in program command line type 'mtext' in command line, drag a rectangle on screen and in box that appears type whatever you want (don't worry about black letters on black background) and click 'OK'. All freezes. When started with +relay, the following lines appear endlessly:
0009:Call user32.SendMessageA(00000000,00000150,fffffffe,00000000) ret=00585ec5 0009:Ret user32.SendMessageA() retval=00000000 ret=00585ec5
Only difference is that the third parameter decreases with 1 every time it is displayed.
http://bugs.winehq.org/show_bug.cgi?id=11751
Lei Zhang thestig@google.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://www.4msa.com/download | |s/SetupICADClassic64_E.exe Keywords| |download
http://bugs.winehq.org/show_bug.cgi?id=11751
--- Comment #1 from Mike mikesg@abv.bg 2008-02-28 08:11:24 --- Created an attachment (id=11020) --> (http://bugs.winehq.org/attachment.cgi?id=11020) Backtraces
Backtraces obtained with winedbg from two separate starts and reproductions of the issue.
http://bugs.winehq.org/show_bug.cgi?id=11751
--- Comment #2 from Mike mikesg@abv.bg 2008-09-13 15:04:51 --- The issue is still active with wine-1.1.4-4.1
I have found a way to avoid copying dlls - instead I install the Microsoft Visual C++ 2005 SP1 Redistributable Package (x86). Download from: http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-...
http://bugs.winehq.org/show_bug.cgi?id=11751
knan-wine@anduin.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |knan-wine@anduin.net
--- Comment #3 from knan-wine@anduin.net 2008-09-13 16:54:49 --- As far as I can tell, the vc++ runtime dlls mentioned are not needed. I installed and reproduced the issue without them with current git.
This looks a bit like a possible culprit: fixme:richedit:RichEditWndProc_common Unsupported yet non NULL device in EM_SETTARGETDEVICE
http://bugs.winehq.org/show_bug.cgi?id=11751
--- Comment #4 from knan-wine@anduin.net 2008-09-13 16:57:06 --- Created an attachment (id=16082) --> (http://bugs.winehq.org/attachment.cgi?id=16082) plain console output until unresponsive
http://bugs.winehq.org/show_bug.cgi?id=11751
--- Comment #5 from Austin English austinenglish@gmail.com 2008-09-13 17:48:17 --- Try native richedit.
http://bugs.winehq.org/show_bug.cgi?id=11751
--- Comment #6 from knan-wine@anduin.net 2008-09-13 18:57:16 --- That's interesting.
- winetricks riched20 makes it die earlier inside the app itself, and not even come up with the textbox for input. - winetricks riched30 acts like wine builtin. But richedit fixmes disappear, so it's using native.
So not a richedit bug as such, then. (apart from text actually being visible with native and not with builtin, but that's another bug)
http://bugs.winehq.org/show_bug.cgi?id=11751
Yorik van Havre yorik.vanhavre@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |yorik.vanhavre@gmail.com
--- Comment #7 from Yorik van Havre yorik.vanhavre@gmail.com 2009-07-20 13:50:41 --- Just installed intellicad 6 classic on wine 1.1.25, I didn't need to install any other dll That bug is still happening, exactly the same manner.
http://bugs.winehq.org/show_bug.cgi?id=11751
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW URL|http://www.4msa.com/downloa |http://www.brothersoft.com/ |ds/SetupICADClassic64_E.exe |intellicad-professional-266 | |095.html CC| |focht@gmx.net Summary|Intellicad - endless loop |Intellicad 6.4 becomes |when editing rich text |unresponsive when adding |(user32 SendMessageA) |text (mtext command in icad | |console) Ever Confirmed|0 |1
--- Comment #8 from Anastasius Focht focht@gmx.net 2011-12-28 12:31:48 CST --- Hello,
confirming, still present.
Download link is busted but I found another product "Autodsys IntelliCAD 6 Standard" which seems to be created from same code base?
https://members.intellicad.org/members/products.php
Download:
http://www.brothersoft.com/intellicad-professional-266095.html
Endless looping after entering text and clicking "ok":
--- snip --- ... 0024:Call user32.SendMessageA(00000000,00000146,00000000,00000000) ret=005b5561 0024:Ret user32.SendMessageA() retval=00000000 ret=005b5561 0024:Call user32.SendMessageA(00000000,00000150,ffffffff,00000000) ret=005b5585 0024:Ret user32.SendMessageA() retval=00000000 ret=005b5585 0024:Call user32.SendMessageA(00000000,00000148,ffffffff,0032caf4) ret=005b55ae 0024:Ret user32.SendMessageA() retval=00000000 ret=005b55ae 0024:Call user32.SendMessageA(00000000,00000150,fffffffe,00000000) ret=005b5585 0024:Ret user32.SendMessageA() retval=00000000 ret=005b5585 0024:Call user32.SendMessageA(00000000,00000150,fffffffd,00000000) ret=005b5585 ... --- snip ---
The problem seems to be a missing window/dialog control. Pseudo code sequence made up from disassembly (might not be 100% accurate):
--- snip --- double dbl; LRESULT count = SendMessageA( hwnd, CB_GETCOUNT, 0, 0);
while (--count) { LRESULT lResult = SendMessage( hwnd, CB_GETITEMDATA, count, 0); if (lResult >= 0) { lResult = SendMessage( hwnd, CB_GETLBTEXT, count, buffer); if (lResult != CB_ERR) { dbl = strtod( buffer, NULL); } } } --- snip ---
Due to non-existing window/control (NULL hwnd) the SendMessage( CB_GETCOUNT) fails, returning 0. There is no error check and the loop is a (pre)decrementing loop -> -1, -2 ...
It's difficult to guess which control is actually missing here because the whole window/control hierarchy is hidden behind C++ class member data (maps to win32 handles).
One approach could be to run this app in Windows along with a Window/Message spy tool like "Winspector" or "Spy++" to figure out the window/control hierarchy. Needs further investigation ...
$ sha1sum AutodsysIntelliCAD6.4.23.2ProfessionalEditiontrial.exe e16e0caaed3cc9cad05987100287e61c57afddc2 AutodsysIntelliCAD6.4.23.2ProfessionalEditiontrial.exe
$ wine --version wine-1.3.35-194-gedd5ca7
Regards
http://bugs.winehq.org/show_bug.cgi?id=11751
--- Comment #9 from Bruno Jesus 00cpxxx@gmail.com --- The Brothersoft downloader is not working in wine and my vmware is not working after a kernel update so I can't download in windows either. I could not find suitable download alternatives. Is this still an issue in wine 1.7.17 or later?
https://bugs.winehq.org/show_bug.cgi?id=11751
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
--- Comment #10 from super_man@post.com --- wine: Call from 0x7b83c2ee to unimplemented function msvcirt.dll.??0ifstream@@QAE@XZ, aborting wine: Unimplemented function msvcirt.dll.??0ifstream@@QAE@XZ called at address 0x7b83c2ee (thread 0037), starting debugger...
when trying foch's download. Actually it seems to be bug 30014 and winetricks msvcirt
worked around it.
wine 1.9.1
I don't see the original issue mentioned at title. Maybe doing it wrong?