This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: mktime call hangs on Cygwin 1.7.30, Windows 7 32 bit
- From: Alexey Shumkin <alex dot crezoff at gmail dot com>
- To: cygwin at cygwin dot com
- Cc: Corinna Vinschen <corinna-cygwin at cygwin dot com>, Marco Atzeri <marco dot atzeri at gmail dot com>
- Date: Wed, 10 Sep 2014 14:22:27 +0400
- Subject: Re: mktime call hangs on Cygwin 1.7.30, Windows 7 32 bit
- Authentication-results: sourceware.org; auth=none
- References: <20140902111045 dot GA5860 at ashu-win7> <5405AACD dot 5050600 at gmail dot com>
On Tue, Sep 02, 2014 at 01:32:29PM +0200, Marco Atzeri wrote:
> 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.
I've tested on another machines with Cygwin v1.7.11 and v1.7.25. And it
worked. That`s Ok.
Also, I've run ./cygwin-mktime-bug.exe in CMD, and SUPRISINGLY it
worked, but when I run the SAME `cygwin-mktime-bug.exe` in `bash -l -i` it does not!
Ha-ha! After I've wrote text above, I've tested run `cygwin-mktime-bug.exe`
in `bash`, `bash -i`, `bash -l` AND(!) it worked well in first TWO
cases (`bash` & `bash -i`), and DOES NOT in `bash -l`.
How can it be? 8-O
>
> $ 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
--
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