This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

debugging /usr/bin/info reading compressed files


Hi. The /usr/bin/info program is supposed to be able to automatically
read compressed files, but this functionality is broken on Cygwin for
some reason. I've tracked it down to a function in info's filesys.c 
that is failing. The code, with some debugging statements I've added, is:

  stream = popen (command, FOPEN_RBIN);
    /* FOO */
    printf("%s\n", command);
  if (stream)
    {
    /* This never gets printed */
    printf("stream OK\n");
    }
    /* end FOO */

The output looks like this:
$ ./ginfo.exe -f ./gzip.info.bz2 
COMMAND IS:bunzip2.exe < /usr/local/src/texinfo-4.2/info/./gzip.info.bz2
info: ./gzip.info.bz2: Invalid argument

>From bash, running the command, 
$ bunzip2.exe < /usr/local/src/texinfo-4.2/info/./gzip.info.bz2
produces the expected file on STDOUT.

As far as I can tell popen() works in Cygwin (it's listed under
'Other' fuctions in the API Ref), but I have no experience using it.
Anyone know what needs to be done for this to work?

Attached is some strace output...I deleted about 200 lines of ginfo trying
to guess the filename, please let me know if more (or less) is needed.

Thanks.

__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com
  167  291439 [main] ginfo 1436 stat64: entering
  159  291598 [main] ginfo 1436 normalize_posix_path: src /usr/local/src/texinfo-4.2/info/./gzip.info.bz2
  170  291768 [main] ginfo 1436 normalize_posix_path: /usr/local/src/texinfo-4.2/info/gzip.info.bz2 = normalize_posix_path (/usr/local/src/texinfo-4.2/info/./gzip.info.bz2)
  158  291926 [main] ginfo 1436 mount_info::conv_to_win32_path: conv_to_win32_path (/usr/local/src/texinfo-4.2/info/gzip.info.bz2)
  162  292088 [main] ginfo 1436 mount_info::cygdrive_win32_path: src '/usr/local/src/texinfo-4.2/info/gzip.info.bz2', dst ''
  159  292247 [main] ginfo 1436 set_flags: flags: binary (0x2)
  153  292400 [main] ginfo 1436 mount_info::conv_to_win32_path: src_path /usr/local/src/texinfo-4.2/info/gzip.info.bz2, dst c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2, flags 0xA, rc 0
  693  293093 [main] ginfo 1436 symlink_info::check: not a symlink
  281  293374 [main] ginfo 1436 symlink_info::check: 0 = symlink.check (c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2, 0x22F348) (0xA)
  167  293541 [main] ginfo 1436 path_conv::check: root_dir(c:\), this->path(c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2), set_has_acls(8)
  183  293724 [main] ginfo 1436 dtable::build_fhandler: fd -1, fh 0x6168086C
  164  293888 [main] ginfo 1436 stat_worker: (/usr/local/src/texinfo-4.2/info/./gzip.info.bz2, 0x22FBC8, 0, 0x22F828), file_attributes 32
  155  294043 [main] ginfo 1436 fhandler_base::open: (c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2, 0x110000) query_open 0
  366  294409 [main] ginfo 1436 fhandler_base::open: 0xE8 = CreateFileA (c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2, 0x80000000, 0x7, 0x22F748, 0x3, 0x2000081, 0)
  259  294668 [main] ginfo 1436 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x10000
  157  294825 [main] ginfo 1436 fhandler_base::set_flags: O_TEXT/O_BINARY set in flags 0x10000
  150  294975 [main] ginfo 1436 fhandler_base::set_flags: filemode set to binary
  147  295122 [main] ginfo 1436 fhandler_base::open: 1 = fhandler_base::open (c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2, 0x110000)
  154  295276 [main] ginfo 1436 fhandler_disk_file::open: 1 = fhandler_disk_file::open (c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2, 0x110000)
  224  295500 [main] ginfo 1436 fhandler_disk_file::fstat_by_handle: 1 = GetFileInformationByHandle (c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2, 232)
  388  295888 [main] ginfo 1436 fhandler_disk_file::fstat_helper: 0 = fstat (, 0x22FBC8) st_atime=3D4BFD46 st_size=5916, st_mode=0x81A4, st_ino=736083, sizeof=88
  234  296122 [main] ginfo 1436 fhandler_base::close: closing '/usr/local/src/texinfo-4.2/info/gzip.info.bz2' handle 0xE8
  237  296359 [main] ginfo 1436 stat_worker: 0 = (/usr/local/src/texinfo-4.2/info/./gzip.info.bz2, 0x22FBC8)
  816  297175 [main] ginfo 1436 stat64: entering
  152  297327 [main] ginfo 1436 normalize_posix_path: src /usr/local/src/texinfo-4.2/info/./gzip.info.bz2
  157  297484 [main] ginfo 1436 normalize_posix_path: /usr/local/src/texinfo-4.2/info/gzip.info.bz2 = normalize_posix_path (/usr/local/src/texinfo-4.2/info/./gzip.info.bz2)
  156  297640 [main] ginfo 1436 mount_info::conv_to_win32_path: conv_to_win32_path (/usr/local/src/texinfo-4.2/info/gzip.info.bz2)
  172  297812 [main] ginfo 1436 mount_info::cygdrive_win32_path: src '/usr/local/src/texinfo-4.2/info/gzip.info.bz2', dst ''
  161  297973 [main] ginfo 1436 set_flags: flags: binary (0x2)
  149  298122 [main] ginfo 1436 mount_info::conv_to_win32_path: src_path /usr/local/src/texinfo-4.2/info/gzip.info.bz2, dst c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2, flags 0xA, rc 0
  688  298810 [main] ginfo 1436 symlink_info::check: not a symlink
  268  299078 [main] ginfo 1436 symlink_info::check: 0 = symlink.check (c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2, 0x22F438) (0xA)
  213  299291 [main] ginfo 1436 path_conv::check: root_dir(c:\), this->path(c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2), set_has_acls(8)
  206  299497 [main] ginfo 1436 dtable::build_fhandler: fd -1, fh 0x6168086C
  353  299850 [main] ginfo 1436 stat_worker: (/usr/local/src/texinfo-4.2/info/./gzip.info.bz2, 0x22FCB8, 0, 0x22F918), file_attributes 32
  216  300066 [main] ginfo 1436 fhandler_base::open: (c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2, 0x110000) query_open 0
  382  300448 [main] ginfo 1436 fhandler_base::open: 0xE8 = CreateFileA (c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2, 0x80000000, 0x7, 0x22F838, 0x3, 0x2000081, 0)
  243  300691 [main] ginfo 1436 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x10000
  157  300848 [main] ginfo 1436 fhandler_base::set_flags: O_TEXT/O_BINARY set in flags 0x10000
  365  301213 [main] ginfo 1436 fhandler_base::set_flags: filemode set to binary
  212  301425 [main] ginfo 1436 fhandler_base::open: 1 = fhandler_base::open (c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2, 0x110000)
  158  301583 [main] ginfo 1436 fhandler_disk_file::open: 1 = fhandler_disk_file::open (c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2, 0x110000)
  229  301812 [main] ginfo 1436 fhandler_disk_file::fstat_by_handle: 1 = GetFileInformationByHandle (c:\cygwin\usr\local\src\texinfo-4.2\info\gzip.info.bz2, 232)
  258  302070 [main] ginfo 1436 fhandler_disk_file::fstat_helper: 0 = fstat (, 0x22FCB8) st_atime=3D4BFD7E st_size=5916, st_mode=0x81A4, st_ino=736083, sizeof=88
  198  302268 [main] ginfo 1436 fhandler_base::close: closing '/usr/local/src/texinfo-4.2/info/gzip.info.bz2' handle 0xE8
  240  302508 [main] ginfo 1436 stat_worker: 0 = (/usr/local/src/texinfo-4.2/info/./gzip.info.bz2, 0x22FCB8)
  397  302905 [main] ginfo 1436 normalize_posix_path: src c:\cygwin\usr\local\src\texinfo-4.2\info\strace
  186  303091 [main] ginfo 1436 mount_info::conv_to_posix_path: conv_to_posix_path (c:\cygwin\usr\local\src\texinfo-4.2\info\strace, no-keep-rel, no-add-slash)
  170  303261 [main] ginfo 1436 normalize_win32_path: c:\cygwin\usr\local\src\texinfo-4.2\info\strace = normalize_win32_path (c:\cygwin\usr\local\src\texinfo-4.2\info\strace)
  174  303435 [main] ginfo 1436 mount_info::conv_to_posix_path: /usr/local/src/texinfo-4.2/info/strace = conv_to_posix_path (c:\cygwin\usr\local\src\texinfo-4.2\info\strace)
  177  303612 [main] ginfo 1436 mount_info::conv_to_win32_path: conv_to_win32_path (/usr/local/src/texinfo-4.2/info/strace)
  171  303783 [main] ginfo 1436 mount_info::cygdrive_win32_path: src '/usr/local/src/texinfo-4.2/info/strace', dst ''
  167  303950 [main] ginfo 1436 set_flags: flags: binary (0x2)
  158  304108 [main] ginfo 1436 mount_info::conv_to_win32_path: src_path /usr/local/src/texinfo-4.2/info/strace, dst c:\cygwin\usr\local\src\texinfo-4.2\info\strace, flags 0xA, rc 0
  701  304809 [main] ginfo 1436 symlink_info::check: not a symlink
  269  305078 [main] ginfo 1436 symlink_info::check: 0 = symlink.check (c:\cygwin\usr\local\src\texinfo-4.2\info\strace, 0x22DEB8) (0xA)
  183  305261 [main] ginfo 1436 path_conv::check: root_dir(c:\), this->path(c:\cygwin\usr\local\src\texinfo-4.2\info\strace), set_has_acls(8)
  241  305502 [main] ginfo 1436 fhandler_disk_file::fstat_by_handle: 1 = GetFileInformationByHandle (c:\cygwin\usr\local\src\texinfo-4.2\info\strace, 328)
  249  305751 [main] ginfo 1436 fhandler_disk_file::fstat_helper: 0 = fstat (, 0x22E6D8) st_atime=3D4BFD7D st_size=146650, st_mode=0x81A4, st_ino=408405, sizeof=88
  187  305938 [main] ginfo 1436 fstat64: 0 = fstat (1, 0x22E6D8)
  570  306508 [main] ginfo 1436 _write: write (2, 0x22E4F8, 6)
  171  306679 [main] ginfo 1436 fhandler_base::write: binary write
  182  306861 [main] ginfo 1436 fhandler_base::write: 6 = write (0x22E4F8, 6)
  159  307020 [main] ginfo 1436 _write: 6 = write (2, 0x22E4F8, 6)
  163  307183 [main] ginfo 1436 _write: write (2, 0x22E4E8, 33)
  151  307334 [main] ginfo 1436 fhandler_base::write: binary write
  176  307510 [main] ginfo 1436 fhandler_base::write: 33 = write (0x22E4E8, 33)
  199  307709 [main] ginfo 1436 _write: 33 = write (2, 0x22E4E8, 33)
  167  307876 [main] ginfo 1436 _write: write (2, 0x22E4F8, 1)
  154  308030 [main] ginfo 1436 fhandler_base::write: binary write
  162  308192 [main] ginfo 1436 fhandler_base::write: 1 = write (0x22E4F8, 1)
  157  308349 [main] ginfo 1436 _write: 1 = write (2, 0x22E4F8, 1)
  169  308518 [main] ginfo 1436 _write: write (1, 0x10101D80, 73)
  155  308673 [main] ginfo 1436 fhandler_base::write: binary write
