Wine Traffic #181 For 1�Aug�2003

By Brian Vincent

Table Of Contents

Introduction

This is the 181st release of the weekly Wine Weekly News publication. Its main goal is to enjoy getting outside, spending time in the mountains, and splicing hundreds of little wires destroyed by a pick axe. 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.com (http://www.winehq.com)

Mailing List Stats For This Week

We looked at 96 posts in 289K.

There were 45 different contributors. 20 posted more than once. 21 posted last week too.

The top posters of the week were:

1. News: SecurityFocus Article

26�Jul�2003�-�1�Aug�2003 (1 post) Archive Link: "News"

Topics: News

People: ,�News

I really like SecurityFocus. Unfortunately it's a site I don't have a lot of time to read. I was digging through the archives last weekend and ran across an interesting article about disassembling a Windows trojan (http://www.securityfocus.com/infocus/1641) . Granted, the article is now nine months old, but it's still very relevant. It goes into great detail on how to use Wine with IDA Pro to disassemble the trojan. After disassembly it shows how to run the code under Wine and debug it with gdb. Oddly enough they don't use Wine's own debugger but the process seems to work for them.

2. Profiling Wine

28�Jul�2003�-�29�Jul�2003 (6 posts) Archive Link: "Profiling wine"

Topics: Debugging

People: Mike Hearn,�Jeremy White,�Lars Segerlund,�Ove Kaaven,�,�Mike McCormack,�Ove K�ven

Mike Hearn asked a question related to debugging, " Is there any way to get measurements of where Wine is spending most of its time? I have a problem where typing text into the WebBrowser control is incredibly slow, but don't really have a clue where to start looking. A profiling tool would be handy about now...... "

Jeremy White replied first:

Charles and Mike did a fair amount of work to submit a patch to Wine to enable a profiling mode.

Sadly, Mike is on vacation this week, so i'm not sure if he's around to help out.

But if you look through the archives (I think Mike mailed it in), you should find it.

We'd really like to have other folks using this code...

Mike had some questions, but apparently only Mike McCormack would be able to answer him. In lieu of a response about getting that patch into Wine, Lars Segerlund wrote:

How about giving oprofile a spin ?

It is very good at pinpointing runtime hotspots. I just wanted to give a suggestion on how to get going with profiling right now without the need to wait for wineprofile functionality.

Jeremy wasn't sure how well that would work:

I'm told (and have been persuaded of this), that Wine's internal structures preclue a 'normal' profiler from working properly, hence the need for a Wine specific one.

I know we toyed with adapting gprof to Wine semantics, but decided, in the end, that was too hard and not worth it.

Ove K�ven felt oprofile was different and would work. He mentioned a caveat, " Then again, oprofile is not a normal profiler, it's a kernel-based one. I've tried it, it "works", but it seems that it requires a 2.5 kernel in order to be really useful (it's not able to generate call graphs with 2.4)"

3. Debug Problem With Win98 Version

24�Jul�2003�-�28�Jul�2003 (3 posts) Archive Link: "Is wine a debugger?"

Topics: Fixes

People: Dan Timis,�Alex Pasadyn,�

Dan Timis needed help with what appeared to be a problem with the Wine debugger:

I am trying to load a security Windows dll that does not run under a debugger. When I load the dll I get a SIGTRAP, and then wine breaks in its debugger.

My understanding is that if I run wine as opposed to winedbg I am not running under a debugger. But, if there is a crash or some other exception wine will start a debugger.

I sent some memory dumps to the developer of the security dll, and he said that it behaves like it was running under a debugger. He's question was something like does wine have an always "on" debugger?

Alex Pasadyn wrote back with a possible solution:

I have seen this kind of thing before. I had a program that was doing this, and to get around it I changed the "Windows version" for Wine from one of the "DOS-based" ones to one of the "NT-based" ones.

This may or may not work for you. It depends on what exactly the program is trying to do to detect a debugger. I just tried setting the version to NT because I figured that the things it allowed were closer to what would be allowed on Linux, and it happened to be that whatever it tried to do on NT gave the "correct" answer on Wine.

But yes, the Wine debugger loads as a new process only after a crash is detected. What is happening is the program is poking around in memory somewhere and seeing something different from what it expects.

Dan tried it and it worked.

4. Testing Controls with Mono

28�Jul�2003 (1 post) Archive Link: "Re: [Mono-winforms-list] SWF Examples/Tests"

Topics: Testing, Integration

People: Timothy Parez,�Mike Hearn,�,�Mono

Timothy Parez sent a message to Mono users about some testing he did with the Mono/Wine integration:

Some time ago I started writing simple tests for SWF control rendering. At that time I had no way to manage them, but now Duncan has created a new page on the Mono Wiki where I will add the samples.

Each sample contains the sourcecode, makefile and screenshots. I will try to create these samples for each of the controls in SWF

I will however make seperate projects for controls which use images, because these don't seem to run on SWF yet. (For example a button with a background image)

You can find the wiki page here:

Mike Hearn forwarded that to wine-devel and explained:

This will be really great for Wine also, I'm forwarding this on to the Wine list. We really need tests like this, but AFAIK nobody has ever done them.

As you can see the Wine widget toolkit does not implement all the features of the MS Windows one (primarily because very few apps actually use them). Nonetheless, adding them should be easy, and it's good to have a reference like this.

5. Library of Microsoft Compression Formats

26�Jul�2003 (2 posts) Archive Link: "[libmspack] A library for Microsoft compression formats"

Topics: Integration

People: Mike Allen,�,�Greg Turner

Mike Allen wrote in with a pointer to a library under development:

I haven't tried this lib but it looks well organized and clean which is rare so check it out or fwd this link to interested parties...

Greg Turner agreed that it could be useful.

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.