http://bugs.winehq.org/show_bug.cgi?id=32126
Bug #: 32126 Summary: Mathcad 14 ends up in a loop Product: Wine Version: 1.5.16 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: mlang AssignedTo: wine-bugs@winehq.org ReportedBy: winehq@uukgoblin.net Classification: Unclassified
Running Mathcad 14 (Academic Version from Open University) on wine 1.5.16.
When opening specific files or when displaying some of the tips of the day, Mathcad 14 freezes up, and there's lots of lines like these displayed in the console:
fixme:mlang:fnIMLangLineBreakConsole_BreakLineW (0x361f760)->1024 L"Find out what's new in Mathcad 14 under New Features." 53 -17197070 0xede79c 0xede768
The third number from the right decreases by 1 with each line printed, and everything else stays the same.
Austin English suggested using "native mlang/usp10" (in bug 32091). I've installed usp10 with winetricks and it's set to use native first in winecfg, but it didn't help.
I'm not sure how to get native mlang, winetricks doesn't seem to know what it is - any help on that would be appreciated.
http://bugs.winehq.org/show_bug.cgi?id=32126
Bartosz gang65@poczta.onet.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gang65@poczta.onet.pl
--- Comment #1 from Bartosz gang65@poczta.onet.pl 2013-06-13 19:06:19 CDT --- Description of the method is available at: http://msdn.microsoft.com/en-us/library/aa741037%28v=vs.85%29.aspx
This method is not implemented yet:
3461 static HRESULT WINAPI fnIMLangLineBreakConsole_BreakLineW( 3462 IMLangLineBreakConsole* iface, 3463 LCID locale, 3464 const WCHAR* pszSrc, 3465 LONG cchSrc, 3466 LONG cMaxColumns, 3467 LONG* pcchLine, 3468 LONG* pcchSkip ) 3469 { 3470 FIXME("(%p)->%i %s %i %i %p %p\n", iface, locale, debugstr_wn(pszSrc,cchSrc), cchSrc, cMaxColumns, pcchLine, pcchSkip); 3471 3472 *pcchLine = cchSrc; 3473 *pcchSkip = 0; 3474 return S_OK; 3475 }
I will try to take a look at this.
http://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #2 from Bartosz gang65@poczta.onet.pl 2013-06-18 16:01:16 CDT --- Created attachment 44854 --> http://bugs.winehq.org/attachment.cgi?id=44854 Fix fnIMLangLineBreakConsole_BreakLineW and fnIMLangLineBreakConsole_BreakLineA methods, to resolve problem with MathCad
http://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #3 from Bartosz gang65@poczta.onet.pl 2013-06-18 16:02:43 CDT --- Hi Robert.
Could you please build wine with my patch, and check if the problem was solved.
For me it is works correctly.
http://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #4 from Robert winehq@uukgoblin.net 2013-06-19 14:00:57 CDT --- Many thanks Bartosz,
I'm terribly sorry but I can't quite reproduce the problem anymore :-S
I worked around it a while back by installing some extra libraries with winetricks. Now, in order to reproduce again on 1.5.16, I tried to change them back to "builtin" in the Libraries tab of winecfg. This didn't help at first so I tried changing them all to "builtin" but I accidentally removed one of them asterisk-marked ones (I think it was msvcm90 but not 100% sure). I re-added it manually but now it doesn't have the asterisk and Mathcad doesn't start up anymore... a different problem...
fixme:msvcm:CrtImplementationDetails_DoDllLanguageSupportValidation stub wine: Call from 0x7b83b4d1 to unimplemented function msvcm80.dll.?_Cin_func@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@XZ, aborting wine: Call from 0x7b83b4d1 to unimplemented function msvcm80.dll.?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@P$AAVException@3@@Z, aborting fixme:shell:URL_ParseUrl failed to parse L"mcfront12R" fixme:shell:URL_ParseUrl failed to parse L"iengineR" fixme:shell:URL_ParseUrl failed to parse L"mslispR" fixme:shell:URL_ParseUrl failed to parse L"msvcm80" fixme:shell:URL_ParseUrl failed to parse L"engutils-mgdR"
^ lots of lines like these being printed :-S
I'll try to recreate the thing later, don't have time right now, sorry
http://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #5 from Bartosz gang65@poczta.onet.pl 2013-06-20 06:00:23 CDT --- Hi Robert.
Try to delete ~/.wine directory, and proceed the MathCad 14 installation again.
I have fixed mlang.dll, so use original mlang.dll. After patch this library, the strings should be formatted correctly.
http://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #6 from Bartosz gang65@poczta.onet.pl 2013-06-20 06:01:21 CDT --- Here you have installation instruction.
http://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #7 from Carmelo mighty.carml@gmail.com 2013-10-10 04:11:23 CDT --- Created attachment 46252 --> http://bugs.winehq.org/attachment.cgi?id=46252 Log of wine 1.5.30 without patch
http://bugs.winehq.org/show_bug.cgi?id=32126
Carmelo mighty.carml@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mighty.carml@gmail.com
--- Comment #8 from Carmelo mighty.carml@gmail.com 2013-10-10 04:16:14 CDT --- Hi I have the same problem with Mathcad 14 and after applying th patch to wine 1.7.3 the things go slightly better. By mistake I forgot to save changes to the comment before attaching the log,anyway the file commented as "Log of wine 1.5.30 without patch" is a log from a previous version of wine,following in the attachments you'll find a log from wine 1.7.3 with the patch applied and the file I used to test the behaviour of Mathcad.
http://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #9 from Carmelo mighty.carml@gmail.com 2013-10-10 04:21:16 CDT --- Created attachment 46253 --> http://bugs.winehq.org/attachment.cgi?id=46253 Log of wine 1.7.3 with the patch applied
I tried to perform some operations that I annotated in the log for convenience.
http://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #10 from Carmelo mighty.carml@gmail.com 2013-10-10 04:33:03 CDT --- Created attachment 46254 --> http://bugs.winehq.org/attachment.cgi?id=46254 A file of mine used for study purposes
I attached this file for convenience,it contains some computation for a course at my university.
http://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #11 from Bartosz gang65@poczta.onet.pl 2013-10-10 05:18:24 CDT --- Hi. I compared the native library output (by using Windows XP), with the function which I wrote myself, and the output is the same.
This patch could be pushed to repo.
http://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #12 from Carmelo mighty.carml@gmail.com 2013-10-10 05:55:51 CDT --- Okay, please do so. Just out of curiosity how did you obtained that info? I wonder if I can help a least a bit with the debug, if needed I can reinstall Windows XP on Virtualbox and also test the output on my native Windows 7 installation.
http://bugs.winehq.org/show_bug.cgi?id=32126
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Summary|Mathcad 14 ends up in a |Mathcad 14 ends up in a |loop |loop, needs | |IMLangLineBreakConsole::Bre | |akLineA/W implementation Ever confirmed|0 |1
--- Comment #13 from Anastasius Focht focht@gmx.net --- Hello folks,
refining summary to target the semi-stub Obviously still present.
Source: http://source.winehq.org/git/wine.git/blob/8c08faba490d821c61033eaec606e8862...
$ wine --version wine-1.7.18
Regards
http://bugs.winehq.org/show_bug.cgi?id=32126
Qian Hong fracting@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch CC| |fracting@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=32126
roger@mailinator.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |roger@mailinator.com
--- Comment #14 from roger@mailinator.com --- Still needs some work
1.7.29
https://bugs.winehq.org/show_bug.cgi?id=32126
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
--- Comment #15 from super_man@post.com --- The patch mentioned doesn't apply cleanly anymore against 1.7.52. Rebase/rework patch?
https://bugs.winehq.org/show_bug.cgi?id=32126
Bartosz gang65@poczta.onet.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #44854|0 |1 is obsolete| |
--- Comment #16 from Bartosz gang65@poczta.onet.pl --- Created attachment 53997 --> https://bugs.winehq.org/attachment.cgi?id=53997 Fix fnIMLangLineBreakConsole_BreakLine functions
Unfortunately current implementation is not working for me. I made internal tests of mlang.dll on Windows XP, and I prepared fixes which repair all noticed issues.
I will prepare tests to which will proove if BreakLine functions works as for Windows.
https://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #17 from Bartosz gang65@poczta.onet.pl --- Created attachment 53998 --> https://bugs.winehq.org/attachment.cgi?id=53998 Visual Studio source code, which I used to test Wine implementetion of the BreakLine functions
https://bugs.winehq.org/show_bug.cgi?id=32126
Bartosz gang65@poczta.onet.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #53997|0 |1 is obsolete| |
--- Comment #18 from Bartosz gang65@poczta.onet.pl --- Created attachment 54034 --> https://bugs.winehq.org/attachment.cgi?id=54034 Fix IMLangLineBreakConsole_BreakLine functions and add unit test
https://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #19 from Nikolay Sivov bunglehead@gmail.com --- This is likely to need full line breaking algorithm, not just space chars detection.
https://bugs.winehq.org/show_bug.cgi?id=32126
Bartosz gang65@poczta.onet.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #54034|0 |1 is obsolete| |
--- Comment #20 from Bartosz gang65@poczta.onet.pl --- Created attachment 54038 --> https://bugs.winehq.org/attachment.cgi?id=54038 Implementation IMLangLineBreakConsole_BreakLine functions and add unit test
Thanks Nikolay for fast feedback.
I already imlemented full line breaking algorithm. It is also including correct space, tabs and new line breaking. I tested it on Windows XP, and I already implemented tests which cover all cases.
If you found some string/configuration which is not working exactly as it is on WIndows, just provide test case, and I will fix that.
What is needed to push this changes upstream? Generally it is solving runtime problems for MathCad in my case.
https://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #21 from Nikolay Sivov bunglehead@gmail.com --- I meant a generic line breaking algorithm as described here http://unicode.org/reports/tr14/. We already have that implemented in usp10 and dwrite; unicode.org provides test data for it in LineBreakTest.txt file, if you're interested you can pick some interesting cases from it and see if BreakLine behaves accordingly or not.
https://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #22 from Bartosz gang65@poczta.onet.pl --- Thanks for link. It is very interesting, and allow me to make much more tests which check current :BreakLine function in Windows.
I checked colons, semicolons, dots and brackets, and for Windows XP implementation of the BreakLine functions it is treated as standard characters. I haven't observed any special behavior.
I will continue testing. If I find any uncovered case, I will fix that and add tests case.
https://bugs.winehq.org/show_bug.cgi?id=32126
--- Comment #23 from Bartosz gang65@poczta.onet.pl --- After investigation breaking support for different characters, I noticed that still need to be improved:
1. Different types of spaces. eg.: http://www.fileformat.info/info/unicode/char/2002/index.htm It is including: \u2002 \u2003 \u2004 \u2005 \u2006 \u2007 \u2008 \u2009 \u200A \u200B I already made fix for that issue, and covered by test case. I will publish it after I finalize all work.
2. Characters which prohibits line breaks before (Hyphen, right parenthesis, right brackets, etc.)
3. Characters which prohibit line breaks after (left parenthesis, left brackets, etc.) There are many unicode brackets/characters which is causing that. For example: http://www.fileformat.info/info/unicode/char/3008/index.htm
I plan to create script which will check all unicode characters, which is prohibits line break before and after. I hope I will achieve 100% compatibility with Microsoft Windows mlang.dll implementation.
https://bugs.winehq.org/show_bug.cgi?id=32126
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #24 from winetest@luukku.com --- Bartosz
are you still working on this? It's usually a bad sign that there is long delays on feedback.
https://bugs.winehq.org/show_bug.cgi?id=32126
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #25 from joaopa jeremielapuree@yahoo.fr --- Any news for this bug?