From: Pascal Obry Date: Wed, 06 Aug 2008 10:30:06 GMT Subject: something fishy with Git commit and log from file Message-ID: <48997D2E.9030708@obry.net> The following command fails on my repository: $ git commit --file=clog fatal: could not read log file 'clog': No such file or directory $ cat clog toto Using the following command the commit pass without problem: $ cat clog | git commit --file=- With GDB I get: $ gdb --args git ci --file=clog This GDB was configured as "i686-pc-cygwin"... (gdb) break strbuf_read_file Breakpoint 1 at 0x44e64a: file strbuf.c, line 301. (gdb) run Starting program: /usr/local/bin/git.exe ci --file=clog Breakpoint 1, strbuf_read_file (sb=0x22cac0, path=0x22ccfa "clog", hint=0) at strbuf.c:301 301 fd = open(path, O_RDONLY); (gdb) print path $1 = 0x0 ???? outch, this is strange, or a gdb artifact? (gdb) n 302 if (fd < 0) (gdb) print fd $2 = -1 (gdb) print *0x22ccfa $3 = 1735355491 (gdb) print (char)*0x22ccfa $4 = 99 'c' (gdb) print (char)*0x22ccfb $5 = 108 'l' (gdb) print (char)*0x22ccfc $6 = 111 'o' (gdb) print (char)*0x22ccfd $7 = 103 'g' (gdb) print (char)*0x22ccfe $8 = 0 '\0' But looks like path really contains 'clog'!!! No luck for now to find the problem. Note that the same command pass fine on other repositories. At this point this looks really like some kind of memory corruption... I'm on Windows, using Git for Cygwin and the compiler is: $ gcc --version gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) Pascal. -- --|------------------------------------------------------ --| Pascal Obry Team-Ada Member --| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE --|------------------------------------------------------ --| http://www.obry.net --| "The best way to travel is by means of imagination" --| --| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595