PuTTY semi-bug strange-winsock-msg


Download: Stable · Snapshot | Docs | Changes | Wishlist

summary: Strange WinSock messages cause failed assertion in tree234.c
priority: medium: This should be fixed one day.
present-in: 0.53 0.53b 2002-12-09 2003-01-07
fixed-in: 2003-01-10 1604a192fe9f62f9f47369c5267f9c3609ebda47 (0.54)

A few people have reported seeing the following assertion failure:

Assertion failed!

Program: C:\Program Files\Putty\putty.exe
File: tree234.c
Line: 536

Expression: relation == REL234_LT || relation == REL234_GT

Appears to be dependent on use of port forwarding. Also, "It was working fine until a few days ago", "funnily enough this started happening in the last couple of weeks", so may be something to do with a Windows hotfix or update. One report indicates that it happens on WinXP but not Win2000; another report is against WinME.


As far as we can tell this implies that WinSock is sending us unexpected messages. As of 2002-12-09, diagnostics have been added of the form "Strange WinSock message: wp=00000000 lp=00000002"; the numbers will help us to debug the problem. Further info from an original reporter (005801c2b80e$b6a3b470$1f69010a@jefflap3):

I have noticed that the lp=1 correlates to the rule for port 3000 and lp=2 correlates to the rule for port 110.

SGT: Reported as fixed in 2003-01-10. (The diagnostics confirmed that WinSock was occasionally sending netevent messages with wParam==0, hence relevant to no socket. If the lParam had contained an error notification for an error which wasn't socket-specific, I might have believed they were meaningful and paid them some attention; but the lParam was actually an ordinary FD_READ/FD_WRITE sort of thing which makes no sense on a non-socket. So I've just put in code to ignore such messages, and that seems to have worked.)

Audit trail for this semi-bug.