fredag den 30 augusti 2013 klockan 17:30 skrev Mister Me detta: > -- > Mats Erik Andersson, Fri, 30 Aug 2013 21:07:40 +0200 > > > > The only error I could achieve was to issue the same command so late that > > the connection had timed out already, which provoked a segmentation fault, > > but only after after the message "Passive mode refused.\nNot connected.". > > Thus your core dump should be unrelated. > > OK. Well, on the plus side, at least that's one bug you can reproduce. :) > > I'll go grab the sources and build it here. Let me know how you want me to > instrument it and I'll do so and let you know what I find.
I have found that my segmentation fault appears only when a macro was executed and the client has been disconnected. The minute patch below resolves my issue. It is taken against present day development HEAD, but should fit inetutils-1.9.1 with a simple "-p1" shaving. Some ideas: ftp.archlinux.org is throtteling the connection. Could it be that your macro is taking so long time that the connection times out, and then my problem is relevant also to your setting? Could vsftpd fail at update its timer? Positioning of printf-probes could preferable be done close to "c_handler" and "connected" as well as loops in their vicinity. This would suggest that "ftp/domacro.c" and "ftp/main.c" are the most relevant files. Let me boldly say that I appreciate very much your help and interest in repairing GNU Inetutils. Best regards, Mats E A diff --git a/ftp/domacro.c b/ftp/domacro.c index 9cad900..f0d31a0 100644 --- a/ftp/domacro.c +++ b/ftp/domacro.c @@ -153,6 +153,7 @@ domacro (int argc, char *argv[]) { printf ("Not connected.\n"); code = -1; + return; } else {