<kc version="0.1.0">

<title>Wine Traffic</title>

<author contact="http://www.theshell.com/~vinn">Brian Vincent</author>

<issue num="165" date="11 Apr 2003 00:00:00 -0800" />

<intro>
<p>This is the 165th release of the Wine's kernel cousin publication. 
 It's main goal is to remind me that I'm enjoying daylight savings time
 too much and getting out WWN updates a little later now.
 It also serves to inform you of what's going on around Wine (the Un*x 
 windows emulator).</p>
</intro>



<stats posts="229" size="705" contrib="70" multiples="42" lastweek="27">

<person posts="18" size="44" who="Alexandre Julliard" />
<person posts="15" size="42" who="Dmitry Timoshkov" />
<person posts="20" size="54" who="Mike Hearn" />
<person posts="15" size="40" who="Dimitrie O. Paun" />
<person posts="11" size="32" who="Sylvain Petreolle" />
<person posts="9" size="22" who="Dan Kegel" />
<person posts="11" size="21" who="Eric Pouech" />
<person posts="6" size="26" who="Adam Gundy" />
<person posts="6" size="18" who="Gerald Pfeifer" />
<person posts="6" size="15" who="Maxime Bellenge" />
<person posts="5" size="18" who="Hans Leidekker" />
<person posts="5" size="12" who="Tim Ruehsen" />
<person posts="4" size="14" who="James Pellow" />
<person posts="4" size="12" who="Gregory M. Turner" />
<person posts="4" size="12" who="Vincent Beron" />
<person posts="4" size="11" who="Uwe Bonnes" />
<person posts="4" size="10" who="KK singh" />
<person posts="4" size="9" who="Enrico Horn" />
<person posts="3" size="27" who="John Spiegel" />
<person posts="3" size="10" who="Vilppa Salt" />
<person posts="3" size="8" who="Shachar Shemesh" />
<person posts="3" size="8" who="Rolf Kalbermatter" />
<person posts="3" size="7" who="Piotr Pawlow" />
<person posts="3" size="7" who="Bill Medland" />
<person posts="3" size="6" who="Mike McCormack" />
<person posts="3" size="6" who="Jeremy Newman" />
<person posts="2" size="34" who="Rok Mandeljc" />
<person posts="2" size="13" who="Scott Carmichael" />
<person posts="2" size="7" who="Kevin DeKorte" />
<person posts="2" size="5" who="Tom Hibbert" />
<person posts="2" size="5" who="Fabian Cenedese" />
<person posts="2" size="5" who="Roderick Colenbrander" />
<person posts="2" size="5" who="Gyorgy Jeney" />
<person posts="2" size="4" who="BiGgUn" />
<person posts="2" size="4" who="Lionel Ulmer" />
<person posts="2" size="4" who="Steven Edwards" />
<person posts="2" size="3" who="Marcus Meissner" />
<person posts="2" size="3" who="Vittorio Ballestra" />
<person posts="2" size="3" who="Yu Neil" />
<person posts="1" size="19" who="John K. Hohm" />
<person posts="1" size="10" who="Alberto Massari" />
<person posts="1" size="4" who="Nerijus Baliunas" />
<person posts="1" size="4" who="(fenix)" />
<person posts="1" size="4" who="Dave Miller" />
<person posts="1" size="3" who="Oliver Ob" />
<person posts="1" size="3" who="Michael Gunnewig" />
<person posts="1" size="3" who="Michael Stefaniuc" />
<person posts="1" size="3" who="Eduardo Augusto Bezerra" />
<person posts="1" size="2" who="Brad Campbell" />
<person posts="1" size="2" who="Stefan Leichter" />
<person posts="1" size="2" who="Raphael Junqueira" />
<person posts="1" size="2" who="Steven Tower" />
<person posts="1" size="2" who="Steven Garrison" />
<person posts="1" size="2" who="Rod Taylor" />
<person posts="1" size="2" who="Jeremy White" />
<person posts="1" size="2" who="Duane Clark" />
<person posts="1" size="2" who="Thomas Mertes" />
<person posts="1" size="2" who="Jukka Heinonen" />
<person posts="1" size="2" who="Juraj Hercek" />
<person posts="1" size="2" who="Tony Lambregts" />
<person posts="1" size="2" who="Dustin Navea" />
<person posts="1" size="1" who="Hetz Ben Hamo" />
<person posts="1" size="1" who="Carlo Pelini" />
<person posts="1" size="1" who="David Fraser" />
<person posts="1" size="1" who="Paul McNett" />
<person posts="1" size="1" who="Michal Janusz Miroslaw" />

