[OGo-Developer] Bugs in mod_ngobjweb
Helge Hess
developer@opengroupware.org
Thu, 27 Mar 2008 12:11:22 +0100
On 27.03.2008, at 11:16, St=E9phane Corth=E9sy wrote:
> I'm getting more and more confused :-(
Sorry :-)
>> Sure it does (and its used that way a lot in OGo, not exactly sure =20=
>> why you are experiencing issues).
> OK, so that's good news.
> Precisely, I used WOFileUpload, and mod_ngobjweb on apache 2.2.6/OSX =20=
> 10.5.2 Server.
How did you get mod_ngobjweb to compile on 10.5.x? I didn't manage =20
that :-/
Maybe your problems are due to an 64bit issue? Might be possible that =20=
mod_ngobjweb has bugs here.
> Most of the time users can't upload files with Safari; repeating the =20=
> operation with the same file always fails: Safari sends file, and =20
> waits forever.
> I noticed the httpd crashed sometimes, in mod_ngobjweb code, or, =20
> worse, becomes completely crazy and eats all memory and CPU!
I've never seen that behaviour. Maybe Safari does HTTP pipelining or =20
something like that, which in turn might confuse Apache/mod_ngobjweb. =20=
No idea, really.
> Question is: would it work to use mod_proxy?
Yes, it should work with mod_proxy. Its has the disadvantage that your =20=
app blocks on IO while the file is being uploaded. But maybe thats not =20=
a big problem for your app (certainly better than not-working-at-=20
all ;-).
> Hhm, well... Any clue on what's wrong with the module?
>
> Here's the latest crash (this morning); module had the fixes I sent =20=
> you.
>
> Thread 0 Crashed:
> 0 libaprutil-1.0.dylib 0x00069218 =20
> apr_brigade_create + 42
> 1 httpd 0x0002dcdd =20
> ap_get_client_block + 98
> 2 mod_ngobjweb.so 0x003b1a77 _readRequestBody =20=
> + 269
My best guess is 64bit issue or some 10.5.x incompatibility. Or some =20
Apache 2.2 incompat. Don't know.
Maybe you should just go for mod_proxy in this kind of setup (thats =20
what I use for 10.5 development too). Drop mod_ngobjweb from your =20
Apache configuration, add mod_proxy and use the config section I =20
showed in one of the previous mails.
Greets,
Helge
PS: the real solution would be to write a threaded/nio WOHttpAdaptor. =20=
Thats what WebObjects did too (request processing would be done =20
multithreaded, but -dispatchRequest: would still be single threaded).
--=20
Helge Hess
http://www.helgehess.eu/=