Re: mod_mruby to provide an alternative to mod_lua
On 01/21/2013 07:32 AM, 松本 亮介 wrote: Hi Daniel. Thank you for your comment. I have tried to compile and install mod_mruby on my own machine to test it, but there are too many compiler errors for it to work :( In particular, you have a lot of declarations after statements in your code, which is not C90 compliant, and needs fixing. There are also some Did you built mruby? If you don't build murky, you try to build by bellow commands. - mruby and mod_mruby build git clone git://github.com/matsumoto-r/mod_mruby.git cd mod_mruby git submodule init git submodule update cd murby rake cd .. ./configure --with-apxs=/usr/local/apache/bin/apxs --with-apachectl=/usr/local/apache/bin/apachectl make make install - mod_mruby settings cp -p test/test.mrb /usr/local/apache/htdocs/. vi /usr/local/apache/conf/httpd.con (snip) LoadModule mruby_module modules/mod_mruby.so AddHandler mruby-script .mrb (snip) /usr/local/apache/bin/apachectl start - mod_mruby test http://youraddress/test.mrb snip Hi again, I did manage to finally get mod_mruby running on my test server, after a lot of tweaking of your source code. In general, you should always compile your development modules using _maintainer mode_. This can be achieved when you configure the httpd source by running ./configure --enable-maintainer-mode. This should also make apxs run using maintainer mode, which will alert you to anything about the code which doesn't sit right with httpd and the standards we have laid out. As for how the module runs, I'll include mod_mruby in my talk a bit, showing how mod_lua compares to it as well as mod_php and mod_perl on httpd 2.4 (yes, mod_perl can be built for 2.4 ;) ). While it shows a good performance - considering Ruby is generally a slow language - it does have serious performance issues once you start upping the concurrency on 2.4. At only 30 concurrent clients, I am getting a lot of disconnects and segmentation faults from mod_mruby, making it plummet down to 150 requests per second for a simple hello world script, and at 500 concurrent clients, it's as low as 50 requests per second, possibly because it crashes the server, which then has to re-spawn new workers all the time. I've uploaded a log of GDB at http://apaste.info/dsFz which you can possibly use to figure out why it's behaving like it does. There also seems to be a lot of other exceptions raised when just calling it with 1 client (mrb_exc_raise). I hope you figure these things out, as mod_mruby is a welcome addition to the http server :). If you can get it to run stable on 2.4/2.5 before ApacheCon, I'd love to try it out again and get some proper performance tests going. With regards, Daniel.
2.4.3, build with vc11 (2012)
hi! Has anyone tried to build 2.4.3 with vc11? Using either makefiles or dsp (converted), I got a rc.exe error, invalid usage. The cmd line is: rc.exe /d NDEBUG /d APP_FILE /d BIN_NAME=httpd.exe /d LONG_NAME=Apache HTTP Server /d ICON_FILE=apache.ico /d _VC80_UPGRADE=0x0600 /l 0x409 /I build\win32 /I ./include /I ./srclib/apr/include /fo.\Release/httpd.res .\build\win32\httpd.rc However other rc calls produce the same error. Cheers. -- Pierre @pierrejoye
Re: mod_mruby to provide an alternative to mod_lua
On 2013/01/21, at 19:03, Daniel Gruno rum...@cord.dk wrote: On 01/21/2013 07:32 AM, 松本 亮介 wrote: Hi Daniel. Thank you for your comment. I have tried to compile and install mod_mruby on my own machine to test it, but there are too many compiler errors for it to work :( In particular, you have a lot of declarations after statements in your code, which is not C90 compliant, and needs fixing. There are also some Did you built mruby? If you don't build murky, you try to build by bellow commands. - mruby and mod_mruby build git clone git://github.com/matsumoto-r/mod_mruby.git cd mod_mruby git submodule init git submodule update cd murby rake cd .. ./configure --with-apxs=/usr/local/apache/bin/apxs --with-apachectl=/usr/local/apache/bin/apachectl make make install - mod_mruby settings cp -p test/test.mrb /usr/local/apache/htdocs/. vi /usr/local/apache/conf/httpd.con (snip) LoadModule mruby_module modules/mod_mruby.so AddHandler mruby-script .mrb (snip) /usr/local/apache/bin/apachectl start - mod_mruby test http://youraddress/test.mrb snip Hi again, I did manage to finally get mod_mruby running on my test server, after a lot of tweaking of your source code. In general, you should always compile your development modules using _maintainer mode_. This can be achieved when you configure the httpd source by running ./configure --enable-maintainer-mode. This should also make apxs run using maintainer mode, which will alert you to anything about the code which doesn't sit right with httpd and the standards we have laid out. Thank you for your idea. I try to implement it. As for how the module runs, I'll include mod_mruby in my talk a bit, showing how mod_lua compares to it as well as mod_php and mod_perl on httpd 2.4 (yes, mod_perl can be built for 2.4 ;) ). While it shows a good performance - considering Ruby is generally a slow language - it does have serious performance issues once you start upping the concurrency on 2.4. At only 30 concurrent clients, I am getting a lot of disconnects and segmentation faults from mod_mruby, making it plummet down to 150 requests per second for a simple hello world script, and at 500 concurrent clients, it's as low as 50 requests per second, possibly because it crashes the server, which then has to re-spawn new workers all the time. I've uploaded a log of GDB at http://apaste.info/dsFz which you can possibly use to figure out why it's behaving like it does. There also seems to be a lot of other exceptions raised when just calling it with 1 client (mrb_exc_raise). Sorry about that. Your apache mpm is worker, but now mod_mruby work properly on prefork mpm. In my future plans, mod_mruby will support thread model like event or worker mpm. I'm studying thread models to support event_mpm. Thank you for GDB log and I refer to it. I have checked mod_mruby which work stable on Apache 2.4.2 preform mpm. I hope you figure these things out, as mod_mruby is a welcome addition to the http server :). If you can get it to run stable on 2.4/2.5 before ApacheCon, I'd love to try it out again and get some proper performance tests going. With regards, Daniel. I'ts awesome! With regards, Ryosuke. MATSUMOTO Ryosuke matsu1229 at gmail.com http://blog.matsumoto-r.jp/
Re: mod_mruby to provide an alternative to mod_lua
Hi Daniel, I tested benchmark of mod_mruby. test case are: - test case 1 mod_mruby inline code into https.conf mod_mruby need not fopen() - test case 2 run mod_mruby scripts file per requests mod_mruby need fopen() and fclose() per requests - test environment OS: Linux version 2.6.18-308.16.1.el5PAE Apache: Apache 2.4.3 MPM: prefork mod_mruby: Current version CPU: Intel(R) Xeon(R) CPU X5355 @ 2.66GHz Mem: 8GB -- MPM settings IfModule mpm_prefork_module StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxRequestWorkers 250 MaxConnectionsPerChild 0 /IfModule -- mod_mruby settings LoadModule mruby_module modules/mod_mruby.so Addhandler mruby-script .mrb Location /mruby sethandler mruby-native-script mrubyHandlerCode Apache.rputs 'hello mod_mruby world' /Location -- test case 1 (not open mruby file) $ curl http://127.0.0.1/mruby hello mod_mruby world $ ab -c 100 -n 10 http://127.0.0.1/mruby This is ApacheBench, Version 2.0.40-dev $Revision: 1.146 $ apache-2.0 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright 2006 The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 1 requests Completed 2 requests Completed 3 requests Completed 4 requests Completed 5 requests Completed 6 requests Completed 7 requests Completed 8 requests Completed 9 requests Finished 10 requests Server Software:Apache/2.4.3 Server Hostname:127.0.0.1 Server Port:80 Document Path: /mruby Document Length:21 bytes Concurrency Level: 100 Time taken for tests: 6.859518 seconds Complete requests: 10 Failed requests:0 Write errors: 0 Total transferred: 17103420 bytes HTML transferred: 2100420 bytes Requests per second:14578.28 [#/sec] (mean) Time per request: 6.860 [ms] (mean) Time per request: 0.069 [ms] (mean, across all concurrent requests) Transfer rate: 2434.86 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect:00 0.5 0 5 Processing: 16 1.0 6 10 Waiting:04 1.8 5 8 Total: 16 1.1 6 12 Percentage of the requests served within a certain time (ms) 50% 6 66% 7 75% 7 80% 7 90% 8 95% 8 98% 8 99% 9 100% 12 (longest request) -- test case 2 (open mruby file) $ curl http://127.0.0.1/hello.mrb hello mruby world!! $ ab -c 100 -n 10 http://127.0.0.1/hello.mrb This is ApacheBench, Version 2.0.40-dev $Revision: 1.146 $ apache-2.0 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright 2006 The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 1 requests Completed 2 requests Completed 3 requests Completed 4 requests Completed 5 requests Completed 6 requests Completed 7 requests Completed 8 requests Completed 9 requests Finished 10 requests Server Software:Apache/2.4.3 Server Hostname:127.0.0.1 Server Port:80 Document Path: /hello.mrb Document Length:19 bytes Concurrency Level: 100 Time taken for tests: 8.106790 seconds Complete requests: 10 Failed requests:0 Write errors: 0 Total transferred: 16900676 bytes HTML transferred: 1900076 bytes Requests per second:12335.34 [#/sec] (mean) Time per request: 8.107 [ms] (mean) Time per request: 0.081 [ms] (mean, across all concurrent requests) Transfer rate: 2035.82 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect:00 0.7 0 7 Processing: 17 5.8 7 389 Waiting:05 6.0 6 388 Total: 17 5.9 7 391 Percentage of the requests served within a certain time (ms) 50% 7 66% 8 75% 8 80% 8 90% 9 95% 9 98% 10 99% 10 100%391 (longest request) -- refs (ab to static contens like index.html) $ curl http://127.0.0.1/index.html htmlbodyh1It works!/h1/body/html $ ab -c 100 -n 10 http://127.0.0.1/index.html This is ApacheBench, Version 2.0.40-dev $Revision: 1.146 $ apache-2.0 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright 2006 The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 1 requests Completed 2 requests Completed 3 requests Completed 4 requests Completed 5 requests Completed 6 requests Completed 7 requests Completed 8 requests Completed 9 requests Finished 10 requests Server Software:Apache/2.4.3 Server Hostname:127.0.0.1 Server
Re: mod_mruby to provide an alternative to mod_lua
On 01/21/2013 01:59 PM, 松本 亮介 wrote: Hi Daniel, I tested benchmark of mod_mruby. test case are: snip My main concern here is; is it thread-safe (or even thread-aware)? Most people will be using 2.4 with the event MPM, which is threaded, not the prefork MPM. I have no problems doing concurrency on the prefork MPM, it's with the worker/event MPM that things start to go wrong. With regards, Daniel.
Re: mod_mruby to provide an alternative to mod_lua
On 2013/01/21, at 22:03, Daniel Gruno rum...@cord.dk wrote: On 01/21/2013 01:59 PM, 松本 亮介 wrote: Hi Daniel, I tested benchmark of mod_mruby. test case are: snip My main concern here is; is it thread-safe (or even thread-aware)? Most people will be using 2.4 with the event MPM, which is threaded, not the prefork MPM. I have no problems doing concurrency on the prefork MPM, it's with the worker/event MPM that things start to go wrong. mod_mruby is very fast in the prefork MPM, but is not thread-safe. I try to implement thread-safe to mod_mruby. It's challenging!! Thank you for your reply. With regards, Ryosuke.
Re: mod_macro has been added
On Jan 20, 2013, at 5:45 AM, Fabien wrote: Hello devs, I've been given the go to add mod_macro to httpd trunk, see r1435811. The module is in modules/core. There are English and French documentations and extensive non regression tests. The module is compiled in with most. It is fully independent, i.e. I have not changed or modified core stuff for the module. I think it is safe and may be considered for backporting to 2.4, as well as the Warning directive added some time ago. Forwarding to docs for the few folks that pay more attention there than here. I'm not sure about how to advertise the use of the module. Possibly something in the standard default configuration, maybe some carefully designed example macros could be defined and use here and there to show how great that can be? Lets put something in conf/extras with an as-simple-as-possible example in it, and a pointer to the docs. Also, maybe some mention of the module should appear in configuring and sections in the documentation? I envision something, eventually, along the lines of the Rewrite recipe-style docs with howtos for various scenarios. I haven't yet looked through the docs that are already provided, but will do so this week and work on integrating it into the rest of the docs where it is relevant. I expect that the vhost section is an obvious entry point, as that's where I see mod_macro used most extensively in the wild. -- Rich Bowen rbo...@rcbowen.com :: @rbowen rbo...@apache.org
Re: Plea for eyes (and votes) on STATUS proposals
On Jan 20, 2013, at 3:56 PM, Daniel Ruggeri drugg...@primary.net wrote: On 1/17/2013 6:52 AM, Jim Jagielski wrote: *ping* :) (yeah, I am kinda pushing/hoping for the balancer stuff to be in 2.4.4 in time for ACNA13) BalancerPersist: Tested fine and works as expected (+1) Side note A lot of folks look at the configuration file as the canonical source for how the server is configured. With dynamic changes persisted, aspects of the configuration can be incorrect. Seems like a lot of work, but it may be worth considering a patch to WARN if the conf vs restored configs differ. I think we can do a simple log when we are persisting... BalancerInherit: Bug https://issues.apache.org/bugzilla/show_bug.cgi?id=52402 hampers testing of BalancerInherit On case. Bug notes imply that current 2.4 branch should have a fix for balancer at server level with many vhosts, but no one really calls out which commit should fix it so I can confirm. Tested with current 2.4.x branch w/ proxypassinherit.patch only... Before giving a vote, I'd like to be able to confirm that balancers at the server level work again. What patch is needed for this? Disabling BalancerInherit is only needed when using the Balancer Manager and only if there are conflicts between a Balancer in the top-level server and a vhost. With BI On, if a balancer is defined at the top level, then vhosts A and B get their own individual copy. But when using the Balancer Manager, it may be difficult or impossible to affect change in the balancer you want. If you use BM to change the Balancer of the top-level server, those changes do not get applied to the vhosts that had inherited them when httpd was 1st started. This can be confusing. Having BI Off ensures that: 1. All Balancers must be explicitly defined for whatever vhosts are using them 2. All changes on those Balancers affect ONLY that specific server.
Re: Plea for eyes (and votes) on STATUS proposals
On 1/21/2013 8:26 AM, Jim Jagielski wrote: Disabling BalancerInherit is only needed when using the Balancer Manager and only if there are conflicts between a Balancer in the top-level server and a vhost. With BI On, if a balancer is defined at the top level, then vhosts A and B get their own individual copy. But when using the Balancer Manager, it may be difficult or impossible to affect change in the balancer you want. If you use BM to change the Balancer of the top-level server, those changes do not get applied to the vhosts that had inherited them when httpd was 1st started. This can be confusing. Having BI Off ensures that: 1. All Balancers must be explicitly defined for whatever vhosts are using them 2. All changes on those Balancers affect ONLY that specific server. Understood - but with the bug noted earlier, isn't it impossible to have a balancer at the server level make its way into vhosts any more because of [Mon Jan 21 12:06:06.432596 2013] [proxy_balancer:debug] [pid 22337:tid 3075496144] mod_proxy_balancer.c(816): AH01184: Doing workers create: balancer://mycluster (s5aac9634_mycluster), 480, 2 [Mon Jan 21 12:06:06.432605 2013] [slotmem_shm:debug] [pid 22337:tid 3075496144] mod_slotmem_shm.c(632): AH02293: slotmem(/usr/local/apache/logs/experimental/slotmem-shm-s5aac9634_mycluster.shm) grab failed. Num 2/num_free 0 [Mon Jan 21 12:06:06.432612 2013] [proxy_balancer:emerg] [pid 22337:tid 3075496144] (22)Invalid argument: AH01186: worker slotmem_grab failed [Mon Jan 21 12:06:06.432637 2013] [:emerg] [pid 22337:tid 3075496144] AH00020: Configuration Failed, exiting This error happens any time one creates a balancer at server level and it attempts pushing it down to the vhosts. If I add the BalancerInherit patch, there is no change until 'BalancerInherit Off'. With it disabled, at least it starts but of course, none of the vhosts have that balancer anymore. So the patch itself seems to work, yes. I was hoping to draw more attention to the issue of not being able to define balancers at the server level anymore, though. IMHO, that's a much bigger problem. So is that bug supposed to be fixed, or do we roll 2.4.4 without this functionality? I guess it's technically not a regression if it's always been broken. -- Daniel Ruggeri
Re: svn commit: r1436396 - /httpd/httpd/branches/2.4.x/STATUS
On 1/21/2013 8:59 AM, j...@apache.org wrote: druggeri: (Discussion started on dev@ list) * This can not be fully verified until bug 52402 is fixed + jim: 52402 is fixed and is part of the backport for persist below * This doesn't seem to do anything for ProxyPass at server level but doc seems to imply it does. * Can you elaborate more in docs about issues and inconsistences? * Doc for 2.4 patch notes version 2.5.0 + jim: are we OK with changing the 2.4.x docs async? Argh - saw this after the dev@ reply. Will mess with both patches together and report back. For now ignore my previous message :-) -- Daniel Ruggeri
Re: svn commit: r1436396 - /httpd/httpd/branches/2.4.x/STATUS
On 1/21/2013 12:27 PM, Daniel Ruggeri wrote: Argh - saw this after the dev@ reply. Will mess with both patches together and report back. For now ignore my previous message :-) Aye - that did it! Sorry for the noise - was testing the two patches independently. -- Daniel Ruggeri
Re: mod_mruby to provide an alternative to mod_lua
On 2013/01/21, at 22:17, MATSUMOTO Ryosuke matsu1...@gmail.com wrote: On 2013/01/21, at 22:03, Daniel Gruno rum...@cord.dk wrote: On 01/21/2013 01:59 PM, 松本 亮介 wrote: Hi Daniel, I tested benchmark of mod_mruby. test case are: snip My main concern here is; is it thread-safe (or even thread-aware)? Most people will be using 2.4 with the event MPM, which is threaded, not the prefork MPM. I have no problems doing concurrency on the prefork MPM, it's with the worker/event MPM that things start to go wrong. mod_mruby is very fast in the prefork MPM, but is not thread-safe. I try to implement thread-safe to mod_mruby. It's challenging!! Thank you for your reply. With regards, Ryosuke. Hi Daniel, I have implemented thread-safe to mod_mruby. https://github.com/matsumoto-r/mod_mruby So, mod_mruby work fine on worker and event MPM. You can try this before ApacheCon. I try it out again, and get some performance of mod_mruby. 1. benchmark on event MPM $ ab -c 100 -n 10 http://127.0.0.1/hello.mrb This is ApacheBench, Version 2.0.40-dev $Revision: 1.146 $ apache-2.0 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright 2006 The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 1 requests Completed 2 requests Completed 3 requests Completed 4 requests Completed 5 requests Completed 6 requests Completed 7 requests Completed 8 requests Completed 9 requests Finished 10 requests Server Software:Apache/2.4.3 Server Hostname:127.0.0.1 Server Port:80 Document Path: /hello.mrb Document Length:19 bytes Concurrency Level: 100 Time taken for tests: 7.529994 seconds Complete requests: 10 Failed requests:0 Write errors: 0 Total transferred: 1690 bytes HTML transferred: 190 bytes Requests per second:13280.22 [#/sec] (mean) Time per request: 7.530 [ms] (mean) Time per request: 0.075 [ms] (mean, across all concurrent requests) Transfer rate: 2191.64 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect:00 0.0 0 3 Processing: 16 1.4 7 12 Waiting:16 1.4 7 12 Total: 16 1.4 7 15 Percentage of the requests served within a certain time (ms) 50% 7 66% 7 75% 7 80% 7 90% 9 95% 9 98% 9 99% 10 100% 15 (longest request) 2. benchmark on worker MPM $ ab -c 100 -n 10 http://127.0.0.1/hello.mrb This is ApacheBench, Version 2.0.40-dev $Revision: 1.146 $ apache-2.0 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright 2006 The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 1 requests Completed 2 requests Completed 3 requests Completed 4 requests Completed 5 requests Completed 6 requests Completed 7 requests Completed 8 requests Completed 9 requests Finished 10 requests Server Software:Apache/2.4.3 Server Hostname:127.0.0.1 Server Port:80 Document Path: /hello.mrb Document Length:19 bytes Concurrency Level: 100 Time taken for tests: 9.578192 seconds Complete requests: 10 Failed requests:0 Write errors: 0 Total transferred: 16902873 bytes HTML transferred: 1900323 bytes Requests per second:10440.38 [#/sec] (mean) Time per request: 9.578 [ms] (mean) Time per request: 0.096 [ms] (mean, across all concurrent requests) Transfer rate: 1723.29 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect:01 0.9 1 4 Processing: 18 0.9 8 29 Waiting:03 1.2 3 29 Total: 19 1.2 9 29 Percentage of the requests served within a certain time (ms) 50% 9 66% 10 75% 10 80% 10 90% 10 95% 11 98% 11 99% 11 100% 29 (longest request)
Re: Plea for eyes (and votes) on STATUS proposals
On 21.01.2013 15:26, Jim Jagielski wrote: Disabling BalancerInherit is only needed when using the Balancer Manager and only if there are conflicts between a Balancer in the top-level server and a vhost. With BI On, if a balancer is defined at the top level, then vhosts A and B get their own individual copy. But when using the Balancer Manager, it may be difficult or impossible to affect change in the balancer you want. If you use BM to change the Balancer of the top-level server, those changes do not get applied to the vhosts that had inherited them when httpd was 1st started. This can be confusing. Understood and agreed. Having BI Off ensures that: 1. All Balancers must be explicitly defined for whatever vhosts are using them 2. All changes on those Balancers affect ONLY that specific server. I find it hard to really understand what's going on after applying the patch. Many configuration items are still inherited even with BI Off, but the underlying balancers and/or workers are no longer inherited. Examples are ProxyPass or Proxy. I am unsure what kind of behavior this could lead to. For example I tested: ProxyPass /p/ balancer://myvhost:8080/ Proxy balancer://myvhost:8080/ BalancerMember http://myvhost:8080/ /Proxy BalancerInherit Off VirtualHost *:8080 DocumentRoot htdocs/myvhost ServerName myvhost ErrorLog logs/myvhost-error_log CustomLog logs/myvhost-access_log common /VirtualHost In this case the ProxyPass rule is inherited from the global server to the VHost myvhost. When I access curl -D - http://myvhost:8080/p/ I get a status 500 error page. VHost error log contains: mod_proxy_balancer.c(73): canonicalising URL //loghost:8080/ proxy_util.c(1849): *: found reverse proxy worker for balancer://loghost/ mod_proxy.c(1081): AH01143: Running scheme balancer handler (attempt 0) mod_proxy_http.c(2173): AH01113: HTTP: declining URL balancer://loghost/ AH01144: No protocol handler was valid for the URL /p/. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule. It is unexpected that the rule gets inherited but the worker needed by the rule not. I understand the reservations of Graham about breaking configs, but i think the proposed implementation is harder to understand. I don't have a solution, but I don't feel comfortable with the current inherit proposal either. I'm very open for comments! Regards, Rainer
Re: svn commit: r1436396 - /httpd/httpd/branches/2.4.x/STATUS
No worries! Thx for the review! On Jan 21, 2013, at 1:35 PM, Daniel Ruggeri drugg...@primary.net wrote: On 1/21/2013 12:27 PM, Daniel Ruggeri wrote: Argh - saw this after the dev@ reply. Will mess with both patches together and report back. For now ignore my previous message :-) Aye - that did it! Sorry for the noise - was testing the two patches independently. -- Daniel Ruggeri