Segmentation Fault

2005-09-09 Thread Christian Klinger

Hello,

i have a big problem with Segmentation Fault which i can not debug.
I got this Segmentation Fault only in Safari or IE Browsers and not 
always only sometimes. This fact makes it hard for me to debug the error.


Here is my Server Configuration

Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7g mod_auth_tkt/2.0.0b5 
mod_perl/2.0.1 Perl/v5.8.6 configured -- resuming normal operations


This is the error_log message.
[Fri Sep 09 10:26:43 2005] [notice] child pid 18924 exit signal 
Segmentation fault (11)



Can you give me some tips for debugging this error?

cheers christian



Re: Problem with french accents using mod perl

2005-09-09 Thread Anthony Gardner
I've had a lot of experience with this.

You have to make sure the data coming into your
program is utf8.

Imagine trying to do a regex on your french chars. It
won't happen. That's why you have to have utf8 enable.

use utf8;

Have a look at perllocale. There's lots of info there.

The intermittent problems, try F5 (refresh) on the
broswer.

Also, if you are using a DB, do some tests. I use
MySQL and by default, it stores data as iso-8859 and
when I converted that data to utf8, the output was
worse. So, I just read the data direct from MySQL.

I've since upgraded to MySQL 4 and haven't had any
probs (touch wood). I haven't looked further into
though.

Also, if data is coming from files, look at using utf8
in the open command.

I hope this helps.

-Ants
--- Jonathan Vanasco <[EMAIL PROTECTED]>
wrote:

