https://bugs.winehq.org/show_bug.cgi?id=38226
Bug ID: 38226 Summary: EBWin(Unicode) crashes when searching katakana words. Product: Wine Version: 1.6 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msvcrt Assignee: wine-bugs@winehq.org Reporter: sagawa.aki+winebugs@gmail.com Distribution: ---
An anonymous reporter said[1]:
When I search katakana words, EBWin (Unicode) [2] crashes. A while ago, I searched "タオル" then it crashes. I used wine version is 1.6 and Ubuntu 12.04 and specified PDD Hyakkajisho 0.4 [3] as a dictionary file.
[1] http://engawa.open2ch.net/test/read.cgi/linux/1348712072/24 [2] http://www.vector.co.jp/soft/winnt/writing/se403151.html [3] http://www.vector.co.jp/soft/dl/data/writing/se312764.html
https://bugs.winehq.org/show_bug.cgi?id=38226
Sagawa sagawa.aki+winebugs@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://www.vector.co.jp/sof | |t/winnt/writing/se403151.ht | |ml Distribution|--- |Ubuntu Summary|EBWin(Unicode) crashes when |EBWin(Unicode) crashes when |searching katakana words. |searching katakana words. | |(_mbctohira is stub)
--- Comment #1 from Sagawa sagawa.aki+winebugs@gmail.com --- I can confirm the issue with wine 1.7.38.
Terminal output says: wine: Call from 0x7b83b69e to unimplemented function msvcrt.dll._mbctohira, aborting wine: Unimplemented function msvcrt.dll._mbctohira called at address 0x7b83b69e (thread 0009), starting debu gger... Unhandled exception: unimplemented function msvcrt.dll._mbctohira called in 32-bit code (0x7b83b69e).
So, I'll implement _mbctohira() to fix this issue.
https://bugs.winehq.org/show_bug.cgi?id=38226
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |michael@fds-team.de, | |sebastian@fds-team.de
--- Comment #2 from Sebastian Lackner sebastian@fds-team.de --- Please test the following patch by Michael Müller:
https://github.com/wine-compholio/wine-staging/blob/master/patches/msvcrt-Ka...
https://bugs.winehq.org/show_bug.cgi?id=38226
Sagawa sagawa.aki+winebugs@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|EBWin(Unicode) crashes when |EBWin(Unicode) crashes when |searching katakana words. |searching katakana words. |(_mbctohira is stub) |(_mbctohira is a stub)
--- Comment #3 from Sagawa sagawa.aki+winebugs@gmail.com --- Thanks Sebastian and Michael. But, I'm afraid that I have already finished my own implementation.
Your patch looks so nice. However, I sent my patches because which have some nit-picky tests. One of them is verifying _ismbckata(0x8152 /* KATAKANA ITERATION MARK */) returns 0 (amazingly!).
https://bugs.winehq.org/show_bug.cgi?id=38226
--- Comment #4 from Sebastian Lackner sebastian@fds-team.de --- (In reply to Sagawa from comment #3)
Thanks Sebastian and Michael. But, I'm afraid that I have already finished my own implementation.
Your patch looks so nice. However, I sent my patches because which have some nit-picky tests. One of them is verifying _ismbckata(0x8152 /* KATAKANA ITERATION MARK */) returns 0 (amazingly!).
No problem ;) Michaels implementation is basically identical, and the result also matches for 0x8152. He used publicly available documentation on those functions, so not really surprising. Would make sense to share your work-in-progress implementation a bit earlier in the future, to avoid doing the same work twice.
Patch 2/3 contains a suspicious hunk which modifies already existing tests. Any good reason for that?
@@ -1198,7 +1228,7 @@ static void test_ismbckata(void) { static const struct katakana_pair tests[] = { {0x8152, FALSE}, {0x8153, FALSE}, {0x8154, FALSE}, {0x8155, FALSE}, {0x82a0, FALSE}, {0x833f, FALSE}, {0x8340, TRUE }, {0x837e, TRUE }, - {0x837f, FALSE}, {0x8380, TRUE }, {0x8396, TRUE }, {0x839f, FALSE}, + {0x837f, FALSE}, {0x8380, TRUE }, {0x8396, TRUE }, {0x8397, FALSE}, {0xa5, FALSE}, {0xb0, FALSE}, {0xdd, FALSE} }; unsigned int prev_cp = _getmbcp();
https://bugs.winehq.org/show_bug.cgi?id=38226
--- Comment #5 from Sagawa sagawa.aki+winebugs@gmail.com --- (In reply to Sebastian Lackner from comment #4)
Patch 2/3 contains a suspicious hunk which modifies already existing tests. Any good reason for that?
@@ -1198,7 +1228,7 @@ static void test_ismbckata(void) { static const struct katakana_pair tests[] = { {0x8152, FALSE}, {0x8153, FALSE}, {0x8154, FALSE}, {0x8155, FALSE}, {0x82a0, FALSE}, {0x833f, FALSE}, {0x8340, TRUE }, {0x837e, TRUE },
{0x837f, FALSE}, {0x8380, TRUE }, {0x8396, TRUE }, {0x839f, FALSE},
}; unsigned int prev_cp = _getmbcp();{0x837f, FALSE}, {0x8380, TRUE }, {0x8396, TRUE }, {0x8397, FALSE}, {0xa5, FALSE}, {0xb0, FALSE}, {0xdd, FALSE}
Good catch! It should be in Patch 1/3. Thanks for your time to fix the issue.
https://bugs.winehq.org/show_bug.cgi?id=38226
Sagawa sagawa.aki+winebugs@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |b6ab2b626820eebaf140cc29fbe | |b6637962457f1 Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #6 from Sagawa sagawa.aki+winebugs@gmail.com --- Fixed by http://source.winehq.org/git/wine.git/commit/b6ab2b626820eebaf140cc29fbeb663... .
https://bugs.winehq.org/show_bug.cgi?id=38226
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.39.