</stats>

<section 
	title="News: Wine-20030408, Distro Reviews" 
	subject="News"
	archive="http://cvs.winehq.com/cvsweb/wine/ANNOUNCE?rev=1.74&amp;content-type=text/x-cvsweb-markup" 
	posts="4"
	startdate="05 Apr 2003 00:00:00 -0800"
	enddate="11 Apr 2003 00:00:00 -0800"
>
<topic>News</topic>

<mention></mention>
<mention>Xandros</mention>
<mention>DesktopLinux</mention>
<mention>News</mention>

<p>Look mommy, we got 
<a href="http://developers.slashdot.org/developers/03/04/08/2125228.shtml?tid=125">Slashdotted</a>.
This week <a href="http://www.winehq.com/?interview=2">Dimi Paun</a>
got grilled about his work with Wine.  Head over to WineHQ to check
out the interview.</p>

<p><a href="http://cvs.winehq.com/cvsweb/wine/ANNOUNCE?rev=1.74&amp;content-type=text/x-cvsweb-markup">Wine-20030408</a>
fell out of the tree:
<quote who="Alexandre Julliard"><ul>
WHAT'S NEW with Wine-20030408: (see 
	<a href="http://cvs.winehq.com/cvsweb/wine/ChangeLog?rev=1.70&amp;content-type=text/x-cvsweb-markup">ChangeLog</a>
	for details)
        <li> Some reorganizations of the source tree.</li>
        <li> File change notifications.</li>
        <li> Support for all variants of glibc 2.3.</li>
        <li> Many documentation updates.</li>
        <li> Lots of bug fixes.</li></ul></quote></p>

<p>Also in there is IP Multicast, though I'm not sure how many people
use that.  You may need to run configure with <tt>--with-nptl</tt>
if you have one of
the new distro's with glibc 2.3 and a kernel using NPTL-style threads.</p>

<p>Michael Barnes 
<a href="http://www.desktoplinux.com/articles/AT5747451177.html">reviewed</a>
several Linux distributions over at DesktopLinux.com.  Wine integration was an 
important criteria in his evaluations.  In particular he gave high marks to 
Xandros and ELX for their ability to run Windows apps:</p>
<quote who="Michael Barnes"><p>
 I got an e-mail telling me that ELX had an enhanced version of Wine that allowed 
 ELX Powerdesktop to support many Microsoft Windows applications. One of the 
 applications they claimed to support was Adobe Photoshop 7.0. At first, I 
 could not find my Photoshop 7.0 so I tested Photoshop 5.5. This installed 
 with absolutely no problems. I was then motivated to look harder for Photoshop 
 7.0. Photoshop 7.0 also installed with no problems.
</p></quote>

<p>One distribution not reviewed was 
<a href="http://topologi-linux.sourceforge.net/">TopologiLinux</a>.  Never
heard of it?  Neither had I until I found the page on SourceForge.  It's unique
in that it installs under Windows onto a FAT or NTFS filesystem and then boots
from CD.  Last week version 3.0 came out; Wine is included with it.</p>


</section>





<section 
	title="Debugging Threads" 
	subject="Stuck on threading"
	archive="http://www.winehq.com/hypermail/wine-devel/2003/04/0216.html" 
	posts="8"
	startdate="08 Apr 2003 00:00:00 -0800"
	enddate="09 Apr 2003 00:00:00 -0800"
>
<topic>Debugging</topic>
<mention></mention>

