[Bug 24357] Pokerstars Network Status (ICMP, ping) doesn't work.

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Sep 13 16:27:56 CDT 2010


http://bugs.winehq.org/show_bug.cgi?id=24357

--- Comment #3 from michael <415fox at gmail.com> 2010-09-13 16:27:55 CDT ---
(In reply to comment #2)
> (In reply to comment #1)
> > Created an attachment (id=30729)
 --> (http://bugs.winehq.org/attachment.cgi?id=30729) [details] [details]
> > console log when Network Status selected
> > 
> > This is the console log after I started the application and clicked on Help >>
> > Network Status...
> > The connection to the servers shows 0% and all icmp packages are shown as lost.
> > 
> > In the log the repeated winediag:ICMPCreateFile Failed... messages indicate a
> > permission issue.
> > 
> > Looks similar to bug #8332 and bug #22786.
> > 
> > Tested with the current git (wine-1.3.2-157-g2c4b081) on Fedora 13.
> 
> I was thinking permissions or capabilities as the issue, but usually the way
> you can confirm this is by running it as root. That is the case in bug 22786.
> However, in this case, when I run as root, the problem persists.
> 
> As for bug 8332 -- it may be the same, but it's been around since 2007 which is
> not a good sign.
> 
> I'll try an strace and report back.

Here's what I learned from strace:

The Network Status is it's own program called PokerStars/Tracer.exe so it's
easier to debug just running "wine Tracer.exe" from the PokerStars directory.

There are no permissions problems (at least, not while running as root).

Tracer.exe uses ICMP.DLL

Tracer.exe (or ICMP.DLL) creates a bunch of threads. Each thread opens an ICMP
socket with:
[pid 14388] socket(PF_INET, SOCK_RAW, IPPROTO_ICMP <unfinished ...>
[pid 14388] <... socket resumed> )      = 23

The socket is opened successfully. Each process probably corresponds to one
ping operation.

Later the socket is shutdown but now there's an error:
[pid 14404] shutdown(23, 2 /* send and receive */) = -1 ENOTCONN (Transport
endpoint is not connected)

I figure that ICMP.DLL (ICMPCreateFile) must work sometimes or we'd have more
bug reports about this. Maybe the issue is that it doesn't work within a
thread?

I'm not a windows programmer so I don't really know how threads or sockets work
under windows. It would be nice if we could get a windows programmer to create
a test case which:

1. Use ICMPCreateFile to do a ping in the main process.
2. Do an exec (or the windows equivalent)
3. Try ICMPCreateFile in the child process
2. Do a fork (or whatever windows equivalent)
3. Try ICMPCreateFile in the thread.

If my theory is right then ICMPCreateFile will succeed in the main process and
succeed in the child process but fail in the child thread.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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