delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1999/07/28/03:34:47

Date: Wed, 28 Jul 1999 10:31:26 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: "Mark E." <snowball3 AT bigfoot DOT com>
cc: djgpp-workers AT delorie DOT com
Subject: Problems with latest Bash
Message-ID: <Pine.SUN.3.91.990728102849.15288J-100000@is>
MIME-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com

Yesterday I tried to build Binutils 2.9.1 on a DOS machine using the
latest Bash and Mark's configuration files, and found a few problems
in the latest Bash.  (Some of them might actually be the same problem,
since the tracebacks point to the same place.)  I don't see at least
some of these problems on Windows, but that might be because Windows
doesn't catch NULL pointer dereferences, not because of LFN.  The
crash with TAB completion doesn't happen with the previous beta
version, dated June 21nd.  (The ``latest Bash'' means the binary dated
July 17th.)

Anyway, here's some data:

 - First, Bash crashes during file-name completion.  To reproduce,
   type "ls" and press TAB right after the `s', without any space
   between the cursor and "ls".  The first traceback below is
   generated in this case.

 - DOS_TEST_HACK=y seems to cause "test -f" to fail and/or crash in
   some cases.  This one actually took some time to debug, as
   initially all I saw was a strange failure of the config.guess
   script to guess the host and target type, but only if DOS_TEST_HACK
   was set.  The second traceback below seems to indicate that the
   first line of config.guess crashes the subshell, which is why
   config.guess fails.

 - I wanted to make some progress, so I commented out the offending
   lines in config.guess.  This helped to get past that part, but alas
   the configure script then crashed further into the process with a
   similar traceback.  See traceback no. 3 below (the "phase N"
   print-outs were added by me to the configure script to find out
   what exactly crashes there).  If you need the exact spot of the
   crash, then it seems that it's inside the invocation of the
   ${tmpfile}.hst script.  I was afraid of a file-name conflict
   (tmpfile is cONf$$, which exceeds the 8+3 limits), but changing
   tmpfile to cNf$$ didn't help.

Let me know if you need more info/testing to reproduce these
problems.

Btw, may I suggest to name DOS_TEST_HACK differently?  (Perhaps the
name is one reason why it crashes ;-).  How about DOS_TEST_FX, for
example (pun intended)?


Traceback no.1 (TAB completion):

sh-2.03$ lsExiting due to signal SIGSEGV
Page fault at eip=0004e572, error=0004
eax=00000000 ebx=00000001 ecx=00184100 edx=00000000 esi=00195384 edi=00195384
ebp=001840f0 esp=001840e4 program=C:\BIN\GCC\BIN\SH.EXE
cs: sel=00a7  base=10000000  limit=0019ffff
ds: sel=00af  base=10000000  limit=0019ffff
es: sel=00af  base=10000000  limit=0019ffff
fs: sel=00bf  base=00000000  limit=0010ffff
gs: sel=00bf  base=00000000  limit=0010ffff
ss: sel=00af  base=10000000  limit=0019ffff
App stack: [00184aa4..00084aa4]  Exceptn stack: [000843fc..000824bc]
 
Call frame traceback EIPs:
  0x0004e572   _rl_display_match_list+974
  0x0004e5d2   _rl_display_match_list+1070
  0x0004ea3b   _rl_complete_internal+459
  0x0004d69f   _rl_complete+79
  0x000482b0   __rl_dispatch+248
  0x000480b6   _readline_internal_char+182
  0x00048155   _readline_internal_char+341
  0x00048171   _readline_internal_char+369
  0x00047e18   _readline+60
  0x0000601b   _input_file_descriptor+151
  0x00005f6a   _yy_getc+10
  0x0000681f   _read_secondary_line+431
  0x000072b5   _reset_parser+529
  0x00006d39   _execute_prompt_command+469
  0x00004ffb   _yyparse+471
  0x00003b6c   _parse_command+92
  0x00003c1e   _read_command+146
  0x00003986   _reader_loop+258
  0x00001d6a   _main+1654
  0x0005dd92   ___crt1_startup+174

Traceback no.2 (test -f from config.guess):

sh-2.03$ export DOS_TEST_HACK=y
sh-2.03$ if test -f /.attbin/uname; then
> echo found
> fi
Exiting due to signal SIGSEGV
Page fault at eip=0006c9cf, error=0006
eax=00000000 ebx=0019a4b4 ecx=00000030 edx=00000000 esi=00000016 edi=00000002
ebp=00184034 esp=00184030 program=C:\BIN\GCC\BIN\SH.EXE
cs: sel=00a7  base=10000000  limit=0019ffff
ds: sel=00af  base=10000000  limit=0019ffff
es: sel=00af  base=10000000  limit=0019ffff
fs: sel=00bf  base=00000000  limit=0010ffff
gs: sel=00bf  base=00000000  limit=0010ffff
ss: sel=00af  base=10000000  limit=0019ffff
App stack: [00184aa4..00084aa4]  Exceptn stack: [000843fc..000824bc]
 
Call frame traceback EIPs:
  0x0006c9cf   _memset+31
  0x000628d9   __ioctl_get_first_cluster+225
  0x000632ee   _stat+242
  0x00023f13   _set_signal_handler+563
  0x00024a4c   _unary_test+672
  0x0002479e   _binary_test+786
  0x00024dc8   _test_unop+344
  0x00024f81   _test_unop+785
  0x000250d3   _test_command+199
  0x0004564e   _test_builtin+78
  0x0001039f   _execute_command_internal+11507
  0x00010840   _execute_command_internal+12692
  0x0001011b   _execute_command_internal+10863
  0x0000de00   _execute_command_internal+1876
  0x0000d459   _execute_command+69
  0x0000fa13   _execute_command_internal+9063
  0x0000df9d   _execute_command_internal+2289
  0x0000d459   _execute_command+69
  0x000039fb   _reader_loop+375
  0x00001d6a   _main+1654
  0x0005dd92   ___crt1_startup+174

Traceback no.3 (configuring Binutils):
 
Editing Makefile.in files...
Running the configure script ...
Configuring for a i386-pc-msdosdjgpp host.
phase 1
phase 2
phase 3
phase 4
Exiting due to signal SIGSEGV
Page fault at eip=0006c9cf, error=0006
eax=00000000 ebx=00198234 ecx=00000030 edx=00000000 esi=00000016 edi=00000002
ebp=00182df0 esp=00182dec program=c:/bin/gcc/bin/sh.exe
cs: sel=0127  base=10240000  limit=001affff
ds: sel=012f  base=10240000  limit=001affff
es: sel=012f  base=10240000  limit=001affff
fs: sel=010f  base=0002a9f0  limit=0000ffff
gs: sel=013f  base=00000000  limit=0010ffff
ss: sel=012f  base=10240000  limit=001affff
App stack: [00184aa4..00084aa4]  Exceptn stack: [000843fc..000824bc]

Call frame traceback EIPs:
  0x0006c9cf _memset+31
  0x000628d9 __ioctl_get_first_cluster+225
  0x000632ee _stat+242
  0x00023f13 _set_signal_handler+563
  0x00024a4c _unary_test+672
  0x0002479e _binary_test+786
  0x00024dc8 _test_unop+344
  0x00024f81 _test_unop+785
  0x000250d3 _test_command+199
  0x0004564e _test_builtin+78
  0x0001039f _execute_command_internal+11507
  0x00010840 _execute_command_internal+12692
  0x0001011b _execute_command_internal+10863
  0x0000de00 _execute_command_internal+1876
  0x0000d459 _execute_command+69
  0x0000fa13 _execute_command_internal+9063
  0x0000df9d _execute_command_internal+2289
  0x0000edce _execute_command_internal+5922
  0x0000e01d _execute_command_internal+2417
  0x0000d459 _execute_command+69
  0x0000ef9d _execute_command_internal+6385
  0x0000defd _execute_command_internal+2129
  0x0000edce _execute_command_internal+5922
  0x0000e01d _execute_command_internal+2417
  0x0000d459 _execute_command+69
  0x0000ed59 _execute_command_internal+5805
  0x0000e01d _execute_command_internal+2417
  0x0000d459 _execute_command+69
  0x0000ed59 _execute_command_internal+5805
  0x0000e01d _execute_command_internal+2417
  0x0000d459 _execute_command+69
  0x0000fa73 _execute_command_internal+9159
  0x0000df9d _execute_command_internal+2289
  0x00032d50 _parse_and_execute+868
  0x00032897 _unset_builtin+1403
  0x00032985 _source_file+41
  0x0003fe76 _source_builtin+502
  0x0001039f _execute_command_internal+11507
  0x00010840 _execute_command_internal+12692
  0x0001011b _execute_command_internal+10863
  0x0000de00 _execute_command_internal+1876
  0x0000d459 _execute_command+69
  0x000039fb _reader_loop+375
  0x00001d6a _main+1654
  0x0005dd92 ___crt1_startup+174

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019