> Is there any difference in the document/headers
> themselves from when it 
> works, and when it doesn't?
> 
> 
> 
> On Sep 8, 2005, at 1:16 PM, Sebastien Pinsonnault
> wrote:
> 
> > Hello,
> >
> >  Yep we tried that for the addDefaultCharset but
> the issue still crept 
> > up...
> >
> >  That`s why it pretty much to try and find a
> needle in a haystack.
> >
> >  -Sebastien
> 
> 




___ 
To help you stay safe and secure online, we've developed the all new Yahoo! 
Security Centre. http://uk.security.yahoo.com


Re: Segmentation Fault

2005-09-09 Thread Philip M. Gollucci

Christian Klinger wrote:

Can you give me some tips for debugging this error?

You can attach gdb or ddd to the running httpd
see here:

http://httpd.apache.org/dev/debugging.html

and/or

You can use Apache::DB from CPAN
to get a PERL debugger for things under mod_perl.

See Apache::DB's documentation ...
I have a config handy so here it is:

in httpd.conf:
PerlRequire conf/db.pl
PerlModule Apache::DB

 SetHandler modperl
 PerlFixUpHandler Apache::DB



cat conf/db.pl
use APR::Pool ();
use Apache::DB ();
Apache::DB->init();

1;

If you can't figure it yourself, post a strack trace WITH debugging enabled to 
the list and we'll look again.

HTH


--
END

What doesn't kill us can only make us stronger.
Nothing is impossible.

Philip M. Gollucci ([EMAIL PROTECTED]) 301.254.5198
Consultant / http://p6m7g8.net/Resume/
Senior Developer / Liquidity Services, Inc.
  http://www.liquidityservicesinc.com
   http://www.liquidation.com
   http://www.uksurplus.com
   http://www.govliquidation.com
   http://www.gowholesale.com



Re: Segmentation Fault

2005-09-09 Thread Christian Klinger

Philip M. Gollucci wrote:

Christian Klinger wrote:


Can you give me some tips for debugging this error?


You can attach gdb or ddd to the running httpd
see here:

http://httpd.apache.org/dev/debugging.html

and/or

You can use Apache::DB from CPAN
to get a PERL debugger for things under mod_perl.

See Apache::DB's documentation ...
I have a config handy so here it is:

in httpd.conf:
PerlRequire conf/db.pl
PerlModule Apache::DB

 SetHandler modperl
 PerlFixUpHandler Apache::DB



cat conf/db.pl
use APR::Pool ();
use Apache::DB ();
Apache::DB->init();

1;

If you can't figure it yourself, post a strack trace WITH debugging 
enabled to the list and we'll look again.


HTH



Hello agin,

i have enabled your debugging.

Here is the scirpt which raises these error.
...
if ($f == 1)
   {
success($uid,$pw);
   }
else
   {
error_exit();
   }


sub error_exit
{
print STDERR "Exit to error Page \n";
#print 
$cgi->redirect('https://bgeextranet.cnbg.de/anmeldung/LoginErr.htm');

print $cgi->header(-location=>"https://192.168.2.11";);
print STDERR "Exit to error Page \n";
exit;
}


These are the last lines of the error_log

...
DB<1> CGI::self_or_default(/usr/lib/perl5/5.8.3/CGI.pm:433):
433:unless (defined($_[0]) &&
434:(ref($_[0]) eq 'CGI' || UNIVERSAL::isa($_[0],'CGI')) 
# slightly optimized for common case

435:) {
  DB<1> CGI::self_or_default(/usr/lib/perl5/5.8.3/CGI.pm:439):
439:return wantarray ? @_ : $Q;
  DB<1> CGI::cache((eval 18)[/usr/lib/perl5/5.8.3/CGI.pm:810]:3):
3:  $new_value = '' unless $new_value;
  DB<1> CGI::cache((eval 18)[/usr/lib/perl5/5.8.3/CGI.pm:810]:4):
4:  if ($new_value ne '') {
  DB<1> CGI::cache((eval 18)[/usr/lib/perl5/5.8.3/CGI.pm:810]:7):
7:  return $self->{'cache'};
  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:57):
57: push(@header,"Content-Disposition: attachment; 
filename=\"$attachment\"") if $attachment;

  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:58):
58: push(@header,map {ucfirst $_} @other);
  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:58):
58: push(@header,map {ucfirst $_} @other);
  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:59):
59: push(@header,"Content-Type: $type") if $type ne '';
  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:60):
60: my $header = join($CRLF,@header)."${CRLF}${CRLF}";
  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:61):
61: if ($MOD_PERL and not $nph) {
  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:62):
62: $self->r->send_cgi_header($header);
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:377):
377:  my $self = shift;
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:378):
378:  my $r = $self->{'.r'};
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:379):
379:  $self->{'.r'} = shift if @_;
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:380):
380:  $r;
  DB<1> .

###
I see in mod_forensic that these request is not "responded"

+6iY7e8CoAgsAACj3ST0E|POST /anmeldung/perl/bg30auth.pl 
HTTP/1.1|Accept:*/*|Accept-Language:de-de, ja;q=0.85, en;q=0.92, 
ja-jp;q=0.88, de;q=0.96, fr;q=0.81, es;q=0.77, it-it;q=0.73, it;q=0.69, 
nl-nl;q=0.65, nl;q=0.62, sv-se;q=0.58, sv;q=0.54, no-no;q=0.50, 
no;q=0.46, da-dk;q=0.42, da;q=0.38, fi-fi;q=0.35, 
fi;q=0.31|Accept-Encoding:gzip, deflate;q=1.0, identity;q=0.5, 
*;q=0|Referer:https%3a//192.168.2.11/anmeldung/Login.htm?back=https%253a%252f%252f192.168.2.11%252f|User-Agent:Mozilla/5.0 
(Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/125.2 (KHTML, like 
Gecko) 
Safari/125.7|Content-Type:application/x-www-form-urlencoded|Content-Length:8|Connection:close|Host:192.168.2.11





Re: Segmentation Fault

2005-09-09 Thread Philip M. Gollucci

Christian Klinger wrote:

These are the last lines of the error_log

...
DB<1> CGI::self_or_default(/usr/lib/perl5/5.8.3/CGI.pm:433):

Three questions / suggestions,

1) You said you were using perl 5.8.6.  Thats loading something installed into 
perl 5.8.3.  That could be.
2) What version of CGI.pm are yousing... If you're not using CGI.pm 3.11 
upgrade and try again.
3) If possibe upgrade PERL to perl 5.8.7 though thats likely not it.

Based on this part of it

  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:61):
61: if ($MOD_PERL and not $nph) {
  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:62):
62: $self->r->send_cgi_header($header);
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:377):
377:  my $self = shift;
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:378):
378:  my $r = $self->{'.r'};
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:379):
379:  $self->{'.r'} = shift if @_;
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:380):
380:  $r;
  DB<1> .

I'd be inclined to blame #2

  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:62):
62: $self->r->send_cgi_header($header);

is line 810 for you in CGI.pm 3.11 its 1450 or so... seems like you a really 
old one.

--
END

What doesn't kill us can only make us stronger.
Nothing is impossible.

Philip M. Gollucci ([EMAIL PROTECTED]) 301.254.5198
Consultant / http://p6m7g8.net/Resume/
Senior Developer / Liquidity Services, Inc.
  http://www.liquidityservicesinc.com
   http://www.liquidation.com
   http://www.uksurplus.com
   http://www.govliquidation.com
   http://www.gowholesale.com



Re: Segmentation Fault

2005-09-09 Thread Christian Klinger

Philip M. Gollucci wrote:

Christian Klinger wrote:


These are the last lines of the error_log

...
DB<1> CGI::self_or_default(/usr/lib/perl5/5.8.3/CGI.pm:433):


Three questions / suggestions,

1) You said you were using perl 5.8.6.  Thats loading something 
installed into perl 5.8.3.  That could be.


I´ve installed the newest mod_perl but i use the Perl-Package from
Suse-Linux ditribution.
2) What version of CGI.pm are yousing... If you're not using CGI.pm 3.11 
upgrade and try again.

In /usr/lib/perl5/5.8.3/CGI.pm i found these lines
$CGI::revision = '$Id: CGI.pm,v 1.185 2005/08/03 21:14:55 lstein Exp $';
$CGI::VERSION='3.11';


3) If possibe upgrade PERL to perl 5.8.7 though thats likely not it.


ok i will try to install the newest perl version.



Based on this part of it

  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:61):
61: if ($MOD_PERL and not $nph) {
  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:62):
62: $self->r->send_cgi_header($header);
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:377):
377:  my $self = shift;
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:378):
378:  my $r = $self->{'.r'};
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:379):
379:  $self->{'.r'} = shift if @_;
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:380):
380:  $r;
  DB<1> .

I'd be inclined to blame #2

  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:62):
62: $self->r->send_cgi_header($header);

is line 810 for you in CGI.pm 3.11 its 1450 or so... seems like you a 
really old one.




I think i have installed the newest CGI.pm.

thx christian



Re: Segmentation Fault

2005-09-09 Thread Christian Klinger

Philip M. Gollucci wrote:

Christian Klinger wrote:


These are the last lines of the error_log

...
DB<1> CGI::self_or_default(/usr/lib/perl5/5.8.3/CGI.pm:433):


Three questions / suggestions,

1) You said you were using perl 5.8.6.  Thats loading something 
installed into perl 5.8.3.  That could be.
2) What version of CGI.pm are yousing... If you're not using CGI.pm 3.11 
upgrade and try again.

3) If possibe upgrade PERL to perl 5.8.7 though thats likely not it.

Based on this part of it

  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:61):
61: if ($MOD_PERL and not $nph) {
  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:62):
62: $self->r->send_cgi_header($header);
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:377):
377:  my $self = shift;
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:378):
378:  my $r = $self->{'.r'};
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:379):
379:  $self->{'.r'} = shift if @_;
  DB<1> CGI::r(/usr/lib/perl5/5.8.3/CGI.pm:380):
380:  $r;
  DB<1> .

I'd be inclined to blame #2

  DB<1> CGI::header((eval 16)[/usr/lib/perl5/5.8.3/CGI.pm:810]:62):
62: $self->r->send_cgi_header($header);

is line 810 for you in CGI.pm 3.11 its 1450 or so... seems like you a 
really old one.



OK i have installed new perl version. The same Problem.
Is it possible that i dont exit correct from my perl script. And Apache 
lost his threads for every try to access the perl-script?


christian



Re: a faster html::template?

2005-09-09 Thread Foo Ji-Haw
Hello Perrin,

I meant the time it takes to render the output, as in calling
$template->output;

Thanks for your help anyway.

- Original Message - 
From: "Perrin Harkins" <[EMAIL PROTECTED]>
To: "Foo Ji-Haw" <[EMAIL PROTECTED]>
Cc: 
Sent: Tuesday, September 06, 2005 11:39 PM
Subject: Re: a faster html::template?


> On Fri, 2005-09-02 at 10:53 +0800, Foo Ji-Haw wrote:
> > I'm a happy user of HTML::Template on my mp2 setup. But when it comes
> > to performance, I notice that to populate a loop of some 1500 records,
> > the system takes 2-3 seconds on my P4 2GHz machine.
>
> Populating the loop happens before running HTML::Template.  Are you
> saying that your code to set up the data is too slow, or that running
> HTML::Template after setting up the data is too slow?
>
> > I tried to load the template with 'cache=>1', but the performance
> > improvement is not much.
>
> It makes a big difference in the actual template processing speed.  It
> will not make any difference in the speed of setting up your data
> though.
>
> - Perrin
>
>



mp2 - err_headers_out-

2005-09-09 Thread Udlei Nattis

Hi,

I porting my shared store to modperl2, but for redirect i have one problem:

[Thu Sep 08 16:50:08 2005] [notice] Apache/2.0.54 (Unix) mod_perl/2.0.1 
Perl/v5.8.4 configured -- resuming normal operations


---> [Thu Sep 08 16:50:09 2005] [error] [client 127.0.0.1] Can't locate 
object method "STORE" via package "APR::Table" at 
/export/Test/lib/Test.pm line 25.\n


I dont understand this problem

look my httpd.conf

PerlSwitches -I/export/Test/lib


SetHandler modperl
PerlResponseHandler Test
PerlOptions +GlobalRequest
PerlOptions +ParseHeaders


this ok

Test.pm

package Test;

use strict;
use warnings FATAL => 'all';

#use mod_perl;
use Apache2::RequestIO ();
use Apache2::RequestRec ();
use Apache2::Const -compile => qw(OK HTTP_MOVED_TEMPORARILY);

sub handler {
my $r = shift;

my $location = "http://demo.nixus.com.br";;
$r->err_headers_out->{'Pragma'} = "no-cache";

Apache2::Const::OK;

}

1;

Line with problem is: "$r->err_headers_out->{'Pragma'} = "no-cache";" or 
change Pragma to Location



Someone have ideia?

Sorry my english



--
Udlei Nattis
Gerente de tecnologia
--
www.nixus.com.br
+55 11 5087-9435


Re: a faster html::template?

2005-09-09 Thread Matt Sergeant

On 8 Sep 2005, at 14:18, Perrin Harkins wrote:


Not sure why you say "certainly not". XSLT is very fast and easy to
optimise (because it's assignment free) and the C implementations are
very quick. Remember that an XSLT transform is executing all its tight
loops in C-space, not in perl-space.


Yes, but HTML::Template doesn't do any parsing when executing a
template.  XSLT always has to parse XML, and then take some pains to
generate well-formed XML.  I admit that it's possible that an XML 
parser

could be written that is so fast that it actually beats the speed of
accessing variables in perl, but it seems very unlikely.


It depends what architecture you use. You have to compare 
like-with-like. XSP in AxKit is perl code that executes to build a DOM 
tree, not a XML string, so there's no parsing involved - it's just 
iterating over a data structure. And it's very fast.


To give a counter example using XML strings though, I produce the AxKit 
mailing list archives from a static XML file containing around 10k 
records. If I time this:


xsltproc --stringparam month 1 --stringparam year 2005 
../stylesheets/archive-pickmonth.xsl index.xml | xsltproc 
../stylesheets/archive-thread.xsl - | xsltproc 
../stylesheets/archive-gather-orphans.xsl - | xsltproc 
../stylesheets/archive-sort.xsl - | xsltproc 
../stylesheets/archive-display.xsl -


That's 5 XSLT stylesheets, which means parsing XML five times, and 
spawning 5 processes to do this. It executes in 0.75s on my server.


Now to achieve this you have to know how to use XSLT, including using 
things like keys() to get efficient indexing, but I think you can see 
that it's very quick indeed.


Matt.



Re: a faster html::template?

2005-09-09 Thread Perrin Harkins
On Fri, 2005-09-09 at 10:22 -0400, Matt Sergeant wrote:
> It depends what architecture you use. You have to compare 
> like-with-like. XSP in AxKit is perl code that executes to build a DOM 
> tree, not a XML string, so there's no parsing involved - it's just 
> iterating over a data structure. And it's very fast.

I didn't mean to say that XSLT is unusably slow, just that it's not
likely to be faster than something as simple as HTML::Template.

HTML::Template (or HTML::Template::JIT, to compare C code to C code) has
a *very* limited set of logical operations (not Turing complete by any
stretch) that operates directly on Perl variables.  By comparison, XSP
will be making method calls to use the DOM tree and supports a very rich
programming language.  It does much more, and that's why I expect it to
be slower.  Not slow -- just slower.

- Perrin



Re: a faster html::template?

2005-09-09 Thread Matt Sergeant

On 9 Sep 2005, at 12:12, Perrin Harkins wrote:

HTML::Template (or HTML::Template::JIT, to compare C code to C code) 
has

a *very* limited set of logical operations (not Turing complete by any
stretch) that operates directly on Perl variables.  By comparison, XSP
will be making method calls to use the DOM tree and supports a very 
rich

programming language.  It does much more, and that's why I expect it to
be slower.  Not slow -- just slower.


Yes I know that's what you're saying. I'm just saying I'd be willing to 
bet it's the other way around (even when compared with HT::JIT).




Re: a faster html::template?

2005-09-09 Thread Perrin Harkins
On Fri, 2005-09-09 at 14:38 -0400, Matt Sergeant wrote:
> Yes I know that's what you're saying. I'm just saying I'd be willing to 
> bet it's the other way around (even when compared with HT::JIT).

I'd wager a pint on this.  We could make it a lightning talk at next
year's YAPC::NA.

- Perrin



Re: a faster html::template?

2005-09-09 Thread Praveen Ray
Here is a very very simple script comparing three
approaches to build a large html table. I was surprised to
see TT2 being the fastest..run it yourself and see.
Note that XSLT timings include the time to build XML data
string since in real life all data comes from Relational 
Database that must be converted into XML string and parsed.

Of course, it tests only the Looping construct, not
INCLUDE/PROCESS and various other features.

START#
#!/usr/bin/perl
use strict;
use Time::HiRes qw(gettimeofday tv_interval);
use Data::Dumper;
use XML::LibXML;
use XML::LibXSLT;
use HTML::Template;
use Template;
use File::Temp qw(tmpnam);


my ($xslt_timer, $html_timer, $tt2_timer);
my ($xml_parser, $xsl_parser) = (XML::LibXML->new,
XML::LibXSLT->new);

my $big_array = build_big_array(5000);
my $xml_data = build_xml_data($big_array);
my $template_obj = build_html_template();
my $html3 = render_tt2($big_array);
my $xsl = build_xsl_processor();

my $html1 = render_html_template($template_obj,
$big_array);
my $html2 = render_xslt($xsl, $xml_data );

save_output($html1, $html2, $html3);
printparse_string ($str);
return $xsl_parser->parse_stylesheet($xsl);
}

sub build_html_template
{
my $tmpl = _read_chunk ('template');
return HTML::Template->new( scalarref => \$tmpl );
}

sub _read_chunk
{
my $starter = shift;
my ($running, $stop, $data) = (0,0);
while ()
{
next unless (/^\$$starter/ || $running);
$running = 1;
chomp;
s/^\s+//;
s/\s+$//;
next if /^\$$starter/;
$stop++ if length($_) == 0;
last if $stop == 2;
$data .= $_;
}
return $data;
}

sub render_html_template
{
my ($template_obj, $data) = @_;
my $t0 = [gettimeofday];
$template_obj->param(TR_LOOP => $data);
my $html= $template_obj->output;
$html_timer += tv_interval($t0, [gettimeofday]);
return $html;
}

sub render_xslt
{
my $xsl_proc = shift;
my $xml_dom = shift;
# timer starts here
my $t0 = [gettimeofday];
my $html =
$xsl_proc->output_string($xsl_proc->transform($xml_dom));
$xslt_timer += tv_interval($t0, [gettimeofday]);
return $html;
}

sub render_tt2
{
my ($data) = @_;
my $o_tt2 = Template->new({
ABSOLUTE => 1,
  });
my $templ = _read_chunk('tt_template');
my $filename =  tmpnam();
open (F, ">$filename");
print F $templ;
close F;

my $str;
$o_tt2->process($filename,{data => $data},\$str);

# need to process twice since first one would  not use
cached template
my $str_new;
my $t0 = [gettimeofday];
unless ($o_tt2->process($filename,{data =>
$data},\$str_new))
{
print STDERR "TT2 ERROR ",$o_tt2->error(),"\n";
}
$tt2_timer += tv_interval($t0);
unlink $filename;
return $str_new;
}

sub save_output
{
my ($h1, $h2, $h3) = @_;
open (F, ">html_template.html") ;
print F $h1,"\n" ;
close F;

open (F, ">html_xslt.html");
print F $h2,"\n" ;
close F;

open (F, ">html_tt2.html");
print F $h3,"\n" ;
close F;
}

__DATA__
$data=
{
 id => 100,
 p_name => 'JOHN',
 ap_time => '20050324 18-24-00',
 ap_tzr => 'US/Eastern',
 ap_tzra => 'EST',
 p_id => 109,
 ap_phone => '617 249 5000',
 ap => 'John Hopkins',
 ap_loc => 'Washington DC',
 ct_time => '20050405 10-32-00',
 ct_tzr => 'US/Pacific',
 ct_tzra => 'PST',
 count => 5,
}


$template=


IDPatient NameAppt TimeApp TimezoneTimezonePatient IDAppt PhoneAppt ProvAppt
LocationCall
TimeTimezoneTimezoneCount






















$tt_template=


IDPatient NameAppt TimeApp TimezoneTimezonePatient IDAppt PhoneAppt ProvAppt
LocationCall
TimeTimezoneTimezoneCount

[% FOREACH tr=data %]

[% tr.id %]
[% tr.p_name %]>
[% tr.ap_time %]
[% tr.ap_tzr %]
[% tr.ap_tzra %]
[% tr.p_id %]
[% tr.ap_phone %]
[% tr.ap %]
[% tr.ap_loc %]
[% tr.ct_time %]
[% tr.ct_tzr %]
[% tr.ct_tzra %]
[% tr.count %]

[% END %]




$xsl=

http://www.w3.org/1999/XSL/Transform";>






results_table
statstabledata sort-table



   
ID


   
Patient Name


   
Appt Time

 

Re: a faster html::template?

2005-09-09 Thread Michael Peters


Praveen Ray wrote:
> Here is a very very simple script comparing three
> approaches to build a large html table. 

would you mind sending this script as an attachment. Email clients tend
to garble...

Thanks

-- 
Michael Peters
Developer
Plus Three, LP



Re: a faster html::template?

2005-09-09 Thread Praveen Ray

--- Michael Peters <[EMAIL PROTECTED]> wrote:

> 
> 
> Praveen Ray wrote:
> > Here is a very very simple script comparing three
> > approaches to build a large html table. 
> 
> would you mind sending this script as an attachment.
> Email clients tend
> to garble...
> 
> Thanks
> 

Attached.


  - Praveen  

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

html_template.pl
Description: 1964327899-html_template.pl


Wrong effective gid

2005-09-09 Thread Jason Rhinelander

Hi,

I'm seeing some odd behaviour under mod_perl (specifically, 
ModPerl::Registry - though the problem may be broader than that) with 
regards to the effective group ID ($)).


I have a couple URL's below - an identical script, one served under CGI, 
 one served under ModPerl::Registry.  If you look at the Group ID 
values under the CGI one, you see the right value - 155 155 100 50. 
However, under mod_perl, I see real as being correct, but the first 
value of the effective group ID ($)) seems to be an abritrary number. 
I'm not certain where the number comes from, and it doesn't change when 
I make changes to the script or restart the server.  I also changed the 
script to use POSIX::getegid() to see if it was something to do with $), 
but it also returns the strange value.


Does anyone have any insight into this?

--
-- Jason Rhinelander


Re: Wrong effective gid

2005-09-09 Thread Jason Rhinelander

Oops, I forgot the URL's:

http://jagerman.com/env.cgi
http://jagerman.com/perl/env.cgi

Jason Rhinelander wrote:

Hi,

I'm seeing some odd behaviour under mod_perl (specifically, 
ModPerl::Registry - though the problem may be broader than that) with 
regards to the effective group ID ($)).


I have a couple URL's below - an identical script, one served under CGI, 
 one served under ModPerl::Registry.  If you look at the Group ID values 
under the CGI one, you see the right value - 155 155 100 50. However, 
under mod_perl, I see real as being correct, but the first value of the 
effective group ID ($)) seems to be an abritrary number. I'm not certain 
where the number comes from, and it doesn't change when I make changes 
to the script or restart the server.  I also changed the script to use 
POSIX::getegid() to see if it was something to do with $), but it also 
returns the strange value.


Does anyone have any insight into this?



--
-- Jason Rhinelander


Re: a faster html::template?

2005-09-09 Thread Matt Sergeant

On 9 Sep 2005, at 17:07, Praveen Ray wrote:


Here is a very very simple script comparing three
approaches to build a large html table. I was surprised to
see TT2 being the fastest..run it yourself and see.
Note that XSLT timings include the time to build XML data
string since in real life all data comes from Relational
Database that must be converted into XML string and parsed.


Not only that but your XSLT is very badly written. If I find time I'll 
send you a better version.




Re: a faster html::template?

2005-09-09 Thread Praveen Ray

> Not only that but your XSLT is very badly written. If I
> find time I'll 
> send you a better version.

please do. I'm no XSLT guru :( 





  - Praveen  




__
Click here to donate to the Hurricane Katrina relief effort.
http://store.yahoo.com/redcross-donate3/


Cannot build static mod_perl 2.0.1 / Apache 2.0.54 on Solaris 9

2005-09-09 Thread Michael FOURNEAU - Sun Proactive Services
Hi,

I'm not subscribed to this mailing list, so please respond to me... and
actually, I'm not a developer...

In order to install AxKit, since a few days, I'm still unsuccessfully
trying to configure mod_perl 2.0.1 with the following environment :

Solaris 9 (KJP 117171-17) / PERL 5.8.7 / Apache 2.0.54 /
make=/usr/ccs/bin/make

 * PERL was successfully built with the following options :

./configure -des -Dusethreads -Dcc="gcc -B /usr/ccs/bin"

 * Bundle::Apache2 was added within CPAN.

 * I tried to configure a static mod_perl in Apache with the following
options :

 perl Makefile.PL MP_USE_STATIC=1 \
  MP_AP_PREFIX=/usr/src/apache/httpd-2.0.54 \
  MP_AP_CONFIGURE="--with-mpm=prefork"

 * Although the previous command successfully ended, make ends with the
following messages :


   Perl_Tstack_max_ptr
/usr/share/src/mod_perl/mod_perl-2.0.1/src/modules/perl/mod_perl.a(modperl_callback.o)
   ld: fatal: Symbol referencing errors. No output written to .libs/httpd
   collect2: ld returned 1 exit status
   *** Error code 1
   make: Fatal error: Command failed for target `httpd'
   Current working directory /usr/share/src/apache/httpd-2.0.54
   *** Error code 1
   make: Fatal error: Command failed for target `all-recursive'
   Current working directory /usr/share/src/apache/httpd-2.0.54
   *** Error code 1
   make: Fatal error: Command failed for target `ap_build'


  Thru perl.apache.org and Google, I can't figure out what those
