Date: Sun, 21 Feb 1999 13:17:52 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: Martin Str|mberg cc: DJGPP Subject: Re: make crash In-Reply-To: <199902181951.UAA05608@father.ludd.luth.se> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com On Thu, 18 Feb 1999, Martin Str|mberg wrote: > > Why would you need that? AFAIK, -bash is only needed in interactive > > invocation, to make it a login shell, but should never be necessary > > (and could be even dangerous) after that. > > Because it's the right thing to do(tm)! Because DOZE has no sense of > logging in, every invocation of the shell must be a log in shell I still don't get why is it ``the right thing to do''. There should be only one login shell: the first instance of Bash. Every other instance that is subsidiary to the first one, should NOT be the login shell. > Call frame traceback EIPs: > 0x0001c6b0 ___djgpp_traceback_exit+48 > 0x0001c792 _raise+94 > 0x0001f403 _abort+27 > 0x00026f22 __put_path2+58 > 0x00026ecd __put_path+13 > 0x0002a40e __chmod+58 > 0x00021ddd _remove+61 > 0x0001b51f _system+699 This indicates that `system' called `remove' with a NULL pointer instead of a file name. You need to look for a reason for this. > As far as I could trace it, it's the call to system() that > crashes. How do I step into system with gdb? Compile system.c with -g, put it into the library, and have its source in the same directory where you run the debugger.