[Xitami] Regular crash
John Poltorak
xitami@lists.xitami.org
Sat, 22 Sep 2001 11:40:29 +0100
On Sat, Sep 22, 2001 at 07:40:11PM +1200, Ewen McNeill wrote:
> In message <20010921010442.C77@eyup.org>, John Poltorak writes:
> >I've found that Xitami crashes regularly when a particular user access it.
> >How do I find out what is wrong?
>
> If you've got a repeatable bug (and it sounds like you do), then the
> main thing to do is to try to gather as much information about the
> circumstances it occurs in as possible. In particular turning on the
> Xitami server debugging support ([Server] debug=1) and trying again
> should give you more detail on the command(s) the user's FTP program is
> sending at the time that Xitami crashes. It certainly sounds like it's
> choking on one of the commands being sent for some reason.
Whilst it is repeatable, it isn't something I can reproduce myself because
I don't know exactly what software is being used although I think it is
being run under Win98 and this user only connects every one or two weeks.
> The next thing I'd usually try is network traffic snooping, which is
> easy under Linux/Unix (tcpdump, ethereal, snoop, etc), but off hand I
> can't think go a way to do it under OS/2. This gives you a
> packet-by-packet view of the data that Xitami is sending and receiving,
> which can help narrow down the troublesome cause further.
Tcpdump is available for OS/2 but I've never managed to get it working,
however I don't think packet snooping is a realistic option unless I can
set up a controlled test.
> >I'm running v2.4d6 on OS/2. I have a CORE file but have no idea how to
> >glean anything from it.
>
> If you have the EMX development tools installed, you can try:
>
> gdb xitami.exe core
>
> And then "bt" (back trace) to try to find out which routine Xitami was
> running when it crashed. This may or may not be as useful as the
> information from the debug log, depending on what type of bug it is (eg,
> some bugs corrupt things which only cause crashes later on, so what you
> want to know is where it was corrupted not where it finally crashed
> because of the corruption).
I'm not familiar with GDB, but here's the output I get following your
suggestion. I hope it makes some sense to you.
K:\xitami>gdb.exe XITAMI.EXE core
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16.gnat.3.12w-20 (emx), Copyright 1996 Free Software Foundation, Inc...
(no debugging symbols found)...
#0 0x5d087 in raise ()
(gdb) bt
#0 0x5d087 in raise ()
#1 0x585ca in abort ()
#2 0x2a8b3 in handle_signal ()
#3 <signal handler called>
#4 0x58753 in _closedir ()
#5 0x1a99d in close_dir ()
#6 0x34aca in ftpc_make_listing ()
#7 0x27ecd in make_full_directory_listing ()
#8 0x2b020 in execute_thread ()
#9 0x2a9a5 in smt_exec_step ()
#10 0x2a97d in smt_exec_full ()
#11 0x10953 in main ()
Incidentally, an OS/2 port of GCC v3.0 has just been released and is
available here:-
ftp://unixos2.org/incoming/gcc-os2-3.0-gcc.zip
I'd be interested in which tools you use for building Xitami on OS/2 as
I'm hoping to put together an updated set as part of the UnixOS/2 project.
>
> Ewen
>
> --
> Ewen McNeill, Technical Consultant, iMatix Corporation www.imatix.com
--
John