messages mean...


 * Apache 2.0.54 alone can successfully install with the following option :

./configure --with-mpm=prefork


I can't find any further references to help me on this. Any idea about
what could be wrong ?

Thanks beforehand,
Michael



= Apache 2.0.54 configuration options =

# ./httpd -V
Server version: Apache/2.0.54
Server built:   Sep  8 2005 23:10:28
Server's Module Magic Number: 20020903:9
Architecture:   32-bit
Server compiled with
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_FCNTL_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/usr/local/apache2"
 -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"



= PERL 5.8.7 configuration options =

# perl -V
Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
  Platform:
osname=solaris, osvers=2.9, archname=sun4-solaris-thread-multi
uname='sunos proactive 5.9 generic_117171-17 sun4u sparc
sunw,ultra-enterprise '
config_args='-des -Dusethreads -Dcc=gcc -B /usr/ccs/bin'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
  Compiler:
cc='gcc -B /usr/ccs/bin', ccflags ='-D_REENTRANT
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
optimize='-O',
cppflags='-D_REENTRANT -fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='3.3.2', gccosandvers='solaris2.9'
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
  Linker and Libraries:
ld='gcc -B /usr/ccs/bin', ldflags =' -L/usr/local/lib '
libpth=/usr/local/lib /usr/lib /usr/ccs/lib
libs=-lsocket -lnsl -lgdbm -ldb -ldl -lm -lpthread -lc
perllibs=-lsocket -lnsl -ldl -lm -lpthread -lc
libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version=''
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
  Built under solaris
  Compiled at Sep  8 2005 19:05:09
  @INC:
/usr/local/lib/perl5/5.8.7/sun4-solaris-thread-multi
/usr/local/lib/perl5/5.8.7
/usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris-thread-multi
/usr/local/lib/perl5/site_perl/5.8.7
/usr/local/lib/perl5/site_perl/5.8.5
/usr/local/lib/perl5/site_perl/5.6.1
/usr/local/lib/perl5/site_perl



--