Opened 15 years ago

Last modified 15 years ago

#758 closed Bug report

FileZilla Server 0.9.3 crash/hang

Reported by: mbobka Owned by:
Priority: normal Component: Other
Keywords: Cc: mbobka, Tim Kosse
Component version: Operating system type:
Operating system version:

Description

Sometimes, when many clients connects/disconnets my
FileZilla Server hangs. I invistigate this problem, in
reality it not hangs, it crashes (and stops when
unhandled exception is processed in
CExceptionReport::UnhandledExceptionFilter(), because
this function wants user interaction, but FZS runs as
service, and it not have possibility to show message
boxes).
Also I found (as I think :) ) cause of exception.
Destructutor of CControlSocket object sends notification
FSM_CONNECTIONDATA with partially filled op->data
(filled only op->data->userid) other field filled with some
junk, but when this notification processed by
CServer::OnServerMessage() more than one field of op-

data is required (e.g. op->data->ip).

For resolve problem I make following patch in file
Server.cpp (search attached file for PATCH HERE text).

Attachments (1)

Server.cpp (31.4 KB) - added by mbobka 15 years ago.
Patched Server.cpp

Download all attachments as: .zip

Change History (2)

Changed 15 years ago by mbobka

Attachment: Server.cpp added

Patched Server.cpp

comment:1 Changed 15 years ago by Tim Kosse

Thanks for reporting this issue.

Unfortunately your patch would increase CPU usage slightly,
which is unneccessary.

I've modified the code so that only the neccessary members
of op get used: For example the ip only gets used on
USERCONTROL_CONNOP_ADD notifications now.

Now some CPU cycles are even saved and also some bandwidth
for the admin connection compared to the original code.

I've committed the changes to the CVS repository, they
should be available soon.

Note: See TracTickets for help on using tickets.