Wine Traffic #224 For 28�May�2004

By Brian Vincent

Table Of Contents

Introduction

This is the 224th issue of the Wine Weekly News publication. Its main goal is to perform switch cutovers. It also serves to inform you of what's going on around Wine. Wine is an open source implementation of the Windows API on top of X and Unix. Think of it as a Windows compatibility layer. Wine does not require Microsoft Windows, as it is a completely alternative implementation consisting of 100% Microsoft-free code, but it can optionally use native system DLLs if they are available. You can find more info at www.winehq.org (http://www.winehq.org)

Mailing List Stats For This Week

We looked at 141 posts in 494K.

There were 60 different contributors. 26 posted more than once. 23 posted last week too.

The top posters of the week were:

1. News: Interviews Galore

22�May�2004�-�28�May�2004 (1 post) Archive Link: "News"

Topics: News

People: Orange Crate,�,�Jeremy White,�ReactOS,�Steven Edwards,�News

We published an interview with Steven Edwards (http://www.winehq.com/?interview=14) this week. Steven has been working on Wine for about three years and has been instrumental in getting Wine in a usable condition for the ReactOS (http://www.reactos.org) project. We ended up getting Slashdotted (http://developers.slashdot.org/article.pl?sid=04/05/27/0030250) for it. The Slashdot comments were pretty positive too. I think a large part of that is because Steven did an excellent job describing the motivations behind ReactOS.

Orange Crate (http://www.orangecrate.com) published an interview (http://www.orangecrate.com/article.php?sid=710) with Jeremy White. Last week Slashdot had one, but I think this one is much better. Jeremy talks more about the business side of things and has some interesting revelations:

Chuck Talk: What is on the roadmap for continuing CrossOver development?

Jeremy White: Right now we are really going to focus on our compatibility center. We've got a system where customers can vote for what application support they want next; we're going to try to follow that.

We do have some architectural issues we have to work on; for example, iTunes is going to require some COM and MSI work before we get it working, so we're starting in on those projects.

A few days later Mad Penguin also ran (http://madpenguin.org/Article1512.html) an interview with Jeremy to complement their review of CrossOver Office 3.0 (http://madpenguin.org/Article1513.html) . (By the way, that's the first review of CXO 3.0 I've seen so far and it has a lot of good things to say about the product.)

2. Testing - Volunteers Needed

28�May�2004�-�29�May�2004 (3 posts) Archive Link: "Request for winetesting volunteers"

Topics: Testing

People: Chris Morgan,�,�Ferenc Wagner,�Brian Vincent,�Dimi Paun,�Kevin Koltzau,�Paul Millar

Chris Morgan announced a call for volunteers to help with running Wine's testing framework. The new framework downloads and runs nightly builds of the complete set of Win32 API tests and runs them on Windows boxes. So if you have a Windows computer laying around you can set it up to run Chris' Winrash program and it will automate the entire process. Chris described the process:

Thanks to Brian Vincent, Paul Millar, Dimi Paun, Ferenc Wagner and Kevin Koltzau the automated winetest suite is ready for more widespread testing.

Kevin and Paul build winetests each night if there were cvs commits since the last time the tests were built. The winetests are published to a script on winehq that Brian and Dimi wrote. The winrash service that I wrote sends its current state to the service and receives a script to process that may direct it to check in later, download a winetest and run it or upgrade itself. Thanks to Ferenc the winetest results are sent back to winehq and can be accessed via http://test.winehq.org/data/ Pretty formatting of the results is coming soon ;-)

We need volunteers that are willing to particpate in the winetesting process by running the winrash service on their computers. The winrash installer can be downloaded from:

You can find out more about winrash at

The installer will install winrash as a service and run Wine tests as required. It is IMPORTANT that you set the client id correctly. Please use your first and last name WITHOUT spaces, like JohnSmith. Using the default client id will cause your winetest results to be ignored.

The service is smart enough to autoupgrade as new versions are released. To uninstall just go to the Add/Remove programs and click 'remove' as you do for many windows programs. There is the ability to restrict the times when winrash runs winetests but this requires manually adding some keys to the registry. I haven't finished testing this feature but if someone wants it I can see about getting it polished up and in a release early this coming week.

We currently need testers for the whole range of windows versions, win95/98/me, nt3/4, win2k, xp and 2003.

Please reply if you want to help out so that we know what kind of coverage we can expect. The more the merrier, so please sign up even if others have done so for your version of Windows.

Dimi described a few items that still remained to be completed, the biggest of which involved reorganizing the web pages a bit. Also, you may want to note that up until a few weeks ago the winetest suite was failing under Win9x. I noticed there's been some recent patches in that area though, so perhaps it's fixed.

3. Mandrake 10 & Corrupted Registries

23�May�2004�-�26�May�2004 (5 posts) Archive Link: "Crash and corrupted registry"

Topics: Fixes

People: Christian Costa,�Alexandre Julliard,�Steven Edwards,�

Christian Costa reported a fairly serious problem, " This is the second time I had to reboot when by box is stuck while running a windows apps. In both case the registry had been corrupted. This is very annoying. Could we have the wineserver do a backup of registry files at startup so we can retreive the previous version if a corruption occurs? That would be very useful."

Alexandre wanted more info about the crash since it shouldn't be an issue, " Well, a backup could be implemented, but the way the registry is saved should prevent it from being corrupted, since we only replace the previous one once the new one has been saved correctly. It would be interesting to find out exactly how yours managed to get corrupted. What sort of corruption do you see?"

Christian also wondered if anyone else was having the problem and mentioned he was using reiserfs on a Mandrake 2.4.21-0.13mdk kernel. That led Steven Edwards to mention some integration issues with Mandrake 10, " Do you have the LSB package installed in your Mandrake? There are two bugs in Mandrake 10 that some of our users have spotted in CrossOver. I dont know all of the details but there seems to be a issue with the 2.4 Mandrake kernel and the LSB package. Once the users have removed the LSB package things seem to clear up. "

Christian noticed that other files open when he rebooted experienced corruption. Alexandre felt it wasn't a problem for Wine to solve, " Yes, it very much looks like a filesystem issue, I prefer that <g> If you feel like trying to reproduce it, maybe you could try to add an fsync() in the saving code and see if this makes a difference."

4. Internationalization of Calendars

22�May�2004�-�24�May�2004 (4 posts) Archive Link: "Calendars"

Topics: Internationalization

People: William Lahti,�Shachar Shemesh,�Joshua Walker,�

Internationalization issues can be fascinating for the insight they give on other cultures. William Lahti asked for some info regarding calendars, "I am trying to implement EnumCalendarInfo and would like to know if any locales have multiple calendars, where the settings for the extra calendars would be in the nls file, and if any calendars have their own separate file."

Shachar Shemesh had some pointers for the Middle East region:

I'm not familiar with the Windows API in that respect, but I can tell you that both Jews and Muslims have their own calenders (as well as Chinese, Hindus etc, IIRC). At least in Israel, the gregorian is the main calender, but having the ability to view Jewish dates would be nice.

There is (or used to be) also a project with the same name for Muslim dates, but I can't seem to locate it. The best I can do is

Josh Walker then outlined how Japanese calendars worked, though the answer was a bit different than the question William originally asked, it was still interesting:

Japanese also use a different system to indicate the year. They use the year of the emperor. For example today's year is 14 Heisei (The current emperor has been in power scense 1990.) When Emperor Hirohito died in 1989, Japanese programmers had to reprogram thier computers to deal with the new "year" as many were hard-coded for the old emperor. Y2K wasn't much of a problem because the Japanese had updated thier computers ten years pervious.

Nowadays on computers, they simply list the julian year, then month, then day, and then the character of day of the week

abbreviated, it looks like this --> 04.05.24

Here's what the command "date" gave me as output

Here's what cal gives me...

Just remeber, year comes first and the date is seperated by periods if you want to drop the characters.

That led Shachar to go into more detail:

Don't get me started about representation.

First - the dates. Arabic dates are a bit simpler - it's a lunar calender (from moon birth until moon birth), which means that the months jump around the year. So, for example, Ramadan, the fasting month, can happen during winter or summer.

As for the Hebrew calender.... It's a lunar calender, with a leap MONTH added once every three to four years, to make sure it doesn't drift too far away from the seasons. So my birthday, which according to the Hebrew calender happens on the 21st of the SECOND Adar........

Then there is representation. Numerological letters are used. aleph means 1, bet means 2, yod means 10, kaf (the next one) means 20, and so on until 90, and then Kof means 100, and Taf (the last letter) means 400 (22 characters altogether). The numbers are added, so this year is [ed. note: 4 Hebrew characters] (Taf - 400 Shin- 300 Samech - 60 Daled -4, 764 altogether).

Of course, this is omiting the thousands. The real year is [ed. note: more Hebrew characters], or 5764. I was never sure what it's counting from. Naturally, the months are also displayed like that.

Oh, and did I mention that a day ends at sunset? Sabbath is kept from the sunset on Friday (actually, half hour before as a safty measure) until sunset on Saturday (half hour after).

5. Serial Issues

24�May�2004�-�25�May�2004 (4 posts) Archive Link: "General serial communications issues"

Topics: IO

People: David Purucker,�Scott Gifford,�Jakob Eriksson,�,�Eric Pouech

David Purucker ran into a problem with serial communication:

I have tried several terminal programs (Hyperterm and TeraTerm) under several builds of Wine including Wine-20040505 and they seem to have the same generic problem.

They all exhibit the same situation, DATA seems to go OUT, but never seems to come IN. Several other people have experienced the same thing, as seen in this bug report:

By the way, TeraTerm does work fine in TCP/IP mode, so it's definitely a serial problem. It's freeware available here:

It appears to be a fundamental problem in the serial/file code, which I understand is now under the ntdll tree. Obviously, I don't know much about it, but there is definitely something wrong.

I was wondering if any developers were aware of this problem, as the decreased general usage of serial communications may have caused this to slip under the carpet, so to speak.

Scott Gifford offered some tips:

We are using serial ports under Wine for a current project, and they work OK (apart from a few warnings). The machine I'm using doesn't have X, so I haven't tried HyperTerminal or TeraTerm, but our console-mode applications operate pretty much as expected.

I'm using two patches applied to a recent CVS. The first is a patch Eric Pouech recently posted:

The second is a patch of my own to supress warnings when using a pseudo-tty as a serial port:

But our apps worked OK before that; they just generated some warnings. Still, these patches might help, or at least cut down on the noise and help you find the real error.

David tried that, but still didn't have any luck. Jakob Eriksson offered one more suggestion, " Teraterm worked almost 100% ok a few months back for me. There was some issue with buffer sizes or something, but I changed a setting in TeraTerm and it worked perfect for me."

Sharon And Joy

Kernel Traffic is grateful to be developed on a computer donated by Professor Greg Benson and Professor Allan Cruse in the Department of Computer Science at the University of San Francisco. This is the same department that invented FlashMob Computing. Kernel Traffic is hosted by the generous folks at kernel.org. All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License version 2.0.