On Monday 11 Mar 02, Corinna Vinschen writes: > On Mon, Mar 11, 2002 at 10:18:47AM +0000, John Beranek wrote: > > Corinna Vinschen wrote: > > >On Fri, Mar 08, 2002 at 04:05:01PM +0000, Don Sharp wrote: > > > > > >>I can confirm that there is a problem. I telnetted from a linux box to > > >>my cygwin on NT4 setup which has an up to date cygwin1.dll (see cygcheck > > >>output) > > >> > > >>On the cygwin side I get a pop-up > > >> > > >>bash.exe "The application failed to initialise properly (0x0000022)
> Well, a "me too" isn't actually helpful. Helpful would be if > somebody who has that problem would debug that. Gdb and strace > are your friend. I have the same problem. I notice it's only been reported on NT 4. Corinna and Chris, are you unable to reproduce it on NT4, or are you not running NT 4? I ran "inetd -d" on the command line under strace. In Cygwin-1.3.10-1, login does not manage to startup bash. Here are two sections of strace output. Each begins after login reports that it has spawned a process, through to when login reports back again. In 1.3.9-1, it's child is alive (successful login), but in 1.3.10-1, its subprocess has exited (bash never started -- at least, no bash reported anything to strace). The first difference is in 1.3.10-1, with: 201 4347865 [main] in.telnetd 343 fhandler_socket::send: Fallback to winsock 1 send call Does this indicate a problem? Does it help to diagnose it? I can trace more, if someone tells me what to trace, what masks to use (if any), etc. Unfortunately I'm not in a position to build a DLL here. ########## excerpt from "strace inetd -d" with Cygwin-1.3.9-1 ################# ... 14657 3225107 [main] login 326! spawn_guts: spawned windows pid 392 13771 4072448 [main] in.telnetd 396 select_stuff::wait: woke up. wait_ret 1. verifying 215 4072663 [main] in.telnetd 396 select_stuff::wait: gotone 1 197 4072860 [main] in.telnetd 396 select_stuff::wait: returning 0 196 4073056 [main] in.telnetd 396 select_stuff::cleanup: calling cleanup routines 196 4073252 [main] in.telnetd 396 socket_cleanup: si 0xA01D1B0 si->thread 0xB8 199 4073451 [main] in.telnetd 396 socket_cleanup: connection to si->exitsock 0x1D0 1765 4075216 [main] in.telnetd 396 socket_cleanup: returning 211 4075427 [main] in.telnetd 396 peek_socket: considering handle 0xC 199 4075626 [main] in.telnetd 396 peek_socket: adding read fd_set /dev/tcp, fd 0 197 4075823 [main] in.telnetd 396 peek_socket: adding write fd_set /dev/tcp, fd 0 198 4076021 [main] in.telnetd 396 peek_socket: adding except fd_set /dev/tcp, fd 0 246 4076267 [main] in.telnetd 396 peek_socket: WINSOCK_SELECT returned 1 202 4076469 [main] in.telnetd 396 set_bits: me 0xA01D180, testing fd 0 (/dev/tcp) 200 4076669 [main] in.telnetd 396 set_bits: ready 1 193 4076862 [main] in.telnetd 396 select_stuff::poll: returning 1 197 4077059 [main] in.telnetd 396 select_stuff::cleanup: calling cleanup routines 198 4077257 [main] in.telnetd 396 select_stuff::~select_stuff: deleting select records 375 4077632 [main] in.telnetd 396 _write: write (0, 0x410694, 62) 3175 4080807 [main] in.telnetd 396 _write: 62 = write (0, 0x410694, 62) 247 4081054 [main] in.telnetd 396 cygwin_select: 4, 0x22F874, 0x22F86C, 0x22F864, 0x0 380 4081434 [main] in.telnetd 396 dtable::select_read: /dev/tcp fd 0 196 4081630 [main] in.telnetd 396 dtable::select_except: /dev/tcp fd 0 372 4082002 [main] in.telnetd 396 dtable::select_read: /dev/ptym fd 3 216 4082218 [main] in.telnetd 396 cygwin_select: to NULL, ms FFFFFFFF 198 4082416 [main] in.telnetd 396 cygwin_select: sel.always_ready 0 708 4083124 [main] in.telnetd 396 start_thread_socket: Handle 0xC 198 4083322 [main] in.telnetd 396 start_thread_socket: Added to readfds 196 4083518 [main] in.telnetd 396 start_thread_socket: Added to exceptfds 692 4084210 [main] in.telnetd 396 start_thread_socket: exitsock 0xF4 213 4084423 [main] in.telnetd 396 start_thread_socket: stuff_start 0x22F758 370 4084793 [main] in.telnetd 396 select_stuff::wait: m 3, ms 4294967295 18162 4102955 [select_socket] in.telnetd 396 thread_socket: stuff_start 0xA020204 ********************************************** Program name: C:\cygwin\bin\bash.exe (326) App version: 1003.9, api: 0.51 DLL version: 1003.9, api: 0.51 DLL build: 2002-01-21 12:48 OS version: Windows NT-4.0 Date/Time: 2002-03-11 13:07:42 ********************************************** 246 1379 [main] bash 326 fhandler_base::fixup_after_fork: inheriting '/dev/tty0' from parent 197 1576 [main] bash 326 fhandler_base::fork_fixup: handle 0x194 already opened 191 1767 [main] bash 326 fhandler_base::fork_fixup: handle 0x174 already opened 194 1961 [main] bash 326 fhandler_base::fork_fixup: handle 0x1EC already opened 204 2165 [main] bash 326 fhandler_base::fork_fixup: handle 0x18C already opened 193 2358 [main] bash 326 fhandler_base::fork_fixup: handle 0x70 already opened 193 2551 [main] bash 326 fhandler_base::fork_fixup: handle 0x134 already opened 195 2746 [main] bash 326 fhandler_base::fixup_after_fork: inheriting '/dev/tty0' from parent 197 2943 [main] bash 326 fhandler_base::fork_fixup: handle 0x60 already opened 195 3138 [main] bash 326 fhandler_base::fork_fixup: handle 0x6C already opened 194 3332 [main] bash 326 fhandler_base::fork_fixup: handle 0x1D0 already opened 194 3526 [main] bash 326 fhandler_base::fork_fixup: handle 0x1E0 already opened 193 3719 [main] bash 326 fhandler_base::fork_fixup: handle 0x14C already opened 193 3912 [main] bash 326 fhandler_base::fork_fixup: handle 0x12C already opened 195 4107 [main] bash 326 fhandler_base::fixup_after_fork: inheriting '/dev/tty0' from parent 196 4303 [main] bash 326 fhandler_base::fork_fixup: handle 0x80 already opened 194 4497 [main] bash 326 fhandler_base::fork_fixup: handle 0x94 already opened 194 4691 [main] bash 326 fhandler_base::fork_fixup: handle 0x68 already opened 193 4884 [main] bash 326 fhandler_base::fork_fixup: handle 0x64 already opened 193 5077 [main] bash 326 fhandler_base::fork_fixup: handle 0x78 already opened 193 5270 [main] bash 326 fhandler_base::fork_fixup: handle 0x9C already opened 246 5516 [main] bash 326 open_shared: name shared, shared 0xA000000 (wanted 0xA000000), h 0x2C 24640 30156 [main] bash 326 heap_init: heap base 0xA010000, heap top 0xA010000 884 31040 [main] bash 326 open_shared: name starksb, shared 0x1A010000 (wanted 0x0), h 0x88 211 31251 [main] bash 326 memory_init: opening mount table for 'starksb' at 0xA010000 215 31466 [main] bash 326 memory_init: mount table version 0 at 0x1A010000 200 31666 [main] bash 326 memory_init: initializing mount table 1583 33249 [main] bash 326 mount_info::add_item: C:\cygwin[C:\cygwin], /[/], 0xA 348 33597 [main] bash 326 mount_info::add_item: a:[a:], /a[/a], 0xA 325 33922 [main] bash 326 mount_info::add_item: c:[c:], /c[/c], 0xA 322 34244 [main] bash 326 mount_info::add_item: d:[d:], /d[/d], 0xA 321 34565 [main] bash 326 mount_info::add_item: e:[e:], /e[/e], 0xA 351 34916 [main] bash 326 mount_info::add_item: f:[f:], /f[/f], 0xA 323 35239 [main] bash 326 mount_info::add_item: g:[g:], /g[/g], 0xA 330 35569 [main] bash 326 mount_info::add_item: h:[h:], /h[/h], 0xA 350 35919 [main] bash 326 mount_info::add_item: i:[i:], /i[/i], 0xA 334 36253 [main] bash 326 mount_info::add_item: j:[j:], /j[/j], 0xA 334 36587 [main] bash 326 mount_info::add_item: k:[k:], /k[/k], 0xA 824 37411 [main] bash 326 mount_info::add_item: m:[m:], /m[/m], 0xA 356 37767 [main] bash 326 mount_info::add_item: n:[n:], /n[/n], 0xA 341 38108 [main] bash 326 mount_info::add_item: C:/cygwin/bin[C:\cygwin\bin], /usr/bin[/usr/bin], 0xA 357 38465 [main] bash 326 mount_info::add_item: C:/cygwin/lib[C:\cygwin\lib], /usr/lib[/usr/lib], 0xA 359 38824 [main] bash 326 mount_info::add_item: C:\usr\local[C:\usr\local], /usr/local[/usr/local], 0xA 410 39234 [main] bash 326 events_init: windows_system_directory 'C:\WINNT\System32\', windows_system_directory_length 18 211 39445 [main] bash 326 events_init: cygwin_hmodule 0x61000000 1735 41180 [main] bash 326 parse_options: tty C1 367 41547 [main] bash 326 parse_options: returning 361 41908 [main] bash 326 pinfo_init: pid 326, pgid 326 1560 43468 [main] bash 326 internal_getlogin: GetUserName() = starksb 247 43715 [main] bash 326 internal_getlogin: User: starksb, Domain: EBI, Logon Server: BRYCE 200 43915 [main] bash 326 internal_getlogin: Domain: EBI, Logon Server: BRYCE, Windows Username: starksb 210 44125 [main] bash 326 internal_getlogin: Cygwins Username: starksb 230 44355 [main] bash 326 _cygwin_istext_for_stdio: _cygwin_istext_for_stdio (0) 202 44557 [main] bash 326 _cygwin_istext_for_stdio: _cifs: fd not disk file 196 44753 [main] bash 326 _cygwin_istext_for_stdio: _cygwin_istext_for_stdio (1) 194 44947 [main] bash 326 _cygwin_istext_for_stdio: _cifs: fd not disk file 194 45141 [main] bash 326 _cygwin_istext_for_stdio: _cygwin_istext_for_stdio (2) 194 45335 [main] bash 326 _cygwin_istext_for_stdio: _cifs: fd not disk file 214 45549 [main] bash 326 _open: open (/etc/passwd, 0x20000) 244 45793 [main] bash 326 normalize_posix_path: src /etc/passwd 202 45995 [main] bash 326 normalize_posix_path: /etc/passwd = normalize_posix_path (/etc/passwd) 199 46194 [main] bash 326 mount_info::conv_to_win32_path: conv_to_win32_path (/etc/passwd) 216 46410 [main] bash 326 mount_info::conv_to_win32_path: src_path /etc/passwd, dst C:\cygwin\etc\passwd, flags 0xA, rc 0 711 47121 [main] bash 326 symlink_info::check: not a symlink 214 47335 [main] bash 326 symlink_info::check: 0 = symlink.check (C:\cygwin\etc\passwd, 0x22E7B0) (0xA) 206 47541 [main] bash 326 path_conv::check: root_dir(C:\), this->path(C:\cygwin\etc\passwd), set_has_acls(8) 208 47749 [main] bash 326 dtable::build_fhandler: fd 3, fh 0x61560280 222 47971 [main] bash 326 fhandler_base::open: (C:\cygwin\etc\passwd, 0x20000) 6658 54629 [main] bash 326 fhandler_base::open: 0x164 = CreateFileA (C:\cygwin\etc\passwd, 0x80000000, 0x7, 0x22EBF0, 0x3, 0x80, 0) 275 54904 [main] bash 326 fhandler_base::open: filemode set to text 206 55110 [main] bash 326 fhandler_base::open: 1 = fhandler_base::open (C:\cygwin\etc\passwd, 0x20000) 201 55311 [main] bash 326 fhandler_disk_file::open: 1 = fhandler_disk_file::open (C:\cygwin\etc\passwd, 0x20000) 202 55513 [main] bash 326 _open: 3 = open (/etc/passwd, 0x20000) 199 55712 [main] bash 326 _cygwin_istext_for_stdio: _cygwin_istext_for_stdio (3) 195 55907 [main] bash 326 _cygwin_istext_for_stdio: _cygwin_istext_for_stdio says yes 280 56187 [main] bash 326 fhandler_disk_file::fstat_helper: 1 = GetFileInformationByHandle (C:\cygwin\etc\passwd, 356) 296 56483 [main] bash 326 fhandler_disk_file::fstat_helper: 0 = fstat (, 0x22EF70) st_atime=3C8CAC1F st_size=256, st_mode=0x81A4, st_ino=189216, sizeof=64 216 56699 [main] bash 326 _fstat: 0 = fstat (3, 0x22EF70) 237 56936 [main] bash 326 _cygwin_istext_for_stdio: _cygwin_istext_for_stdio (3) 198 57134 [main] bash 326 _cygwin_istext_for_stdio: _cifs: get_*_binary 197 57331 [main] bash 326 setmode_helper: setmode: file was cle now raw 196 57527 [main] bash 326 setmode: setmode (3</etc/passwd>, binary) returns text 214 57741 [main] bash 326 _read: read (3, 0xA010490, 1024) blocking, sigcatchers 0 202 57943 [main] bash 326 _read: non-interruptible read 212 58155 [main] bash 326 fhandler_base::read: returning 256 chars, binary mode 201 58356 [main] bash 326 _read: 256 = read (3, 0xA010490, 1024), errno 0 198 58554 [main] bash 326 _cygwin_istext_for_stdio: _cygwin_istext_for_stdio (3) 196 58750 [main] bash 326 _cygwin_istext_for_stdio: _cygwin_istext_for_stdio says yes 197 58947 [main] bash 326 setmode_helper: setmode: file was raw now cle 195 59142 [main] bash 326 setmode: setmode (3</etc/passwd>, text) returns binary 735 59877 [main] bash 326 _cygwin_istext_for_stdio: _cygwin_istext_for_stdio (3) 196 60073 [main] bash 326 _cygwin_istext_for_stdio: _cifs: get_*_binary 196 60269 [main] bash 326 setmode_helper: setmode: file was cle now raw 194 60463 [main] bash 326 setmode: setmode (3</etc/passwd>, binary) returns text 199 60662 [main] bash 326 _read: read (3, 0xA010490, 1024) blocking, sigcatchers 0 197 60859 [main] bash 326 _read: non-interruptible read 206 61065 [main] bash 326 _read: 0 = read (3, 0xA010490, 1024), errno 0 201 61266 [main] bash 326 _cygwin_istext_for_stdio: _cygwin_istext_for_stdio (3) 195 61461 [main] bash 326 _cygwin_istext_for_stdio: _cygwin_istext_for_stdio says yes 197 61658 [main] bash 326 setmode_helper: setmode: file was raw now cle 195 61853 [main] bash 326 setmode: setmode (3</etc/passwd>, text) returns binary 224 62077 [main] bash 326 _close: close (3) 198 62275 [main] bash 326 fhandler_base::close: closing '/etc/passwd' handle 0x164 280 62555 [main] bash 326 _close: 0 = close (3) 492 63047 [main] bash 326 sigproc_init: process/signal handling enabled(C1) 215 63262 [main] -bash 326 dll_list::init: here 192 63454 [main] -bash 326 dll_crt0_1: user_data->main 0x401208 678 64132 [sig] -bash 326 wait_sig: sigcatch_nonmain 0x120, sigcatch_main 0x1D4 212 64344 [sig] -bash 326 wait_sig: subproc_ready 0x1C 187906 3413013 [main] login 326! my_parent_is_alive: parent still alive ... ########## excerpt from "strace inetd -d" with Cygwin-1.3.10-1 ################# ... 15074 3180141 [main] login 50! spawn_guts: spawned windows pid 333 14164 4342452 [main] in.telnetd 343 select_stuff::wait: woke up. wait_ret 1. verifying 219 4342671 [main] in.telnetd 343 select_stuff::wait: gotone 1 199 4342870 [main] in.telnetd 343 select_stuff::wait: returning 0 196 4343066 [main] in.telnetd 343 select_stuff::cleanup: calling cleanup routines 198 4343264 [main] in.telnetd 343 socket_cleanup: si 0xA01D1B0 si->thread 0x134 198 4343462 [main] in.telnetd 343 socket_cleanup: connection to si->exitsock 0x20 1760 4345222 [main] in.telnetd 343 socket_cleanup: returning 210 4345432 [main] in.telnetd 343 peek_socket: considering handle 0xC 200 4345632 [main] in.telnetd 343 peek_socket: adding read fd_set /dev/tcp, fd 0 196 4345828 [main] in.telnetd 343 peek_socket: adding write fd_set /dev/tcp, fd 0 195 4346023 [main] in.telnetd 343 peek_socket: adding except fd_set /dev/tcp, fd 0 276 4346299 [main] in.telnetd 343 peek_socket: WINSOCK_SELECT returned 1 204 4346503 [main] in.telnetd 343 set_bits: me 0xA01D180, testing fd 0 (/dev/tcp) 199 4346702 [main] in.telnetd 343 set_bits: ready 1 193 4346895 [main] in.telnetd 343 select_stuff::poll: returning 1 197 4347092 [main] in.telnetd 343 select_stuff::cleanup: calling cleanup routines 197 4347289 [main] in.telnetd 343 select_stuff::~select_stuff: deleting select records 375 4347664 [main] in.telnetd 343 _write: write (0, 0x410694, 62) 201 4347865 [main] in.telnetd 343 fhandler_socket::send: Fallback to winsock 1 send call 3140 4351005 [main] in.telnetd 343 _write: 62 = write (0, 0x410694, 62) 245 4351250 [main] in.telnetd 343 cygwin_select: 4, 0x22F874, 0x22F86C, 0x22F864, 0x0 379 4351629 [main] in.telnetd 343 dtable::select_read: /dev/tcp fd 0 197 4351826 [main] in.telnetd 343 dtable::select_except: /dev/tcp fd 0 378 4352204 [main] in.telnetd 343 dtable::select_read: /dev/ptym fd 3 196 4352400 [main] in.telnetd 343 cygwin_select: to NULL, ms FFFFFFFF 196 4352596 [main] in.telnetd 343 cygwin_select: sel.always_ready 0 709 4353305 [main] in.telnetd 343 start_thread_socket: Handle 0xC 197 4353502 [main] in.telnetd 343 start_thread_socket: Added to readfds 195 4353697 [main] in.telnetd 343 start_thread_socket: Added to exceptfds 689 4354386 [main] in.telnetd 343 start_thread_socket: exitsock 0x178 212 4354598 [main] in.telnetd 343 start_thread_socket: stuff_start 0x22F758 371 4354969 [main] in.telnetd 343 select_stuff::wait: m 3, ms 4294967295 18036 4373005 [select_socket] in.telnetd 343 thread_socket: stuff_start 0xA020204 2355188 6728193 [select_pipe] in.telnetd 343 fhandler_pty_master::hit_eof: all other handles closed 272 6728465 [select_pipe] in.telnetd 343 peek_pipe: /dev/ptym, saw EOF 198 6728663 [select_pipe] in.telnetd 343 peek_pipe: saw eof on '/dev/ptym' 2387007 5567148 [main] login 50! spawn_guts: subprocess exited ... Thanks for looking at it. David -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/