[AOLSERVER] Naviserver Win-64 Sources

2012-10-15 Thread Maurizio Martignano
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

2012-10-12 Thread Maurizio Martignano
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

2012-10-11 Thread Maurizio Martignano
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?

2012-10-08 Thread Maurizio Martignano
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

2012-09-27 Thread Maurizio Martignano
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 can’t 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

2012-03-02 Thread Maurizio Martignano
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