public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Strange issue with IPv6 and mmap in Windows XP
@ 2011-01-23 13:40 jdzstz - gmail dot com
  2011-01-25  3:10 ` Corinna Vinschen
  0 siblings, 1 reply; 2+ messages in thread
From: jdzstz - gmail dot com @ 2011-01-23 13:40 UTC (permalink / raw)
  To: cygwin

I have detected a strange issue with IPv6 and mmap in Windows XP.

I want to execute varnish program from windows cmd.exe, launching a BAT file.
If IPv6 is deactivated (default in windows xp) all works OK.

But if I activate IPV6 with following comand:

C:\WINDOWS>netsh
netsh>interface
netsh interface>ipv6
netsh interface ipv6>install

(and reboot)

Varnish stats to fail only if it is launched from windows cmd.exe, the
error is on fork:

   77     739 [main] varnishd 9212
**********************************************
   59     798 [main] varnishd 9212 Program name: C:\apps\varnish
2.1.4\bin\varnishd.exe (pid 9212, ppid 1)
   58     856 [main] varnishd 9212 App version:  1007.8, api: 0.0
   55     911 [main] varnishd 9212 DLL version:  1007.8, api: 0.235
   56     967 [main] varnishd 9212 DLL build:    20110114 14:59:29SNP
   58    1025 [main] varnishd 9212 OS version:   Windows NT-5.1
   55    1080 [main] varnishd 9212 Heap size:    402653184
   55    1135 [main] varnishd 9212
**********************************************
   58    1193 [main] varnishd 9212 pinfo::thisproc: myself->dwProcessId 9212
  114    1307 [main] varnishd 9212 child_copy: dll data - hp 0x670 low
0x6115E000, high 0x61166DA4, res 1
18939395 18940702 [main] varnishd 9212 child_copy: dll bss - hp 0x670
low 0x611DA000, high 0x6120E8D8, res 1
  539 18941241 [main] varnishd 9212 child_copy: user heap - hp 0x670
low 0x520000, high 0x590000, res 1
   66 18941307 [main] varnishd 9212 child_copy: done
31834 18973141 [main] varnishd 9212 child_copy: data - hp 0x670 low
0x446000, high 0x458BAC, res 1
  237 18973378 [main] varnishd 9212 child_copy: bss - hp 0x670 low
0x45F000, high 0x470078, res 1
   77 18973455 [main] varnishd 9212 child_copy: done
   77 18973532 [main] varnishd 9212 fixup_mmaps_after_fork: fd -1, h
0x678, address 0x60FA1000, len 0xF000, prot: 0x4000003, flags: 0x31,
 offset 0
  149 18973681 [main] varnishd 9212 MapView: 0x60FA1000 (status 0x0) =
NtMapViewOfSection (h:678, addr:60FA1000, len:61440, off:0, protec
t:40, type:0)
   98 18973779 [main] varnishd 9212 fixup_mmaps_after_fork: fd 4, h
0x674, address 0x5BF90000, len 0x5010470, prot: 0x3, flags: 0x1, offs
et 0
  105 18973884 [main] varnishd 9212 build_fh_pc: fh 0x6124289C
   68 18973952 [main] varnishd 9212 MapView: 0x0 (status 0xC0000018) =
NtMapViewOfSection (h:674, addr:5BF90000, len:83952752, off:0, pro
tect:40, type:0)
18974019 [main] varnishd 9212
fhandler_disk_file::fixup_mmap_after_fork: requested 0x5BF90000 != 0x0
mem alloc base 0x0, state 0x10000, s
ize 12451840, Win32 error 487
   67 18974019 [main] varnishd 9212
fhandler_disk_file::fixup_mmap_after_fork: requested 0x5BF90000 != 0x0
mem alloc base 0x0, state 0x10
000, size 12451840, Win32 error 487
18974448 [main] varnishd 9212 C:\apps\varnish 2.1.4\bin\varnishd.exe:
*** fatal error - recreate_mmaps_after_fork_failed
  429 18974448 [main] varnishd 9212 C:\apps\varnish
2.1.4\bin\varnishd.exe: *** fatal error -
recreate_mmaps_after_fork_failed
Stack trace:
Frame     Function  Args
0023E5A0  6102771B  (0023E5A0, 00000000, 00000000, 00000000)
0023E890  6102771B  (6117CC40, 00008000, 00000000, 6117E997)
0023F8C0  61004E3B  (6117EDCC, 00000000, 6117EDC6, 00446000)
0023F900  610060D1  (000007D0, 02000000, 61168704, 61168700)
0023F930  610063E0  (00000000, 00000002, 00000000, 00000000)
0023F9F0  6106EA75  (61000000, 00000001, 0023FD30, 6106E7C0)
0023FA10  7C90118A  (6106E7C0, 61000000, 00000001, 0023FD30)
0023FB18  7C91C4FA  (0023FD30, 7FFDF000, 7FFDA000, 00000000)
0023FC94  7C9211B4  (0023FD30, 7C900000, 0023FCE0, 7C90E900)
0023FD1C  7C9210AF  (0023FD30, 7C900000, 00000000, 00010017)
End of stack trace


If I execute varnish from bash, it works fine.

It seems that the problem is produced in "NtMapViewOfSection" windows function.
Somebody has the clue why it only fails when it is launched outside
bash and with IPv6 activated???

Thank you

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Strange issue with IPv6 and mmap in Windows XP
  2011-01-23 13:40 Strange issue with IPv6 and mmap in Windows XP jdzstz - gmail dot com
@ 2011-01-25  3:10 ` Corinna Vinschen
  0 siblings, 0 replies; 2+ messages in thread