COMMAND IS:bunzip2.exe < /usr/local/src/texinfo-4.2/info/./gzip.info.bz2
  153  308826 [main] ginfo 1436 fhandler_base::write: 73 = write (0x10101D80, 73)
  152  308978 [main] ginfo 1436 _write: 73 = write (1, 0x10101D80, 73)
  413  309391 [main] ginfo 1436 do_exit: do_exit (1)
  171  309562 [main] ginfo 1436 void: 0x0 = signal (20, 0x1)
 1896  311458 [main] ginfo 1436 void: 0x0 = signal (1, 0x1)
  245  311703 [main] ginfo 1436 void: 0x0 = signal (2, 0x1)
  162  311865 [main] ginfo 1436 void: 0x0 = signal (3, 0x1)
  161  312026 [main] ginfo 1436 fhandler_base::close: closing '/dev/piper' handle 0xFC
  644  312670 [main] ginfo 1436 fhandler_base::close: closing '/usr/local/src/texinfo-4.2/info/strace' handle 0x148
  256  312926 [main] ginfo 1436 fhandler_base::close: closing '/dev/pipew' handle 0x120
  181  313107 [main] ginfo 1436 proc_terminate: nchildren 0, nzombies 0
  159  313266 [main] ginfo 1436 proc_terminate: leaving
  150  313416 [main] ginfo 1436 sigproc_terminate: entering
  144  313560 [main] ginfo 1436 sigproc_terminate: done
  376  313936 [main] ginfo 1436 __to_clock_t: dwHighDateTime 0, dwLowDateTime 701008
  170  314106 [main] ginfo 1436 __to_clock_t: total 00000000 00000046
  157  314263 [main] ginfo 1436 __to_clock_t: dwHighDateTime 0, dwLowDateTime 1001440
  150  314413 [main] ginfo 1436 __to_clock_t: total 00000000 00000064
 1869  316282 [main] ginfo 1436 _pinfo::exit: Calling ExitProcess 1

--
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/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]