[Zope] ZServer *still* dying - help?

Chris McDonough chrism@digicool.com
Thu, 5 Apr 2001 14:50:11 -0400


Thank you very much for your work on packaging this up.  But... I thought it
happened without postgres and that it was a property of calling a DTML
method from a python script with a lot of arguments?

A very simple example without postgres would be way better, even if it's
just, "here's two methods, type them in, view one, and keep clicking refresh
really fast".  If it's a bug in Zope, and it's reproducible I'll try to fix
it.  If it's a bug in the postgres DA, I'd like to try, but I can't really
spend much time on it.  As well, the maintainer of the DA should be
involved.

If you can't send something that doesn't involve the DA, I understand... but
I won't be able to do much with it today.

Tks!

- C

----- Original Message -----
From: "Mayers, Philip J" <p.mayers@ic.ac.uk>
To: "'Chris McDonough'" <chrism@digicool.com>; "Thomas B. Passin"
<tpassin@mitretek.org>; <zope@zope.org>
Sent: Thursday, April 05, 2001 2:40 PM
Subject: RE: [Zope] ZServer *still* dying - help?


> Ok, I've got a "fails reliably once every few (>15) request" still held
over
> from the last person I sent it to - it *still* fails on Zope 2.3.1, I've
got
> a zexp and the full instructions:
>
> Ok, the zexp should be accessible from:
>
> http://blacklotus.cc.ic.ac.uk/~pjm3/bug.zexp
>
> You'll need Psycopg installed and a Postgresql server. I used
> psycopg-0.4.6.tar.gz, available from:
>
> http://blacklotus.cc.ic.ac.uk/~pjm3/psycopg-0.4.6.tar.gz (note - same
> results with 0.5.1)
>
> If you can't get a Postgresql server, let me know and you can point it at
> mine (I'll need to know the subnet(s) you'll be coming from). The
following
> should create everything needed to repro the bug:
>
> CREATE TABLE machine (
> machineid text,
> owner text NOT NULL,
> ownerdept text NOT NULL,
> owneremail text NOT NULL,
> ownertel text,
> machinetype text,
> machineos text,
> machineserialno text,
> location text NOT NULL,
> comment text,
> updatedby text,
> updatedat timestamp,
> PRIMARY KEY (machineid)
> );
>
> insert into machine (machineid, owner, ownerdept, owneremail, ownertel,
> machinetype, machineos, machineserialno, location, comment, updatedby,
> updatedat) values ('wildfire.net.ic.ac.uk', 'Phil Mayers', '410 Mech Eng',
> 'p.mayers@ic.ac.uk', '46973', 'PC NT / Linux',  '410 Mech Eng',  'batch',
> now())
>
> Import the ZEXP, then try getting:
>
> http://zope.server:port/showmachine_html
>
> Very quickly, possibly using the script I posted yesterday:
>
> http://blacklotus.cc.ic.ac.uk/~pjm3/floodget.py
>
> Usage: floodget.py server:port /url/file?argument1=value1 username
password
> number_of_threads
> So: floodget.py server.com:8080 /showmachine_html username pass 100
>
> I use either 100 or 1000 threads. All should be well. Now try:
>
> http://zope.server:port/showmachine_html?machineid=wildfire.net.ic.ac.uk
>
> I get failures and the child threads dying quickly with only 5-25 threads.
>
> Regards,
> Phil
>
> +----------------------------------+
> | Phil Mayers, Network Support     |
> | Centre for Computing Services    |
> | Imperial College                 |
> +----------------------------------+
>
> -----Original Message-----
> From: Chris McDonough [mailto:chrism@digicool.com]
> Sent: 05 April 2001 18:06
> To: Chris McDonough; Thomas B. Passin; zope@zope.org
> Subject: Re: [Zope] ZServer *still* dying - help?
>
>
> Wait, no I *didnt* write a unit test for this.  Sorry!  I wrote a unit
test
> that sends lots of named parameters to a python script, not a dtml
method...
>
> If you can boil this down to an always-fails case we can fix it.
>
> ----- Original Message -----
> From: "Chris McDonough" <chrism@digicool.com>
> To: "Thomas B. Passin" <tpassin@mitretek.org>; <zope@zope.org>
> Sent: Thursday, April 05, 2001 12:56 PM
> Subject: Re: [Zope] ZServer *still* dying - help?
>
>
> > It still shouldn't be crashing.
> >
> > I wrote a unit test for this!!  (testParam26 in the test suite) ;-)
> Wonder
> > if it passes... it does.  Darn.
> >
> > What Zope version is this?
> >
> > ----- Original Message -----
> > From: "Thomas B. Passin" <tpassin@mitretek.org>
> > To: <zope@zope.org>
> > Sent: Thursday, April 05, 2001 12:49 PM
> > Subject: Re: [Zope] ZServer *still* dying - help?
> >
> >
> > > I don't know what's happening, but what about attaching the params to
> the
> > > REQUEST, then you don't have to send them separately.  Of course,
you'd
> > have
> > > to rewrite show_html a bit, but it shouldn't take much doing.
> > >
> > > Then you would write things like
> > > ...
> > > <dtml-call "REQUEST.set('param1',m.param1)">
> > > ...
> > >  print container.machine.show_html(context,REQUEST)
> > >
> > > Or make the separate params into a single python list and pass the
list:
> > >
> > > params=[m.param1,m.param2,...]
> > > print container.machine.show_html(context,REQUEST,params)
> > >
> > > Cheers,
> > >
> > > Tom P
> > >
> > > Mayers, Philip J asked -
> > >
> > > >
> > > > What's happening - I have a PythonScript that does this:
> > > >
> > > > m = container.machine.SQL_get(machineid=machineid)[0]
> > > > print container.machine.show_html(context,REQUEST,
> > > >                                   param1=m.param1,
> > > >                                   param2=m.param2,
> > > >                                   param3=m.param3,
> > > >                                   param4=m.param4,
> > > >                                   param5=m.param5,
> > > >                                   param6=m.param6,
> > > >                                   param7=m.param7,
> > > >                                   param8=m.param8,
> > > >                                   param9=m.param9,
> > > >                                   param0=m.param0)
> > > > return printed
> > > >
> > > > show_html is a DTML document. When called at "high" speed (2-3 times
a
> > > > second) by URL traversal (i.e. GETing
> > > > http://site.name/Zope/path/pythonscript?machineid=whatever) this
> causes
> > > > either (in order of likelihood):
> > > >  ...
> > >
> > > > *But*, if I reduce the number of named parameters to the DTML method
> > (when
> > > > of course it doesn't render properly) then everything's OK. The
> current
> > > code
> > > > dies if there are >8 named parameters. But it seems to vary. I
thought
> > > that
> > > > the parameters had to be records from an SQL query, but now I'm not
so
> > > sure.
> > > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Zope maillist  -  Zope@zope.org
> > > http://lists.zope.org/mailman/listinfo/zope
> > > **   No cross posts or HTML encoding!  **
> > > (Related lists -
> > >  http://lists.zope.org/mailman/listinfo/zope-announce
> > >  http://lists.zope.org/mailman/listinfo/zope-dev )
> > >
> >
> >
> > _______________________________________________
> > Zope maillist  -  Zope@zope.org
> > http://lists.zope.org/mailman/listinfo/zope
> > **   No cross posts or HTML encoding!  **
> > (Related lists -
> >  http://lists.zope.org/mailman/listinfo/zope-announce
> >  http://lists.zope.org/mailman/listinfo/zope-dev )
> >
>
>
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )
>