[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