From: Corinna Vinschen @ 2011-01-25  3:10 UTC (permalink / raw)
  To: cygwin

On Jan 23 01:38, jdzstz - gmail dot com wrote:
> I have detected a strange issue with IPv6 and mmap in Windows XP.
> 
> I want to execute varnish program from windows cmd.exe, launching a BAT file.
> If IPv6 is deactivated (default in windows xp) all works OK.
> 
> But if I activate IPV6 with following comand:
> 
> C:\WINDOWS>netsh
> netsh>interface
> netsh interface>ipv6
> netsh interface ipv6>install
> 
> (and reboot)
> 
> Varnish stats to fail only if it is launched from windows cmd.exe, the
> error is on fork:
> [...]
>    77 18973532 [main] varnishd 9212 fixup_mmaps_after_fork: fd -1, h
> 0x678, address 0x60FA1000, len 0xF000, prot: 0x4000003, flags: 0x31,
>  offset 0
>   149 18973681 [main] varnishd 9212 MapView: 0x60FA1000 (status 0x0) =
> NtMapViewOfSection (h:678, addr:60FA1000, len:61440, off:0, protec
> t:40, type:0)
>    98 18973779 [main] varnishd 9212 fixup_mmaps_after_fork: fd 4, h
> 0x674, address 0x5BF90000, len 0x5010470, prot: 0x3, flags: 0x1, offs
> et 0
>   105 18973884 [main] varnishd 9212 build_fh_pc: fh 0x6124289C
>    68 18973952 [main] varnishd 9212 MapView: 0x0 (status 0xC0000018) =
> NtMapViewOfSection (h:674, addr:5BF90000, len:83952752, off:0, pro
> tect:40, type:0)
> 18974019 [main] varnishd 9212
> fhandler_disk_file::fixup_mmap_after_fork: requested 0x5BF90000 != 0x0
> mem alloc base 0x0, state 0x10000, s
> ize 12451840, Win32 error 487
>    67 18974019 [main] varnishd 9212
> fhandler_disk_file::fixup_mmap_after_fork: requested 0x5BF90000 != 0x0
> mem alloc base 0x0, state 0x10
> 000, size 12451840, Win32 error 487
> 18974448 [main] varnishd 9212 C:\apps\varnish 2.1.4\bin\varnishd.exe:
> *** fatal error - recreate_mmaps_after_fork_failed
> [...]
> If I execute varnish from bash, it works fine.
> 
> It seems that the problem is produced in "NtMapViewOfSection" windows function.
> Somebody has the clue why it only fails when it is launched outside
> bash and with IPv6 activated???

It's a rebase problem.  The layout of the DLLs changes due to loading
the IPv6 stuff into memory and after fork the system loader uses
different load addresses in the forked process, which breaks fork since
it can't reproduce the former memory layout in the forked child.

Why this only happens when started from cmd, I don't know, but maybe the
bash process already initialized the IPv6 stuff and this auto-heals
subsequent DLL loading.

You could try to rebaseall, but it's not a safe bet.  Other than that,
just don't use cmd.exe.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-01-24 10:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-23 13:40 Strange issue with IPv6 and mmap in Windows XP jdzstz - gmail dot com
2011-01-25  3:10 ` Corinna Vinschen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).