<p>Mike Hearn asked for some help debugging a threaded program:</p>
<quote who="Mike Hearn"><p>
I'm a bit stuck. I have a DLL that does a FindWindow on DLL attach, and
as part of that it does a GetWindowText which tries to send a message to
another thread, using send_inter_thread_message. Other threads then
attempt to load a DLL and the loader section prompty deadlocks.
</p><p>
In gdb, if I attach at this point I can see a nice backtrace of the
thread waiting for the reply to its WM_GETTEXT message, along with the
thread ID. I'd quite like to see what the thread it sent the message to
is doing, but for some reason in gdb "info threads" doesn't do anything
and "thread 18" says, thread ID not known, despite it clearly being
there in the backtrace:
<ul>#5  <code>0x40abd0cf in send_inter_thread_message (dest_tid=18,
    info=0x4072187c, res_ptr=0x40721874) at message.c:1719</code></ul>
</p><p>
So, I'm wondering if this is due to the funny games Wine plays with
threads, I'm on a standard glibc 2.2 system by the way. For some reason
I can't use winedbg because it stops with a load of exceptions inside
the DLL that seem to be red herrings.
</p><p>
Is there any way of switching to a wine thread using gdb to get a
backtrace? Is there a sneakier approach I can use to find out why thread
18 has apparently deadlocked? There is probably a race condition here -
this program will start some times but not others :(
</p><p>
Has anybody got any tips on how to debug this sort of thing?
</p></quote>

<p>Later in the day he replied to himself,
<quote who="Mike Hearn">
 I figured out that you can start winedbg and then
 use a wine process id to attach - I was trying to attach using unix pids
 and was wondering why it didn't work. The winedbg help screen seems a
 little out of date, it doesn't show you that the bt command accepts a
 tid as a parameter for instance, and I can't see any way to switch the
 current thread</quote></p>

<p>Several people still suggested some different ideas, Alexandre mentioned,
<quote who="Alexandre Julliard">
 You can attach to a specific thread with gdb, but you have to specify
 its unix pid, you can't use the wine thread id of course, gdb doesn't
 know about that. You can see the unix pid of a thread with +server, or
 simply attach to each thread until you find the right one</quote></p>

<p>Eric Pouech suggested another way to use gdb,
<quote who="Eric Pouech">
 another solution for this would be using gdb thru winedbg (run 
 <tt>winedbg -- --gdb</tt>)
 you'll get gdb as a front end, but communicating thru winedbg to the wineserver
 using gdb commands, you might be able to control a bit more the threads
</quote></p>

</section>





<section 
	title="Change in nm Symbol Output" 
	subject="winebuild incompatibility with binutils-2.13.90.0.20"
	archive="http://www.winehq.com/hypermail/wine-devel/2003/04/0300.html" 
	posts="6"
	startdate="09 Apr 2003 00:00:00 -0800"
	enddate="11 Apr 2003 00:00:00 -0800"
>
<topic>Utilities</topic>
<mention>Mike Hearn</mention>
<mention></mention>

<p>Piotr Pawlow reported a problem with the
new binutils package:</p>
<quote who="Piotr Pawlow"><p>
There is a change in "nm -u" output format in the new binutils, now it 
outputs "U " before every symbol name. It looks like this:
<ul><code>
$ nm -u d3d8.dll.tmp.o
<ul>
         U cos<br />
         U CreateDCA<br />
         U DeleteDC<br />
         U ExtEscape<br />
         U GetClientRect<br />
         U GetDC<br />
         U GetDesktopWindow<br />
         U GetDeviceCaps<br />
         U GetModuleHandleA<br />
         U GetProcAddress<br />
         U GetPropA<br /></ul>
(...)</code></ul></p><p>

Winebuild parser is not prepared for that. It does not find proper 
symbol names, creates spec.c files with no imports, and the result is 
that linking fails on unresolved symbols, as reported in "--with-nptl 
and glibc-2.3.2" thread.
</p><p>
A quick fix:
<ul><code>
Index: tools/winebuild/import.c<br />
===================================================================<br />
RCS file: /home/wine/wine/tools/winebuild/import.c,v<br />
retrieving revision 1.48<br />
diff -r1.48 import.c<br />
664a665,667<br />
&gt;&#160;&#160;&#160; 	if (*p == 'U') {<br />
&gt;&#160;&#160;&#160;&#160;&#160;&#160; if (p[1] == ' ') p+=2;<br />
&gt;&#160;&#160;&#160; 	}<br />
</code></ul>
</p><p>
Shouldn't winebuild, however, use libbfd where available, 
instead of relying on nm output?
</p></quote>

<p>The next day Alexandre committed a similar patch to fix it (so you
won't find it in wine-20030408).  Regarding using libbfd, it doesn't
seem like much of an option.  Dmitry Timoshkov pointed out that it
has a GPL license, unlike Wine's LGPL.  Then, Mike Hearn wanted to
know if it really mattered.  After all wouldn't it be ok to license
some of the tools under GPL?  Dmitry explained why that hasn't been
done, <quote who="Dmitry Timoshkov">
 Having the whole tree under a single
 licence saves a bit of hassle, time, hairs, nerves...</quote></p>

</section>



<section 
	title="XFree86 Keyboard Mapping Issues" 
	subject="keyboard mapping with XFree86 4.3.0"
	archive="http://www.winehq.com/hypermail/wine-devel/2003/04/0195.html" 
	posts="10"
	startdate="07 Apr 2003 00:00:00 -0800"
	enddate="10 Apr 2003 00:00:00 -0800"
>
<topic>Internationalization</topic>
<mention></mention>

<p>Tim Ruehsen upgraded XFree86 and ran into a new problem:</p>
<quote who="Tim Ruehsen"><p>
With XFree86 4.3.0 I experience the message
<ul><code>
 fixme:keyboard:X11DRV_KEYBOARD_DetectLayout Your keyboard layout was not 
 found!<br />
 Using closest match instead (German keyboard layout without dead keys) for 
 scancode mapping.
</code></ul></p><p>
Please define your layout in windows/x11drv/keyboard.c and submit them
to us for inclusion into future Wine releases.
See the Wine User Guide, chapter "Keyboard" for more information.
</p><p>
 This is very annoying, I can't use the right alt key any more to reach 
 characters like {,} or [. Very bad for C programming... (I use EditPlus 
 together with wine).
</p></quote>

<p>Shachar Shemesh thought he recognized the problem,
<quote who="Shachar Shemesh">
 I don't know whether it's relevant in this case. XFree 4.3.0 introduced 
 a total disconnection of the different keyboard groups. If before, the 
 IL keyboard contained a US keyboard as the first group, and an IL 
 keyboard as the second group, now I have to define "US,IL" to get the 
 same effect. This is, on the whole, a good thing (even - a very good 
 thing). This does mean that the keyboard detection in wine will now only 
 work if you have your keyboard defined in exactly the same way as the 
 4.2 keyboards.</quote></p>

<p>Tim pointed out that his keyboard configuration hadn't changed
between 4.2 and 4.3 and wondered if anyone had any tips for how it
might need to be updated.  Dmitry Timoshkov suggested:</p>
<quote who="Dmitry Timoshkov"><p>
If you will add "us" to the "XkbLayout" setting in your XF86Config like this
<ul><code>
	Option       "XkbLayout" "us,de"</code></ul></p><p>

it might help.
</p></quote>

<p>That still didn't work for Tim,
<quote who="Tim Ruehsen">
Thank you, Dmitry. But it doesn't help. In this case I have US layout which 
drives me crazy...
I read some XFree READMEs. They are talking about a possibility to configure 
keyboard layout 'backward compatible' - but I could not find out how (it 
might help).

If there is anybody who got the keyboard variant '<tt>nodeadkeys</tt>' working with 
wine: please tell me how, maybe a snapshot from your configuration helps.
</quote></p>

<p>Tim went on to report some more tests he did:</p>
<quote who="Tim Ruehsen"><p>
I tried to cheat wine with "<tt>us,de</tt>" together with "<tt>,nodeadkeys</tt>" and 
"<tt>grp:ctrls_toggle</tt>" (toggle between us and de with pressing both ctrl keys).
Doing so resulted in a screwed keyboard, e.g. a-z keys now had special 
meanings in KDE, running wine did not give me access to '{[]}' keys. KDE 
itself has been screwed (maybe since I pressed lots of keys for testing while 
they had special meaning).
</p><p>
I made tests with several different toggle keys and configurations, but no 
success... meybe there is no easy solution.
</p></quote>



</section>


</kc>

