Re: Squid 3 Windows native port: update on current status

From: Serassio Guido <guido.serassio@dont-contact.us>
Date: Sun, 09 Jan 2005 19:45:27 +0100

Hi Henrik,

>>>- There are still some critical problem related to FDs handling in the
>>>Robert's old refactored IPC code
>>>(http://www.squid-cache.org/~robertc/ipc.refactoring.patch) that is
>>>already included in the Windows port
>>
>>Anything we can do to help understanding the problem or how to solve it?
>
>I don't know. The behaviour is different between MinGW and Visual Studio:
>
>On Visual Studio it seems that Windows Handles of files opened with
>fopen() (cache.log, for example) are inherited from child process even if
>the inheritance was disabled before the child spawn, this cause a deadlock
>during write operations of cache.log that hangs Squid.
>
>On MinGW it seems that squid main process opens twice the same log file,
>probably a duplicated Windows Handle, and this cause the fail of logs
>rotate operation plus some random strange "access denied" error when
>writing to the cache and logs.

Both problems comes from a generic Squid bug in main.cc, now fixed, see my
latest main.cc commit.

>The original 2.5 source code works fine.
>
>I will try to do a comparative full trace debug between 2.5 and 3.0
>startup, hoping to see what is different in 3.0 startup sequence.

I have found some minor Windows specific problem in Robert's IPC code
during the shutdown phase, and I'm working on them.

>I have already refactored the old awin32 aufs clone based on Windows
>threads as WinDiskThreads DISKIO engine.

And WinDiskThreads DISKIO engine now it's working fine.

Build is ok on all Windows environments, the only missing thing is ESI
support on MinGW because I don't have still found a working libxml2 port
for MinGW.

C:\mgw-3.0\sbin>squid -v
Squid Cache: Version 3.0-PRE3-CVS-NT
configure options: '--disable-wccp' '--enable-underscores' '--enable-htcp'
'--enable-cpu-profiling' '--enable-carp' '--enable-default-hostsfile=none'
'--enable-removal-policies=heap lru' '--enable-cache-digests'
'--enable-auth=basic ntlm digest' '--enable-basic-auth-helpers=NCSA
win32_locallogon LDAP' '--enable-err-languages=English Italian'
'--enable-default-err-language=English' '--enable-delay-pools'
'--enable-referer-log' '--enable-useragent-log' '--enable-forw-via-db'
'--enable-external-acl-helpers=win32_group ip_user ldap_group'
'--enable-ntlm-auth-helpers=NTLMSSP-WIN32 fakeauth'
'--enable-win32-service' '--enable-snmp' '--prefix=c:/mgw-3.0'
'--enable-ssl' '--enable-arp-acl' '--enable-disk-io=Blocking WinAIO
WinDiskThreads' '--enable-storeio=ufs null coss awin32'
Compiled as Windows System Service.

The MinGW build seems stable, I have browsed for two hours using it without
any crash. I have only found some problems on sites with many images: Squid
seems to hang the connection and is not able to complete the load of all
images in the page. Usually, reloading the page is fine. I still don't know
if this problem is Windows specific or generic. When I have time, I will do
some comparative test between Windows and Linux.

The Visual Studio 2005 build is still unstable, but things here are going
very better then some days ago.

Regards

Guido

-
========================================================
Guido Serassio
Acme Consulting S.r.l. - Microsoft Certified Partner
Via Gorizia, 69 10136 - Torino - ITALY
Tel. : +39.011.3249426 Fax. : +39.011.3293665
Email: guido.serassio@acmeconsulting.it
WWW: http://www.acmeconsulting.it/
Received on Sun Jan 09 2005 - 11:45:40 MST

This archive was generated by hypermail pre-2.1.9 : Tue Feb 01 2005 - 12:00:02 MST