From edi at agharta.de Tue Nov 9 21:30:34 2004 From: edi at agharta.de (Edi Weitz) Date: Tue, 09 Nov 2004 22:30:34 +0100 Subject: [mod-lisp-devel] Apache 2 support Message-ID: Hi! Several TBNL users have reported success with Chris Hanson's mod_lisp2[1] which seems to be a full reimplementation of Marc's mod_lisp for Apache 2, so I decided to try it out myself because a customer of mine wants to use Apache 2. I turned out that it was completely painless to use mod_lisp2 with Apache 2.0.52 on Linux as well as on Windows - the module worked out of the box and some tests seem to show that it doesn't suffer from the "leaked children" and "leaked sockets" problems we had with some versions of mod_lisp. I've added some lines of code to send headers that TBNL likes to have but other than that it's all Chris Hanson's code at which I think I can recommend for TBNL. I hope some other people will try and test it as well. Marc - feel free to add this to your subversion repository if you want. I've also uploaded a pre-compiled module for the Win32 version of Apache 2 which worked for me with Apache 2.0.52, TBNL 0.3.1 (released some minutes ago), and either AllegroCL 6.2 trial or LispWorks 4.3.7 pro. It's here: Cheers, Edi. [1] From marc.battyani at fractalconcept.com Wed Nov 10 13:20:38 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Wed, 10 Nov 2004 14:20:38 +0100 Subject: [mod-lisp-devel] Apache 2 support References: Message-ID: <042a01c4c728$1969f450$0a02a8c0@marcxp> Edi wrote: > Several TBNL users have reported success with Chris Hanson's > mod_lisp2[1] which seems to be a full reimplementation of Marc's > mod_lisp for Apache 2, so I decided to try it out myself because a > customer of mine wants to use Apache 2. > > I turned out that it was completely painless to use mod_lisp2 with > Apache 2.0.52 on Linux as well as on Windows - the module worked out > of the box and some tests seem to show that it doesn't suffer from the > "leaked children" and "leaked sockets" problems we had with some > versions of mod_lisp. > > I've added some lines of code to send headers that TBNL likes to have > but other than that it's all Chris Hanson's code at > > > > which I think I can recommend for TBNL. I hope some other people will > try and test it as well. Marc - feel free to add this to your > subversion repository if you want. > > I've also uploaded a pre-compiled module for the Win32 version of > Apache 2 which worked for me with Apache 2.0.52, TBNL 0.3.1 (released > some minutes ago), and either AllegroCL 6.2 trial or LispWorks 4.3.7 > pro. It's here: > > Hi Edi, I always wanted to test and finalize those versions but never found the time to do it. The major points are the treading model and the socket reuse. Have you also tested these points ? (The problem is to have thread specific variables for the socket variables (no special vars in C :( )) Cheers, Marc From edi at agharta.de Wed Nov 10 13:43:29 2004 From: edi at agharta.de (Edi Weitz) Date: Wed, 10 Nov 2004 14:43:29 +0100 Subject: [mod-lisp-devel] Apache 2 support In-Reply-To: <042a01c4c728$1969f450$0a02a8c0@marcxp> (Marc Battyani's message of "Wed, 10 Nov 2004 14:20:38 +0100") References: <042a01c4c728$1969f450$0a02a8c0@marcxp> Message-ID: On Wed, 10 Nov 2004 14:20:38 +0100, "Marc Battyani" wrote: > I always wanted to test and finalize those versions but never found > the time to do it. The major points are the treading model and the > socket reuse. Have you also tested these points ? (The problem is > to have thread specific variables for the socket variables (no > special vars in C :( )) Yes, I tried to test these things, too. The code seems to keep the socket info in the configuration records. We know that this didn't work for 1.3.x[1] but it seems to work for 2.x. I inserted logging statements to check whether the sockets are actually re-used and they obviously /are/ re-used. I also tried to test whether there are issues with multiple mod_lisp instances[2] but I couldn't break the code. What I did was something like this: Start two different mod_lisp instances from different Lisp images in different locations. Then run ApacheBench to request a page from the first image several thousand times. Finally request a page from the second image manually one or more times. This was always enough to break mod_lisp prior to 2.37 but doesn't generate errors with mod_lisp2. Maybe my test methodology is flawed but at the moment I'm pretty sure that everything works fine. Perhaps Chris wants to comment on these issues. What I saw was that mod_lisp2 with Apache 2 seems to be a bit slower than mod_lisp with Apache 1.3 - something like 280 requests per second versus 340 requests per second (on VMWare). I'm not sure if this is due to Apache 2 or due to mod_lisp2, though. From a quick glance at the code it seems that mod_lisp2 does a lot of error checking which I think is a good thing. I don't mind if this results in a speed decrease that's barely noticable unless you've hundreds of simultaneously connected clients. Also, please note that I only ran these tests on Linux. On Windows (which supposedly has another default threading model) I only checked whether the standard TBNL tests succeeded. Cheers, Edi. [1] [2] From marc.battyani at fractalconcept.com Wed Nov 10 13:46:19 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Wed, 10 Nov 2004 14:46:19 +0100 Subject: [mod-lisp-devel] Apache 2 support References: <042a01c4c728$1969f450$0a02a8c0@marcxp> Message-ID: <045d01c4c72b$a9dde7f0$0a02a8c0@marcxp> I wrote: > I always wanted to test and finalize those versions but never found the time > to do it. > The major points are the treading model and the socket reuse. Have you also > tested these points ? > (The problem is to have thread specific variables for the socket variables > (no special vars in C :( )) If you think that there is enough requests for mod_lisp2 and that the current version is already working, I'm OK to look at it in the next days. So that it could be released soon. I've got ACL 7.0 and I'm interested in benchmarking mod_lisp with it so I'm rather motivated. ;-) Cheers, Marc From marc.battyani at fractalconcept.com Wed Nov 10 14:01:31 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Wed, 10 Nov 2004 15:01:31 +0100 Subject: [mod-lisp-devel] Apache 2 support References: <042a01c4c728$1969f450$0a02a8c0@marcxp> Message-ID: <048201c4c72d$c856e450$0a02a8c0@marcxp> Edi Weitz wrote: > > I always wanted to test and finalize those versions but never found > > the time to do it. The major points are the treading model and the > > socket reuse. Have you also tested these points ? (The problem is > > to have thread specific variables for the socket variables (no > > special vars in C :( )) > > Yes, I tried to test these things, too. The code seems to keep the > socket info in the configuration records. We know that this didn't > work for 1.3.x[1] but it seems to work for 2.x. I inserted logging > statements to check whether the sockets are actually re-used and they > obviously /are/ re-used. OK but did you try this only with the Apache2 prefork mode ? The socket in the config record is a good thing but it's not sufficient if 2 threads use it. > I also tried to test whether there are issues with multiple mod_lisp > instances[2] but I couldn't break the code. What I did was something > like this: Start two different mod_lisp instances from different Lisp > images in different locations. Then run ApacheBench to request a page > from the first image several thousand times. Finally request a page > from the second image manually one or more times. This was always > enough to break mod_lisp prior to 2.37 but doesn't generate errors > with mod_lisp2. > > Maybe my test methodology is flawed but at the moment I'm pretty sure > that everything works fine. Perhaps Chris wants to comment on these > issues. > > What I saw was that mod_lisp2 with Apache 2 seems to be a bit slower > than mod_lisp with Apache 1.3 - something like 280 requests per second > versus 340 requests per second (on VMWare). I'm not sure if this is > due to Apache 2 or due to mod_lisp2, though. From a quick glance at > the code it seems that mod_lisp2 does a lot of error checking which I > think is a good thing. I don't mind if this results in a speed > decrease that's barely noticable unless you've hundreds of > simultaneously connected clients. Maybe Apache2 is more optimized for the multi-thread modes. > Also, please note that I only ran these tests on Linux. On Windows > (which supposedly has another default threading model) I only checked > whether the standard TBNL tests succeeded. Now that the threading modes are also available on Linux, the windows version is suppoed to work like the Linux one when they use the same threading mode. Cheers, Marc From marc.battyani at fractalconcept.com Wed Nov 10 15:13:33 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Wed, 10 Nov 2004 16:13:33 +0100 Subject: [mod-lisp-devel] Apache 2 support References: <042a01c4c728$1969f450$0a02a8c0@marcxp> <1100097384.5311.6.camel@kleph.csail.mit.edu> Message-ID: <050801c4c737$d8aea770$0a02a8c0@marcxp> "Chris Hanson" wrote: >I don't know if I'm qualified to comment on this. My knowledge of >Apache 2 is sketchy at best, and this program was a simple >re-implementation of mod-lisp based on (1) reading a bunch of >documentation on converting modules from 1.3 to 2.0; and (2) trying to >understand what the mod-lisp code was doing and cleaning it up. > >There was a message not long ago saying that mod-lisp was enhanced after >I ported it, and that the changes should be forward-ported. Is that >right? I think Edi has done it. The remaining problem is the threading model. >Also, Marc had asked me to relicense under a BSD license, which I am >willing to do. Good. So I can use your version as the base for the released mod_lisp2. :) I was reluctant before as I wouldn't like the MIT to ask a licence fee for each mod_lisp user... >In any case, it seems as though it might be time for me to do another >editing pass to incorporate these changes. Is there anything else that >needs to be cleaned up while I'm at it? Should the socket be moved to a >different structure? I've got Edi's version and I'm looking at this now. Cheers, Marc From marc.battyani at fractalconcept.com Wed Nov 10 17:06:46 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Wed, 10 Nov 2004 18:06:46 +0100 Subject: [mod-lisp-devel] Apache 2 support References: Message-ID: <058701c4c747$a985cc20$0a02a8c0@marcxp> "Edi Weitz" wrote: > I've added some lines of code to send headers that TBNL likes to have > but other than that it's all Chris Hanson's code at > > I'm making it thread friendly now. It should be available for testing this evening. Cheers, Marc From edi at agharta.de Wed Nov 10 17:11:16 2004 From: edi at agharta.de (Edi Weitz) Date: Wed, 10 Nov 2004 18:11:16 +0100 Subject: [mod-lisp-devel] Apache 2 support In-Reply-To: (Edi Weitz's message of "Wed, 10 Nov 2004 14:43:29 +0100") References: <042a01c4c728$1969f450$0a02a8c0@marcxp> Message-ID: Hmm, looks like I was a bit too quick with my recommendation. Prompted by Marc's questions I conducted some more tests and currently it seems that mod_lisp2 is leaving some sockets open if the Lisp used is AllegroCL 7.0 - yesterday I only tested with CMUCL. This doesn't happen with AllegroCL 7.0 and Apache 1.3. I'm also just building an Apache with the "worker" threading model and will play with this combo as well. More info to come soon, hopefully. Nevertheless, if anybody is willing to give the current code a try - just do it and report here... :) Cheers, Edi. From edi at agharta.de Wed Nov 10 18:19:46 2004 From: edi at agharta.de (Edi Weitz) Date: Wed, 10 Nov 2004 19:19:46 +0100 Subject: [mod-lisp-devel] Apache 2 support In-Reply-To: <058701c4c747$a985cc20$0a02a8c0@marcxp> (Marc Battyani's message of "Wed, 10 Nov 2004 18:06:46 +0100") References: <058701c4c747$a985cc20$0a02a8c0@marcxp> Message-ID: On Wed, 10 Nov 2004 18:06:46 +0100, "Marc Battyani" wrote: > I'm making it thread friendly now. > It should be available for testing this evening. Oh, it's good you're saying this - I was about to do the same thing... :) So I'll be doing something else, I'm sure you're faster. I was going to use the APR library, something like apr_threadkey_private_set/get. Is that your plan, too? Cheers, Edi. From marc.battyani at fractalconcept.com Wed Nov 10 18:36:35 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Wed, 10 Nov 2004 19:36:35 +0100 Subject: [mod-lisp-devel] Apache 2 support References: <058701c4c747$a985cc20$0a02a8c0@marcxp> Message-ID: <060901c4c754$3538ed40$0a02a8c0@marcxp> "Edi Weitz" wrote: > On Wed, 10 Nov 2004 18:06:46 +0100, "Marc Battyani" wrote: > > > I'm making it thread friendly now. > > It should be available for testing this evening. > > Oh, it's good you're saying this - I was about to do the same > thing... :) Arrgh, I spoke too early... > So I'll be doing something else, I'm sure you're faster. Don't bet ;-) I'm always horrified by the time it takes when I write some C code like that. allocation/deallocation/pointers/tortuous poorly documented APIs (I had to read the Apache sources to understand what they mean with their threadkey stuff...) etc. bleah... I will start to work on this at 22:00. Feel free do it before me if you want ;-) > I was going to use the APR library, something like > apr_threadkey_private_set/get. Is that your plan, too? Yes, it's what I plan to use. Cheers, Marc From marc.battyani at fractalconcept.com Wed Nov 10 23:15:10 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Thu, 11 Nov 2004 00:15:10 +0100 Subject: [mod-lisp-devel] Apache 2 support References: <058701c4c747$a985cc20$0a02a8c0@marcxp> <060901c4c754$3538ed40$0a02a8c0@marcxp> Message-ID: <070501c4c77b$20617820$0a02a8c0@marcxp> "Marc Battyani" wrote: > "Edi Weitz" wrote: > > I will start to work on this at 22:00. Feel free do it before me if you want Hum, I have not even started yet. Looks like I will rather do it tomorrow (tough we are already tomorrow...). :( Marc From edi at agharta.de Thu Nov 11 10:33:44 2004 From: edi at agharta.de (Edi Weitz) Date: Thu, 11 Nov 2004 11:33:44 +0100 Subject: [mod-lisp-devel] Apache 2 support In-Reply-To: <060901c4c754$3538ed40$0a02a8c0@marcxp> (Marc Battyani's message of "Wed, 10 Nov 2004 19:36:35 +0100") References: <058701c4c747$a985cc20$0a02a8c0@marcxp> <060901c4c754$3538ed40$0a02a8c0@marcxp> Message-ID: On Wed, 10 Nov 2004 19:36:35 +0100, "Marc Battyani" wrote: > Don't bet ;-) I'm always horrified by the time it takes when I write > some C code like that. allocation/deallocation/pointers/tortuous > poorly documented APIs (I had to read the Apache sources to > understand what they mean with their threadkey stuff...) > etc. bleah... Same here... :( I'm going to spend some time with this now. If you've got something better to do (like fighting deadlines or playing with your kids) please do it and wait until I give up or deliver something. Maybe tonight. Cheers, Edi. From marc.battyani at fractalconcept.com Thu Nov 11 11:33:08 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Thu, 11 Nov 2004 12:33:08 +0100 Subject: [mod-lisp-devel] Apache 2 support References: <058701c4c747$a985cc20$0a02a8c0@marcxp> <060901c4c754$3538ed40$0a02a8c0@marcxp> Message-ID: <083501c4c7e2$387255d0$0a02a8c0@marcxp> "Edi Weitz" wrote: > On Wed, 10 Nov 2004 19:36:35 +0100, "Marc Battyani" wrote: > > > Don't bet ;-) I'm always horrified by the time it takes when I write > > some C code like that. allocation/deallocation/pointers/tortuous > > poorly documented APIs (I had to read the Apache sources to > > understand what they mean with their threadkey stuff...) > > etc. bleah... > > Same here... :( > > I'm going to spend some time with this now. If you've got something > better to do (like fighting deadlines or playing with your kids) > please do it and wait until I give up or deliver something. Maybe > tonight. We should get a better sync. ;-) I finished the modifications and put mod_lisp2.c in the mod_lisp repository. Now what is needed is to test it (and fix it ;-) If you could test it on Linux while I debug it on Windows it would be cool. Cheers, Marc From edi at agharta.de Thu Nov 11 11:51:21 2004 From: edi at agharta.de (Edi Weitz) Date: Thu, 11 Nov 2004 12:51:21 +0100 Subject: [mod-lisp-devel] Apache 2 support In-Reply-To: <083501c4c7e2$387255d0$0a02a8c0@marcxp> (Marc Battyani's message of "Thu, 11 Nov 2004 12:33:08 +0100") References: <058701c4c747$a985cc20$0a02a8c0@marcxp> <060901c4c754$3538ed40$0a02a8c0@marcxp> <083501c4c7e2$387255d0$0a02a8c0@marcxp> Message-ID: On Thu, 11 Nov 2004 12:33:08 +0100, "Marc Battyani" wrote: > Now what is needed is to test it (and fix it ;-) If you could test > it on Linux while I debug it on Windows it would be cool. Your version fails if multiple Lisp images are running - it re-uses the socket although it shouldn't. That's why I have the lisp_private_t structure in my code. From marc.battyani at fractalconcept.com Thu Nov 11 11:54:43 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Thu, 11 Nov 2004 12:54:43 +0100 Subject: [mod-lisp-devel] Apache 2 support References: <058701c4c747$a985cc20$0a02a8c0@marcxp> <060901c4c754$3538ed40$0a02a8c0@marcxp> <083501c4c7e2$387255d0$0a02a8c0@marcxp> Message-ID: <085b01c4c7e5$3c000910$0a02a8c0@marcxp> "Edi Weitz" wrote: > On Thu, 11 Nov 2004 12:33:08 +0100, "Marc Battyani" wrote: > > > We should get a better sync. ;-) > > Yes... :) hehe... > > I finished the modifications and put mod_lisp2.c in the mod_lisp > > repository. > > > > Now what is needed is to test it (and fix it ;-) If you could test > > it on Linux while I debug it on Windows it would be cool. > > Just for fun here's what I have now - see attachment. > > I'm gonna look at your code. Looks like I'm more lazy. I just added a per thread configuration but did not touch anything else. Cheers, Marc From marc.battyani at fractalconcept.com Thu Nov 11 11:58:22 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Thu, 11 Nov 2004 12:58:22 +0100 Subject: [mod-lisp-devel] Apache 2 support References: <058701c4c747$a985cc20$0a02a8c0@marcxp> <060901c4c754$3538ed40$0a02a8c0@marcxp> <083501c4c7e2$387255d0$0a02a8c0@marcxp> Message-ID: <086801c4c7e5$bed8e460$0a02a8c0@marcxp> "Edi Weitz" wrote: > On Thu, 11 Nov 2004 12:33:08 +0100, "Marc Battyani" wrote: > > > Now what is needed is to test it (and fix it ;-) If you could test > > it on Linux while I debug it on Windows it would be cool. > > Your version fails if multiple Lisp images are running - it re-uses > the socket although it shouldn't. That's why I have the lisp_private_t > structure in my code. No. The check_cfg_for_reuse will mark the socket as unsafe if it's not the same lisp image. It's just that I forgot to call it. :( It should be called like this: local_lisp_cfg (lisp_cfg_t *cfg) { lisp_cfg_t *local_cfg = NULL; apr_threadkey_private_get((void**)&local_cfg, cfg_key); if (local_cfg == NULL) { local_cfg = copy_lisp_cfg (socket_pool, cfg); apr_threadkey_private_set((void*)local_cfg, cfg_key); return local_cfg; } check_cfg_for_reuse(local_cfg, cfg); return local_cfg; } Cheers, Marc From edi at agharta.de Thu Nov 11 12:41:42 2004 From: edi at agharta.de (Edi Weitz) Date: Thu, 11 Nov 2004 13:41:42 +0100 Subject: [mod-lisp-devel] Apache 2 support In-Reply-To: <086801c4c7e5$bed8e460$0a02a8c0@marcxp> (Marc Battyani's message of "Thu, 11 Nov 2004 12:58:22 +0100") References: <058701c4c747$a985cc20$0a02a8c0@marcxp> <060901c4c754$3538ed40$0a02a8c0@marcxp> <083501c4c7e2$387255d0$0a02a8c0@marcxp> <086801c4c7e5$bed8e460$0a02a8c0@marcxp> Message-ID: On Thu, 11 Nov 2004 12:58:22 +0100, "Marc Battyani" wrote: > No. The check_cfg_for_reuse will mark the socket as unsafe if it's > not the same lisp image. It's just that I forgot to call it. :( Yeah, I hadn't seen it when I took a quick glance at your code but now I do. I checked the modified code with and without threads on Linux and it seems to work fine now. I'll update the TBNL docs so people know where to get mod_lisp2. Thanks, Edi. From marc.battyani at fractalconcept.com Thu Nov 11 12:48:02 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Thu, 11 Nov 2004 13:48:02 +0100 Subject: [mod-lisp-devel] Apache 2 support References: <058701c4c747$a985cc20$0a02a8c0@marcxp> <060901c4c754$3538ed40$0a02a8c0@marcxp> <083501c4c7e2$387255d0$0a02a8c0@marcxp> <086801c4c7e5$bed8e460$0a02a8c0@marcxp> Message-ID: <08ac01c4c7ec$aebda550$0a02a8c0@marcxp> "Edi Weitz" wrote: > On Thu, 11 Nov 2004 12:58:22 +0100, "Marc Battyani" wrote: > > > No. The check_cfg_for_reuse will mark the socket as unsafe if it's > > not the same lisp image. It's just that I forgot to call it. :( > > Yeah, I hadn't seen it when I took a quick glance at your code but now > I do. I checked the modified code with and without threads on Linux > and it seems to work fine now. > > I'll update the TBNL docs so people know where to get mod_lisp2. Maybe you should wait a little bit for some more testing... Have you also tested the multi-threaded modes ? Cheers, Marc From edi at agharta.de Thu Nov 11 13:18:09 2004 From: edi at agharta.de (Edi Weitz) Date: Thu, 11 Nov 2004 14:18:09 +0100 Subject: [mod-lisp-devel] Apache 2 support In-Reply-To: <08ac01c4c7ec$aebda550$0a02a8c0@marcxp> (Marc Battyani's message of "Thu, 11 Nov 2004 13:48:02 +0100") References: <058701c4c747$a985cc20$0a02a8c0@marcxp> <060901c4c754$3538ed40$0a02a8c0@marcxp> <083501c4c7e2$387255d0$0a02a8c0@marcxp> <086801c4c7e5$bed8e460$0a02a8c0@marcxp> <08ac01c4c7ec$aebda550$0a02a8c0@marcxp> Message-ID: On Thu, 11 Nov 2004 13:48:02 +0100, "Marc Battyani" wrote: > Maybe you should wait a little bit for some more testing... I wouldn't mind if other mod_lisp/TBNL would also do some testing... :) > Have you also tested the multi-threaded modes ? Yes, I've tested with the 'prefork' and with the 'worker' model. (After I had done the same thing with my code. I think that's enough testing for today... :) From Marc.Battyani at fractalconcept.com Thu Nov 11 20:15:26 2004 From: Marc.Battyani at fractalconcept.com (Marc Battyani) Date: Thu, 11 Nov 2004 21:15:26 +0100 Subject: [mod-lisp-devel] [ANNOUNCE] mod_lisp2 1.0 Message-ID: <09ce01c4c82b$30a89500$0a02a8c0@marcxp> The long awaited mod_lisp2 for Apache2 is available. mod_lisp2/1.0 is on the mod_lisp repository: http://www.fractalconcept.com:8000/public/open-source/mod_lisp There is also a tarball of the current repository here: http://www.fractalconcept.com/download/mod_lisp-current.tgz (Thanks to Edi Weitz who pushed me to finish it.) Marc From shengh at cadence.com Fri Nov 12 12:03:15 2004 From: shengh at cadence.com (Sheng Han) Date: Fri, 12 Nov 2004 13:03:15 +0100 Subject: [mod-lisp-devel] compiling mod_lisp2 for Apache2 Message-ID: <4194A683.8090901@cadence.com> hi all, I compiled the newly released mod_lisp2 for Apache2 under Solaris. With httpd-2-0-52, I have the error of .so file didn't get compiled: ./bin/apxs -i -c ./modules/mod_lisp2.c /home2/pcuser/shengh/software/httpd-2-0-52/build/libtool --silent --mode=compile gcc -prefer-pic -DAP_HAVE_DESIGNATED_INITIALIZER -DSOLARIS2=9 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -g -O2 -pthreads -I/home2/pcuser/shengh/software/httpd-2-0-52/include -I/home2/pcuser/shengh/software/httpd-2-0-52/include -I/home2/pcuser/shengh/software/httpd-2-0-52/include -c -o ./modules/mod_lisp2.lo ./modules/mod_lisp2.c && touch ./modules/mod_lisp2.slo gcc: unrecognized option `-pthreads' /home2/pcuser/shengh/software/httpd-2-0-52/build/libtool --silent --mode=link gcc -o ./modules/mod_lisp2.la -rpath /home2/pcuser/shengh/software/httpd-2-0-52/modules -module -avoid-version ./modules/mod_lisp2.lo /home2/pcuser/shengh/software/httpd-2-0-52/build/instdso.sh SH_LIBTOOL='/home2/pcuser/shengh/software/httpd-2-0-52/build/libtool' ./modules/mod_lisp2.la /home2/pcuser/shengh/software/httpd-2-0-52/modules /home2/pcuser/shengh/software/httpd-2-0-52/build/libtool --mode=install cp ./modules/mod_lisp2.la /home2/pcuser/shengh/software/httpd-2-0-52/modules/ cp ./modules/.libs/mod_lisp2.lai /home2/pcuser/shengh/software/httpd-2-0-52/modules/mod_lisp2.la cp ./modules/.libs/mod_lisp2.a /home2/pcuser/shengh/software/httpd-2-0-52/modules/mod_lisp2.a ranlib /home2/pcuser/shengh/software/httpd-2-0-52/modules/mod_lisp2.a chmod 644 /home2/pcuser/shengh/software/httpd-2-0-52/modules/mod_lisp2.a ---------------------------------------------------------------------- Libraries have been installed in: /home2/pcuser/shengh/software/httpd-2-0-52/modules If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - use the `-RLIBDIR' linker flag See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- Warning! dlname not found in /home2/pcuser/shengh/software/httpd-2-0-52/modules/mod_lisp2.la. Assuming installing a .so rather than a libtool archive. chmod 755 /home2/pcuser/shengh/software/httpd-2-0-52/modules/mod_lisp2.so chmod: WARNING: can't access /home2/pcuser/shengh/software/httpd-2-0-52/modules/mod_lisp2.so apxs:Error: Command failed with rc=65536 With httpd-2-0-50, it was fine: httpd 534>./bin/apxs -i -c ./modules/mod_lisp2.c /home2/pcuser/shengh/software/httpd/build/libtool --silent --mode=compile gcc -prefer-pic -DAP_HAVE_DESIGNATED_INITIALIZER -DSOLARIS2=9 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -g -O2 -pthreads -I/home2/pcuser/shengh/software/httpd/include -I/home2/pcuser/shengh/software/httpd/include -I/home2/pcuser/shengh/software/httpd/include -c -o ./modules/mod_lisp2.lo ./modules/mod_lisp2.c && touch ./modules/mod_lisp2.slo gcc: unrecognized option `-pthreads' /home2/pcuser/shengh/software/httpd/build/libtool --silent --mode=link gcc -o ./modules/mod_lisp2.la -rpath /home2/pcuser/shengh/software/httpd/modules -module -avoid-version ./modules/mod_lisp2.lo /home2/pcuser/shengh/software/httpd/build/instdso.sh SH_LIBTOOL='/home2/pcuser/shengh/software/httpd/build/libtool' ./modules/mod_lisp2.la /home2/pcuser/shengh/software/httpd/modules /home2/pcuser/shengh/software/httpd/build/libtool --mode=install cp ./modules/mod_lisp2.la /home2/pcuser/shengh/software/httpd/modules/ cp ./modules/.libs/mod_lisp2.so /home2/pcuser/shengh/software/httpd/modules/mod_lisp2.so chmod +x /home2/pcuser/shengh/software/httpd/modules/mod_lisp2.so cp ./modules/.libs/mod_lisp2.lai /home2/pcuser/shengh/software/httpd/modules/mod_lisp2.la cp ./modules/.libs/mod_lisp2.a /home2/pcuser/shengh/software/httpd/modules/mod_lisp2.a ranlib /home2/pcuser/shengh/software/httpd/modules/mod_lisp2.a chmod 644 /home2/pcuser/shengh/software/httpd/modules/mod_lisp2.a ---------------------------------------------------------------------- Libraries have been installed in: /home2/pcuser/shengh/software/httpd/modules If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,--rpath -Wl,LIBDIR' linker flag See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- chmod 755 /home2/pcuser/shengh/software/httpd/modules/mod_lisp2.so Anyone knows why? Cheers, sheng From marc.battyani at fractalconcept.com Fri Nov 12 13:20:21 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Fri, 12 Nov 2004 14:20:21 +0100 Subject: [mod-lisp-devel] compiling mod_lisp2 for Apache2 References: <4194A683.8090901@cadence.com> Message-ID: <0cb001c4c8ba$5d11dae0$0a02a8c0@marcxp> "Sheng Han" wrote: > > I compiled the newly released mod_lisp2 for Apache2 under Solaris. > > With httpd-2-0-52, I have the error of .so file didn't get compiled: > > ./bin/apxs -i -c ./modules/mod_lisp2.c Normally it's apxs2. I'm surprised to see that apxs worked for the previous versions. Marc From edi at agharta.de Fri Nov 12 13:23:45 2004 From: edi at agharta.de (Edi Weitz) Date: Fri, 12 Nov 2004 14:23:45 +0100 Subject: [mod-lisp-devel] compiling mod_lisp2 for Apache2 In-Reply-To: <4194A683.8090901@cadence.com> (Sheng Han's message of "Fri, 12 Nov 2004 13:03:15 +0100") References: <4194A683.8090901@cadence.com> Message-ID: On Fri, 12 Nov 2004 13:03:15 +0100, Sheng Han wrote: > With httpd-2-0-52, I have the error of .so file didn't get compiled: > > [Excerpts:] > > gcc: unrecognized option `-pthreads' > Warning! dlname not found in > Assuming installing a .so rather than a libtool archive. > chmod: WARNING: can't access These all look like errors introduced by apxs and not my mod_lisp specifically. Maybe your toolchain is not as expected by Apache? Did you build Apache yourself or did you install binaries? Can you build other Apache modules with apxs? Cheers, Edi. From marc.battyani at fractalconcept.com Fri Nov 12 13:31:30 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Fri, 12 Nov 2004 14:31:30 +0100 Subject: [mod-lisp-devel] compiling mod_lisp2 for Apache2 References: <4194A683.8090901@cadence.com> <0cb001c4c8ba$5d11dae0$0a02a8c0@marcxp> <4194BA4C.5080803@cadence.com> Message-ID: <0ce101c4c8bb$ec0c11b0$0a02a8c0@marcxp> "Sheng Han" wrote: > Marc Battyani wrote: > > >"Sheng Han" wrote: > > > > > >>I compiled the newly released mod_lisp2 for Apache2 under Solaris. > >> > >>With httpd-2-0-52, I have the error of .so file didn't get compiled: > >> > >> ./bin/apxs -i -c ./modules/mod_lisp2.c > >> > > > >Normally it's apxs2. I'm surprised to see that apxs worked for the previous > >versions. > > I can't seem to find apxs2 in bin directory....where is it then? Do I > need to build apache2 > with special arguments for apxs2? On debian I got the apache2 dev package: apt-get install apache2-dev then apxs2 -i -c mod_lisp2.c There is probably something similar for Solaris. Cheers, Marc From edi at agharta.de Fri Nov 12 13:52:25 2004 From: edi at agharta.de (Edi Weitz) Date: Fri, 12 Nov 2004 14:52:25 +0100 Subject: [mod-lisp-devel] compiling mod_lisp2 for Apache2 In-Reply-To: <0cb001c4c8ba$5d11dae0$0a02a8c0@marcxp> (Marc Battyani's message of "Fri, 12 Nov 2004 14:20:21 +0100") References: <4194A683.8090901@cadence.com> <0cb001c4c8ba$5d11dae0$0a02a8c0@marcxp> Message-ID: On Fri, 12 Nov 2004 14:20:21 +0100, "Marc Battyani" wrote: > Normally it's apxs2. The script that gets installed if you build Apache 2 yourself is still called apxs - at least on my machine - although it's certainly different from the apxs Apache 1.x uses. I guess distros like Debian rename it to apxs2. edi at vmware:~$ locate bin/apxs /usr/bin/apxs /usr/bin/apxs-perl /usr/bin/apxs-ssl /usr/local/apache2-worker/bin/apxs /usr/local/apache2/bin/apxs From edi at agharta.de Fri Nov 12 16:26:26 2004 From: edi at agharta.de (Edi Weitz) Date: Fri, 12 Nov 2004 17:26:26 +0100 Subject: [mod-lisp-devel] compiling mod_lisp2 for Apache2 In-Reply-To: <4194DC5C.8040902@cadence.com> (Sheng Han's message of "Fri, 12 Nov 2004 16:53:00 +0100") References: <4194A683.8090901@cadence.com> <0cb001c4c8ba$5d11dae0$0a02a8c0@marcxp> <4194DC5C.8040902@cadence.com> Message-ID: On Fri, 12 Nov 2004 16:53:00 +0100, Sheng Han wrote: > Now I am getting error during initialized lisp. Any hint? So you managed to compile it? What was wrong when you first tried it? > ; Warning: These functions are undefined: > ; MULTIPROCESSING:MAKE-PROCESS > MULTIPROCESSING:PROCESS-WAIT-UNTIL-FD-USABLE CMUCL doesn't have multi-processing on Solaris/Sparc, only on X86. You'll either need a Lisp with multi-processing for this platform (like AllegroCL, LispWorks, or Scieneer) or you can try CMUCL's SERVE-EVENT[1] facility. I've never done this but Google might help or you can ask on the CMUCL mailing list. Cheers, Edi. [1] From marc.battyani at fractalconcept.com Thu Nov 18 21:16:27 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Thu, 18 Nov 2004 22:16:27 +0100 Subject: [mod-lisp-devel] New versions of mod_lisp/mod_lisp2 Message-ID: <0f6801c4cdb3$ddd5c170$1402a8c0@marcxp> Here are the latest modifs for mod_lisp/mod_lisp2: mod_lisp: Case insensitive parsing of the lisp header names for compatibility with mod_lisp2 mod_lisp2: Fixed lisp_handler to allow for no Content-Length header [Tim Howe] mod_lisp is on the mod_lisp repository: http://www.fractalconcept.com:8000/public/open-source/mod_lisp There is also a tarball of the current repository here: http://www.fractalconcept.com/download/mod_lisp-current.tgz Marc From cph at csail.mit.edu Mon Nov 22 04:45:40 2004 From: cph at csail.mit.edu (Chris Hanson) Date: Sun, 21 Nov 2004 23:45:40 -0500 Subject: [mod-lisp-devel] cookies Message-ID: Does anyone know why cookie headers aren't being propagated to the lisp process? I've got Apache 1.3.31 and mod-lisp 2.38 running under Debian testing. I can confirm that firefox is sending a cookie to the server, but it doesn't reach the lisp. I thought that headers_in had _all_ the headers, including cookie headers. Any ideas? From edi at agharta.de Mon Nov 22 08:42:07 2004 From: edi at agharta.de (Edi Weitz) Date: Mon, 22 Nov 2004 09:42:07 +0100 Subject: [mod-lisp-devel] cookies In-Reply-To: (Chris Hanson's message of "Sun, 21 Nov 2004 23:45:40 -0500") References: Message-ID: On Sun, 21 Nov 2004 23:45:40 -0500, Chris Hanson wrote: > Does anyone know why cookie headers aren't being propagated to the > lisp process? I've got Apache 1.3.31 and mod-lisp 2.38 running > under Debian testing. I can confirm that firefox is sending a > cookie to the server, but it doesn't reach the lisp. I thought that > headers_in had _all_ the headers, including cookie headers. What "headers_in" do you mean? A Lisp variable named like that? A value sent by mod_lisp? I've been using the Apache/mod_lisp combo on various servers with different Lisps and I've always received the cookies sent by the client. Maybe you can send a small, self-contained example that demonstrates your problem. Cheers, Edi. From cph at csail.mit.edu Tue Nov 23 16:55:03 2004 From: cph at csail.mit.edu (Chris Hanson) Date: Tue, 23 Nov 2004 11:55:03 -0500 Subject: [mod-lisp-devel] cookies In-Reply-To: References: Message-ID: <1101228903.7250.8.camel@kleph.csail.mit.edu> On Mon, 2004-11-22 at 09:42 +0100, Edi Weitz wrote: > > What "headers_in" do you mean? A Lisp variable named like that? A > value sent by mod_lisp? I've been using the Apache/mod_lisp combo on > various servers with different Lisps and I've always received the > cookies sent by the client. Right you are; it was a bug in my lisp program. However, there is another related bug in mod_lisp: it is not sending multiple set-cookie headers to the client. I believe the attached patch will fix this. Set-cookie used to be explicitly tested for, in version 2.33, but that test has been removed in later versions. Because mod_lisp2 was forked from version 2.33, it doesn't have this bug. But mod_lisp and mod_lisp2 should handle this situation in the same way, so if the attached patch is applied, mod_lisp2 should be changed to be the same. Otherwise, mod_lisp should be changed to handle set-cookie specially, as before. -------------- next part -------------- A non-text attachment was scrubbed... Name: mod_lisp.c.diff Type: text/x-patch Size: 346 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: From marc.battyani at fractalconcept.com Tue Nov 23 17:11:01 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Tue, 23 Nov 2004 18:11:01 +0100 Subject: [mod-lisp-devel] cookies References: <1101228903.7250.8.camel@kleph.csail.mit.edu> Message-ID: <084c01c4d17f$69f19bb0$0a02a8c0@marcxp> "Chris Hanson" wrote: On Mon, 2004-11-22 at 09:42 +0100, Edi Weitz wrote: > > What "headers_in" do you mean? A Lisp variable named like that? A > value sent by mod_lisp? I've been using the Apache/mod_lisp combo on > various servers with different Lisps and I've always received the > cookies sent by the client. Right you are; it was a bug in my lisp program. However, there is another related bug in mod_lisp: it is not sending multiple set-cookie headers to the client. I believe the attached patch will fix this. >Set-cookie used to be explicitly tested for, in version 2.33, but that >test has been removed in later versions. Because mod_lisp2 was forked >from version 2.33, it doesn't have this bug. But mod_lisp and mod_lisp2 >should handle this situation in the same way, so if the attached patch >is applied, mod_lisp2 should be changed to be the same. Otherwise, >mod_lisp should be changed to handle set-cookie specially, as before. Multiple cookies support were added in version 2.2: Version 2.2 Allow more than one Set-Cookie Remaned the win32 dll to mod_lisp.dll It seems to have vanished at revision 2.35. I'm putting it back Marc From marc.battyani at fractalconcept.com Tue Nov 23 17:20:55 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Tue, 23 Nov 2004 18:20:55 +0100 Subject: [mod-lisp-devel] Re: [ANNOUNCE] mod_lisp 2.40 Message-ID: <087101c4d180$cbe0e870$0a02a8c0@marcxp> mod_lisp version 2.40 is on the mod_lisp repository: http://www.fractalconcept.com:8000/public/open-source/mod_lisp >From the change log: Version 2.40 Allow more than one Set-Cookie (it was in 2.2 but was wrongly removed in 2.35) Version 2.39 Case insensitive parsing of the Lisp header names for compatibility with mod_lisp2. Marc From cph at csail.mit.edu Tue Nov 23 17:26:46 2004 From: cph at csail.mit.edu (Chris Hanson) Date: Tue, 23 Nov 2004 12:26:46 -0500 Subject: [mod-lisp-devel] Re: [ANNOUNCE] mod_lisp 2.40 In-Reply-To: <087101c4d180$cbe0e870$0a02a8c0@marcxp> References: <087101c4d180$cbe0e870$0a02a8c0@marcxp> Message-ID: <1101230806.7250.12.camel@kleph.csail.mit.edu> On Tue, 2004-11-23 at 18:20 +0100, Marc Battyani wrote: > mod_lisp version 2.40 is on the mod_lisp repository: > http://www.fractalconcept.com:8000/public/open-source/mod_lisp > > >From the change log: > > Version 2.40 > Allow more than one Set-Cookie > (it was in 2.2 but was wrongly removed in 2.35) > > Version 2.39 > Case insensitive parsing of the Lisp header names for compatibility with > mod_lisp2. Sorry to be the bearer of bad news, but the set-cookie support you just added is case sensitive. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: From marc.battyani at fractalconcept.com Tue Nov 23 18:25:46 2004 From: marc.battyani at fractalconcept.com (Marc Battyani) Date: Tue, 23 Nov 2004 19:25:46 +0100 Subject: [mod-lisp-devel] Re: [ANNOUNCE] mod_lisp 2.40 References: <087101c4d180$cbe0e870$0a02a8c0@marcxp> <1101230806.7250.12.camel@kleph.csail.mit.edu> Message-ID: <003401c4d189$db1b4a20$0a02a8c0@marcxp> "Chris Hanson" wrote: >On Tue, 2004-11-23 at 18:20 +0100, Marc Battyani wrote: >> mod_lisp version 2.40 is on the mod_lisp repository: >> http://www.fractalconcept.com:8000/public/open-source/mod_lisp >> >> >From the change log: >> >> Version 2.40 >> Allow more than one Set-Cookie >> (it was in 2.2 but was wrongly removed in 2.35) >> >> Version 2.39 >> Case insensitive parsing of the Lisp header names for compatibility with >> mod_lisp2. > >Sorry to be the bearer of bad news, but the set-cookie support you just >added is case sensitive. Ahem, sorry... Version 2.41 Case insensitive version of the set-cookie Marc From edi at agharta.de Thu Nov 11 11:43:06 2004 From: edi at agharta.de (Edi Weitz) Date: Thu, 11 Nov 2004 11:43:06 -0000 Subject: [mod-lisp-devel] Apache 2 support In-Reply-To: <083501c4c7e2$387255d0$0a02a8c0@marcxp> (Marc Battyani's message of "Thu, 11 Nov 2004 12:33:08 +0100") References: <058701c4c747$a985cc20$0a02a8c0@marcxp> <060901c4c754$3538ed40$0a02a8c0@marcxp> <083501c4c7e2$387255d0$0a02a8c0@marcxp> Message-ID: On Thu, 11 Nov 2004 12:33:08 +0100, "Marc Battyani" wrote: > We should get a better sync. ;-) Yes... :) > I finished the modifications and put mod_lisp2.c in the mod_lisp > repository. > > Now what is needed is to test it (and fix it ;-) If you could test > it on Linux while I debug it on Windows it would be cool. Just for fun here's what I have now - see attachment. I'm gonna look at your code. Cheers, Edi. -------------- next part -------------- A non-text attachment was scrubbed... Name: mod_lisp2.c Type: application/octet-stream Size: 30999 bytes Desc: not available URL: