[OGo-Developer] Bugs in mod_ngobjweb
Stéphane Corthésy
developer@opengroupware.org
Thu, 27 Mar 2008 14:58:14 +0100
Hi,
On Mar 27, 2008, at 12:11 PM, Helge Hess wrote:
> On 27.03.2008, at 11:16, Stéphane Corthésy wrote:
>> I'm getting more and more confused :-(
>
> Sorry :-)
>
>>> Sure it does (and its used that way a lot in OGo, not exactly
>>> sure why you are experiencing issues).
>> OK, so that's good news.
>> Precisely, I used WOFileUpload, and mod_ngobjweb on apache 2.2.6/
>> OSX 10.5.2 Server.
>
> How did you get mod_ngobjweb to compile on 10.5.x? I didn't manage
> that :-/
Here's our mod_ngobjweb/GNUmakefile (we build mod_ngobjweb from
command-line, with a simple 'make'; building from Xcode doesn't work,
for some reason):
http://www.sente.ch/pub/beta/mod_ngobjweb/GNUmakefile
> Maybe your problems are due to an 64bit issue? Might be possible
> that mod_ngobjweb has bugs here.
That could be, right, as Sebastian might have the same problems on a
x86_64.
>> Most of the time users can't upload files with Safari; repeating
>> the operation with the same file always fails: Safari sends file,
>> and waits forever.
>> I noticed the httpd crashed sometimes, in mod_ngobjweb code, or,
>> worse, becomes completely crazy and eats all memory and CPU!
>
> I've never seen that behaviour. Maybe Safari does HTTP pipelining
> or something like that, which in turn might confuse Apache/
> mod_ngobjweb. 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 app blocks on IO while the file is being uploaded. But maybe
> thats not a big problem for your app (certainly better than not-
> working-at-all ;-).
In our case it's not a problem to block the app during upload; I'm
gonna try the mod_proxy, thanks.
>> Hhm, well... Any clue on what's wrong with the module?
>>
>> Here's the latest crash (this morning); module had the fixes I
>> sent you.
>>
>> Thread 0 Crashed:
>> 0 libaprutil-1.0.dylib 0x00069218
>> apr_brigade_create + 42
>> 1 httpd 0x0002dcdd
>> ap_get_client_block + 98
>> 2 mod_ngobjweb.so 0x003b1a77
>> _readRequestBody + 269
>
> My best guess is 64bit issue or some 10.5.x incompatibility. Or
> some Apache 2.2 incompat. Don't know.
>
> Maybe you should just go for mod_proxy in this kind of setup (thats =
> what I use for 10.5 development too). Drop mod_ngobjweb from your
> Apache configuration, add mod_proxy and use the config section I
> showed in one of the previous mails.
>
> Greets,
> Helge
>
> PS: the real solution would be to write a threaded/nio
> WOHttpAdaptor. Thats what WebObjects did too (request processing
> would be done multithreaded, but -dispatchRequest: would still be
> single threaded).
What about using Apple's adaptor? (and later, the monitor - rewritten
in ObjC - as it is opensource now)
Thanks!
Stéphane
> --
> Helge Hess
> http://www.helgehess.eu/--
> OpenGroupware.org Developer
> developer@opengroupware.org
> http://mail.opengroupware.org/mailman/listinfo/developer