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: [EMAIL PROTECTED]
WWW: http://www.acmeconsulting.it/



Reply via email to