[Bug 35320] New: wine crash in MSVCRT__mbstowcs_l regarding locale, & other minor locale related problems
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun Jan 5 18:16:06 CST 2014
http://bugs.winehq.org/show_bug.cgi?id=35320
Bug ID: 35320
Summary: wine crash in MSVCRT__mbstowcs_l regarding locale, &
other minor locale related problems
Product: Wine
Version: 1.7.10
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: msvcrt
Assignee: wine-bugs at winehq.org
Reporter: htl10 at users.sourceforge.net
Classification: Unclassified
Created attachment 47106
--> http://bugs.winehq.org/attachment.cgi?id=47106
The file needed to cause the crash.
from r project (http://www.r-project.org/)
http://cran.ma.imperial.ac.uk/bin/windows/base/R-2.15.3-win.exe
After installing, running:
./wine ~/.wine/drive_c/Program\ Files/R/R-2.15.3/bin/R.exe
Then, at the R console prompt, type (having put the attached file at /tmp/1.R):
Sys.setlocale("LC_CTYPE", "Chinese")
source('z:/tmp/1.R', encoding='UTF8')
wine immediately crashes with:
--------------------------------------
wine: Unhandled page fault on read access to 0x00000000 at address 0x7eda29af
(thread 0030), starting debugger...
...
Backtrace:
=>0 0x7eda29af MSVCRT__mbstowcs_l+0x5f(wcstr=<couldn't compute location>,
mbstr=<couldn't compute location>, count=<couldn't compute location>,
locale=<couldn't compute location>)
[/home/Nobak-Hin-Tak/tmp-git/wine/dlls/msvcrt/mbcs.c:2140] in msvcrt
(0x0440a168)
1 0x7eda2b06 MSVCRT_mbstowcs+0x35(wcstr="as a &Metafile CTRL+W",
mbstr=0x0(nil), count=0x64)
[/home/Nobak-Hin-Tak/tmp-git/wine/dlls/msvcrt/mbcs.c:2161] in msvcrt
(0x0440a198)
2 0x6355b525 in rgraphapp (+0x1b524) (0x00030046)
0x7eda29af MSVCRT__mbstowcs_l+0x5f
[/home/Nobak-Hin-Tak/tmp-git/wine/dlls/msvcrt/mbcs.c:2140] in msvcrt: movzbl
0x0(%eax),%eax
2140 if(mbstr[size] == '\0')
...
----------------------------------------
I assume this info in the backtrace should be enough to address the crash.
FYI, the slightly unusual procedure is because under R under Vista in an
English locale doesn't like to plot graphs with non-latin annotations/texts.
The above procedure when used under Vista on British English windows would
result in R displaying an almost empty plot with a chinese title. Native R on
linux does not need the setlocale part to plot utf8-based texts.
Also R on Vista accepts 'Sys.setlocale("LC_CTYPE", "Chinese_China.950")'. I
only realized that trying to set traditional chinese [950] in a simplified
chinese region [china] is wrong when it is rejected on linux; but R on Vista
accepts this.
------------
Warning message:
In Sys.setlocale("LC_CTYPE", "Chinese_China.950") :
OS reports request to set locale to "Chinese_China.950" cannot be honored
------------
When R is running on Vista, it reports the locale as "English_United
Kingdom.1252".
But under Linux (in en_GB.utf8 locale), R warns of
-----------
During startup - Warning messages:
1: Setting LC_TIME=en_GB.utf8 failed
2: Setting LC_MONETARY=en_GB.utf8 failed
-----------
So three locale related issue:
- a crash in msvcrt
- R under Vista accepts "Chinese_China.950" but R under wine does not.
- there are locale-related warning messages from R on start up when running
under wine.
--
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.
More information about the wine-bugs
mailing list