[AOLSERVER] Naviserver Win-64 Sources
To facilitate the discussion, I put in here some examples of the changes I made: 2.a. From mapPtr = ns_malloc(sizeof(Map)); To mapPtr = (Map *) ns_malloc(sizeof(Map)); 2.b. From int TclX_WrongArgs (interp, commandNameObj, string) Tcl_Interp * interp; Tcl_Obj * commandNameObj; char * string; { To int TclX_WrongArgs (Tcl_Interp * interp, Tcl_Obj * commandNameObj, char * string) { 2.c From if (new) { To if (mm_new) { All these changes have been applied everywhere. Dear all, While the tests seem to go rather well but are not finished yet (and it will take quite some time), I have decided to make available anyhow the result of my activity. The sources (and Visual Studio 2012 project files) are available at: http://www.spazioit.com/software/naviserver-4.99.4-Win64.zip There are two categories of changes: 1. The ones required to have the system compiled by Visual Studio 2012 using as target Windows 64. They are identified by the #ifdef _WIN64 clause. 2. A set of necessary cosmetics/make up changes to the overall code base to make it more compliant with nowadays C STDs, and therefore more acceptable to nowadays C compilers, they are: a. I have made explicit all type conversions (with explicit casts) b. I have modified all functions defined in KR C STD, changing them into ANSI C STD c. I have removed from the code base all reserved words, e.g.: new, delete, bool . These changes make the entire codebase less old-style and more maintainable in the future. Hope it helps, Maurizio -- Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev___ aolserver-talk mailing list aolserver-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/aolserver-talk
[AOLSERVER] Windows 64 Progress Status
Dear all, This short email message is to inform you that I managed to compile also the modules nsdbpg (PostgreSQL) and nsoracle (Oracle). I am about to start some testing sessions. Will keep you informed. Have a wonderful weekend, Maurizio -- Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev___ aolserver-talk mailing list aolserver-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/aolserver-talk
Re: [AOLSERVER] Windows 64 Progress
Dear Gustaf, Thank you very much Maurizio From: Gustaf Neumann [mailto:neum...@wu.ac.at] Sent: 11 October 2012 08:49 To: aolserver-talk@lists.sourceforge.net Subject: Re: [AOLSERVER] Windows 64 Progress Concerning OpenACS: the short answer is that recent versions of OpenACS (5.7+) work with recent versions of naviserver (4.99.4, which was not yet released). The integration consists of two parts: A scripted compatibility layer in naviserver (ns/tcl/aolserver-openacs.tcl) containing e.g. name mappings for ns_cache, etc.) and a few tests in the openacs script files for handling ns_share, the dropped conn argument etc. We use naviserver with OpenACS in our production environment since more than 2 years (see http://openacs.org/forums/message-view?message_id=3957131) and we have fed back the necessary changes to naviserver + openacs. The naviserver code base consists as well a sample config file written in a style similar to the aolserver-config file for aolserver. See also my reply to Agustin Lopez from last week. -gustaf neumann From: Jim Davidson [mailto:jgdavid...@gmail.com] On Behalf Of jgdavid...@mac.com Sent: 10 October 2012 19:38 To: Maurizio Martignano Subject: Re: [AOLSERVER] Windows 64 Progress Sounds great. And to be clear, Naviserver supports OpenACS directly? I saw some talk about missing features, ns_share, etc. Frankly, while I knew ACS when it was first created way back in 1995 I was never quite sure what it needed :) -- Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev___ aolserver-talk mailing list aolserver-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/aolserver-talk
Re: [AOLSERVER] naviserver to replace aolserver?
Dear Gustav, Of course I did (with Aolserver). I did it more than one year ago when I made my installation able to run natively on both Win32 and Win64 (http://www.spazioit.com/pages_en/sol_inf_en/windows-openacs_en/). Now if somebody had tried that, as I did. He/She would notice that WOW64 (that is the Windows 32 emulation on Windows 64) it is not the exactly the same on the various versions of Windows. That on Windows Server 2003 or 2008 the nsd service may be not able to start (due to timing ussues), that on Windows 7 and 8 on the contrary it starts (but sometimes it stops). All of these differences, all of these erratic behaviours do not show up when using a native Win64 application. Ciao, Maurizio From: Gustaf Neumann [mailto:neum...@wu.ac.at] Sent: 08 October 2012 02:13 To: aolserver-talk@lists.sourceforge.net Subject: Re: [AOLSERVER] naviserver to replace aolserver? Mauritio, i have on my machines no win64. Note, that there is a windows binary of naviserver 4.99.2 on sourceforge built with several modules (postgres, udp, ...) using mingw32. If you are interested on trying this under win64, go ahead. Best regards -gustaf neumann On 07.10.12 17:06, Maurizio Martignano wrote: Dear Gustav, Thank you very much. Now, please, If you have time and you want, take your binary and install it as service on a Windows 64 machine. Have the service start and run and please do observe its behaviour. Thanks a lot in advance, Maurizio -- Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev___ aolserver-talk mailing list aolserver-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/aolserver-talk
[AOLSERVER] Windows Support
Dear all, I do not think that removing Windows specific code is a good idea. Some time ago I showed as example how many people have downloaded ]project-open[ on Windows as opposed to the VM, or the tar ball. In case you do not remember the numbers, please have a look at this URL: http://sourceforge.net/projects/project-open/files/project-open/ The idea of using some kind of emulation is also questionable. Why? Suppose we want to have Aolserver on Windows , then the emulation layer would impose unacceptable inefficiencies. Here we are not talking about using some emulation layer to run some ancillary programs, called every now and then (e.g. dot, wget, and so on), but Aolserver itself (i.e. nsd), the very heart of every OpenACS based web application. The same type or reasoning applies to the database engine (e.g. postgresql), it would be a major error running it on some emulation layer. What is the current status of these emulation layers? I know everybody is thinking about Cygwin... But Cygwin is, at the time being only a Win32 application. Nowadays all the servers are 64 bit machines. Soon the same will be for desktop and laptop computers. With Cygwin on 64 bit Windows machine we have double emulation: Linux/Unix Application - Cygwin/ Posix emulation - WOW64/ Win32 emulation (this is Windows 32 emulated on Windows 64) - Windows 64 I cant see any sign of Cygwin moving towards Windows 64. Last year in summer there was an interesting discussion about that (http://thread.gmane.org/gmane.os.cygwin.devel/233/focus=247) but nothing happened because the effort is too big and nobody had enough energy to spend on it. For how long will WOW64 be supported by Microsoft? It is already an option in the core part of Windows Server 2008 R2 (http://msdn.microsoft.com/en-us/library/dd371790%28v=vs.85%29.aspx). MingGW can now compile for Windows 64 but it lacks the Posix emulation available in Cygwin. Another (kind of emulation) solution would be compiling Aolserver with Visual Studio 2010 (or 2012) + SUA SDK (Utilities and SDK for Subsystem for UNIX-based Applications) (these two build both in 32 and 64). I am sure very few people know about this possibility. So what are the feasible options? I believe there are only two (well three) options: 1. we maintain the Windows code inside Aolserver (I favour this) 2. we compile Unix only code via the SUA SDK 3. we forget about Windows and we use real emulation, that is a VM running Linux But how many people are willing to download a VM of 1.5 GB or so just to test a system? A Windows installer of 150MB or so is much, much more attractive. Later on, if they are happy with the system, people can stick to Windows or use Linux for production. What do you think? Maurizio -Original Message- From: Wolfgang Winkler [mailto:wolfgang.wink...@digital-concepts.com] Sent: 27 September 2012 09:11 To: aolserver-talk@lists.sourceforge.net Subject: [AOLSERVER] TCL websockets Implementation Hi! I've cleaned up our websockets code a bit (ah, the joy of it), it should run now on a basic AOLserver install. Where should I post it? Wolfgang -- digital concepts OG Software Design Landstrasse 68 / 5. Stock A - 4020 Linz Büro: +43 732 99711772 Mobil: +43 699 19971172 -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://ad.doubleclick.net/clk;258768047;13503038;j? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ aolserver-talk mailing list aolserver-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/aolserver-talk -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://ad.doubleclick.net/clk;258768047;13503038;j? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ aolserver-talk mailing list aolserver-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/aolserver-talk
Re: [AOLSERVER] Problem with ns_shutdown
Dear Caroline, I use Aolserver on Windows Environments. There the shutdown is always a problem if nsmain.c calls Tcl_Finalize. To avoid any problem I had to comment out this call: #ifndef _WIN32 Tcl_Finalize(); #endif I believe that if you do the same, that is you comment out this call, you may avoid all race conditions you are experiencing. Please do notice that not calling Tcl_Finalize is not an issue, cause the Aolserver process is anyhow about to die and the proper cleaning of all allocated resources is performed by the operating system. Hope it helps, Maurizio From: Porter, Caroline [mailto:cpor...@bna.com] Sent: 01 March 2012 19:43 To: Victor Guerra Cc: aolserver-talk@lists.sourceforge.net Subject: Re: [AOLSERVER] Problem with ns_shutdown tcl 8.5.9 Caroline From: vgue...@gmail.com [mailto:vgue...@gmail.com] On Behalf Of Victor Guerra Sent: Thursday, March 01, 2012 10:36 AM To: Porter, Caroline Cc: aolserver-talk@lists.sourceforge.net Subject: Re: [AOLSERVER] Problem with ns_shutdown Which version of tcl are you running? On Thu, Mar 1, 2012 at 3:08 PM, Porter, Caroline cpor...@bna.com wrote: We are shutting down aolserver via the control port using the ns_shutdown command. We are getting intermittent coredumps during the shutdown process. Does anyone have any ideas as to how to resolve this? Here's some more info. webserver log: [29/Feb/2012:08:20:02][30350.82082672][-nscp:1-] Notice: nscp: 127.0.0.1 connected [29/Feb/2012:08:20:03][30350.82082672][-nscp:1-] Notice: nscp: nsadmin logged in [29/Feb/2012:08:20:04][30350.4151592640][-main-] Notice: nsmain: AOLserver/4.5.1 stopping [29/Feb/2012:08:20:04][30350.4151592640][-main-] Notice: driver: stopping: nssock [29/Feb/2012:08:20:04][30350.4151592640][-main-] Notice: sched: shutdown pending [29/Feb/2012:08:20:04][30350.131660656][-socks-] Notice: socks: shutdown pending [29/Feb/2012:08:20:04][30350.4141099888][-sched-] Notice: sched: shutdown started [29/Feb/2012:08:20:04][30350.4141099888][-sched-] Notice: sched: waiting for event threads... [29/Feb/2012:08:20:04][30350.131660656][-socks-] Notice: nscp: shutdown [29/Feb/2012:08:20:04][30350.66386800][-sched:idle1-] Notice: exiting [29/Feb/2012:08:20:04][30350.148007792][-sched:idle0-] Notice: exiting [29/Feb/2012:08:20:04][30350.131660656][-socks-] Notice: socks: shutdown complete [29/Feb/2012:08:20:04][30350.56376176][-nssock:driver-] Notice: exiting [29/Feb/2012:08:20:04][30350.4141099888][-sched-] Notice: sched: shutdown complete [29/Feb/2012:08:20:04][30350.4151592640][-main-] Notice: driver: stopped: nssock [29/Feb/2012:08:20:05][30350.82082672][-nscp:1-] Notice: nscp: 127.0.0.1 disconnected [29/Feb/2012:08:20:05][30350.56376176][-shutdown-] Notice: Shutdown called for server bwd [29/Feb/2012:08:20:05][30350.56376176][-shutdown-] Notice: nslog: closing '/data/bwd/logs/httpd_access_stg_delray.bna.com_5000.log' [29/Feb/2012:08:20:05][30350.4151592640][-main-] Notice: nsmain: AOLserver/4.5.1 exiting called Tcl_FindHashEntry on deleted table Here's what is in the coredump. Program terminated with signal 6, Aborted. #0 0x0071d430 in __kernel_vsyscall () #0 0x0071d430 in __kernel_vsyscall () #1 0x0036ab71 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #2 0x0036c44a in abort () at abort.c:92 #3 0x002e8ddf in Tcl_PanicVA () from /apps/bos-dev/bwd/lib/libtcl8.5.so #4 0x002e8e04 in Tcl_Panic () from /apps/bos-dev/bwd/lib/libtcl8.5.so #5 0x002bccea in BogusFind () from /apps/bos-dev/bwd/lib/libtcl8.5.so #6 0x00304de1 in ThreadStorageGetHashTable () from /apps/bos-dev/bwd/lib/libtcl8.5.so #7 0x00304f0c in TclpThreadDataKeyGet () from /apps/bos-dev/bwd/lib/libtcl8.5.so #8 0x00303d28 in Tcl_GetThreadData () from /apps/bos-dev/bwd/lib/libtcl8.5.so #9 0x002e8545 in TclFreeObj () from /apps/bos-dev/bwd/lib/libtcl8.5.so #10 0x0030f8b0 in FreeVarEntry () from /apps/bos-dev/bwd/lib/libtcl8.5.so #11 0x002bc845 in Tcl_DeleteHashTable () from /apps/bos-dev/bwd/lib/libtcl8.5.so #12 0x0031052e in UnsetVarStruct () from /apps/bos-dev/bwd/lib/libtcl8.5.so #13 0x0031080f in TclDeleteNamespaceVars () from /apps/bos-dev/bwd/lib/libtcl8.5.so #14 0x002dfda8 in TclTeardownNamespace () from /apps/bos-dev/bwd/lib/libtcl8.5.so #15 0x002e0045 in Tcl_DeleteNamespace () from /apps/bos-dev/bwd/lib/libtcl8.5.so #16 0x002dfeab in TclTeardownNamespace () from /apps/bos-dev/bwd/lib/libtcl8.5.so #17 0x002e0045 in Tcl_DeleteNamespace () from /apps/bos-dev/bwd/lib/libtcl8.5.so #18 0x002dfeab in TclTeardownNamespace () from /apps/bos-dev/bwd/lib/libtcl8.5.so #19 0x002647a7 in DeleteInterpProc () from /apps/bos-dev/bwd/lib/libtcl8.5.so #20 0x002f47a4 in Tcl_EventuallyFree () from /apps/bos-dev/bwd/lib/libtcl8.5.so #21 0x00264702 in Tcl_DeleteInterp () from /apps/bos-dev/bwd/lib/libtcl8.5.so #22 0x0014dd2f in Ns_TclDestroyInterp () from /apps/bos-dev/bwd/lib/libnsd.so #23 0x0014e508 in