On 02/09/2014 13:10, Alexey Shumkin wrote:
Prelude.
I use "self-compiled" Git (v2.x) on Cygwin (v1.7.30).
Sometimes Git v2.0.4 hung while performing
git prune --expire 2.weeks.ago
I have investigated while debugging that `mktime` call hung.
But that was an avoidable bug (skip prune - and all is ok). So, I've not
reported it.
But after updating Git to v2.1.0
git commit --amend -C HEAD --date=''
hangs, too. And now it is the often used operation by me.
So, I've made a simple example (copied from Git sources) to reproduce
the error.
$ cat cygwin-mktime-bug.c
#include <time.h>
#include <string.h>
#include <stdio.h>
int main(int argc, char **argv)
{
struct tm tm;
memset(&tm, 0, sizeof(tm));
tm.tm_year = -1;
tm.tm_mon = -1;
tm.tm_mday = -1;
tm.tm_isdst = -1;
tm.tm_hour = -1;
tm.tm_min = -1;
tm.tm_sec = -1;
printf("Working...\n");
time_t temp_time = mktime(&tm);
> printf("Worked");
- printf("Worked");
- printf("Worked\n");
}
$ gcc cygwin-mktime-bug.c -o cygwin-mktime-bug -I/usr/include -g
$ ./cygwin-mktime-bug.exe
Working...
no issue on my side.
$ LIMIT=1000
$ for ((a=1 ; a <= LIMIT ; a++ )); do ./cygwin-mktime-bug.exe ; done
Working...
Worked
...
Working...
Worked
$
So, there is a question: how to fix it?
Nota bene: I do not want to use Cygwin x64 (there were no exim when I've tested
it).
32 bit here.
$ uname -svr
CYGWIN_NT-6.1-WOW64 1.7.32(0.274/5/3) 2014-08-13 23:03
please update to 1.7.32 and than follows:
https://cygwin.com/problems.html
Regards
Marco
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple