I have integrity installed on my local machine. It's running on
passenger on apache. My build is taking quite a long time to complete
and integrity always crashes in the middle. Not sure if the long time
is the cause, but I did some experiments, and when I replace the build
task with something that takes just short time (like empty task), then
the "build" works. But when I put there something like this:
task :build
sleep 600
end
then it crashes again. So I suspect some timeout issue.
Anyway, the browser gives me 500 with message "Premature end of script
headers: foo" (foo is a name of the project). Integrity log contains
nothing, Apache error log contains this:
[Tue Jun 30 15:14:34 2009] [error] [client 127.0.0.1] Premature end of
script headers: foo, referer: http://integrity.dev/foo [ pid=11005 file=ext/apache2/Hooks.cpp:645 time=2009-06-30
15:14:34.669 ]:
The backend application (process 13975) did not send a valid HTTP
response; instead, it sent nothing at all. It is possible that it has
crashed; please check whether there are crashing bugs in this
application.
127.0.0.1 - - [30/Jun/2009 15:15:30] "POST /foo/builds " 302 -
355.9840
*** Exception Errno::EPIPE in Passenger RequestHandler (Broken pipe)
(process 13975):
from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/rack/request_handler.rb:93:in `write'
from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/rack/request_handler.rb:93:in `process_request'
from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_request_handler.rb:206:in `main_loop'
from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/rack/application_spawner.rb:118:in `run'
from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/rack/application_spawner.rb:69:in
`spawn_application'
from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/utils.rb:182:in `safe_fork'
from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/rack/application_spawner.rb:62:in
`spawn_application'
from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/rack/application_spawner.rb:45:in
`spawn_application'
from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/spawn_manager.rb:158:in `spawn_application'
from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/spawn_manager.rb:286:in `handle_spawn_application'
from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_server.rb:351:in `__send__'
from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_server.rb:351:in `main_loop'
from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/
phusion_passenger/abstract_server.rb:195:in `start_synchronously'
from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/bin/passenger-
spawn-server:61
I'm using passenger 2.2.4 and integrity 0.1.10 (the gem called just
"integrity", not "integrity-integrity" or "whatever-integrity").
So, does any of you guys have a clue what might be wrong?
On Tue, Jun 30, 2009 at 3:33 PM, Adam Cigánek<adam.ciga...@gmail.com> wrote:
> Hello,
> I have integrity installed on my local machine. It's running on > passenger on apache. My build is taking quite a long time to complete > and integrity always crashes in the middle. Not sure if the long time > is the cause, but I did some experiments, and when I replace the build > task with something that takes just short time (like empty task), then > the "build" works. But when I put there something like this:
> task :build > sleep 600 > end
> then it crashes again. So I suspect some timeout issue.
> Anyway, the browser gives me 500 with message "Premature end of script > headers: foo" (foo is a name of the project). Integrity log contains > nothing, Apache error log contains this:
Integrity currently doesn't defer builds, which means it doesn't send any response until the build has finished. We're aware that this sucks big times and it has in fact been a milestone since basically day one (~one year ago). It's now finally getting there although not yet released; that is in master branch of git://github.com/integrity/integrity only for now. You could try to build a gem but I think the gemspec isn't up to date - I'll check tomorrow. Anyway, feel free to join #integrity on freenode if you need any help.
Thanks for answer. Deferred build would be cool, definitely. But one
thing is that the app does not respond until the build is finished
(which is acceptable for me for now), but another is, that it's
crashing. Have any of you guys ever hit this problem? However, it
almost looks like it could be a passenger problem. I'll better go
whine on their forum...
> On Tue, Jun 30, 2009 at 3:33 PM, Adam Cigánek<adam.ciga...@gmail.com> wrote:
>> Hello,
>> I have integrity installed on my local machine. It's running on
>> passenger on apache. My build is taking quite a long time to complete
>> and integrity always crashes in the middle. Not sure if the long time
>> is the cause, but I did some experiments, and when I replace the build
>> task with something that takes just short time (like empty task), then
>> the "build" works. But when I put there something like this:
>> task :build
>> sleep 600
>> end
>> then it crashes again. So I suspect some timeout issue.
>> Anyway, the browser gives me 500 with message "Premature end of script
>> headers: foo" (foo is a name of the project). Integrity log contains
>> nothing, Apache error log contains this:
> Integrity currently doesn't defer builds, which means it doesn't send
> any response
> until the build has finished. We're aware that this sucks big times
> and it has in fact
> been a milestone since basically day one (~one year ago). It's now
> finally getting there
> although not yet released; that is in master branch of
> git://github.com/integrity/integrity
> only for now. You could try to build a gem but I think the gemspec
> isn't up to date -
> I'll check tomorrow. Anyway, feel free to join #integrity on freenode
> if you need any help.
Ok, problem solved (or rather, worked around). I just increased
Apache's Timeout directive to insanely hight value and now everything
works. I'm staying tuned for the deferred builds feature though...
> On Tue, Jun 30, 2009 at 3:33 PM, Adam Cigánek<adam.ciga...@gmail.com> wrote:
>> Hello,
>> I have integrity installed on my local machine. It's running on
>> passenger on apache. My build is taking quite a long time to complete
>> and integrity always crashes in the middle. Not sure if the long time
>> is the cause, but I did some experiments, and when I replace the build
>> task with something that takes just short time (like empty task), then
>> the "build" works. But when I put there something like this:
>> task :build
>> sleep 600
>> end
>> then it crashes again. So I suspect some timeout issue.
>> Anyway, the browser gives me 500 with message "Premature end of script
>> headers: foo" (foo is a name of the project). Integrity log contains
>> nothing, Apache error log contains this:
> Integrity currently doesn't defer builds, which means it doesn't send
> any response
> until the build has finished. We're aware that this sucks big times
> and it has in fact
> been a milestone since basically day one (~one year ago). It's now
> finally getting there
> although not yet released; that is in master branch of
> git://github.com/integrity/integrity
> only for now. You could try to build a gem but I think the gemspec
> isn't up to date -
> I'll check tomorrow. Anyway, feel free to join #integrity on freenode
> if you need any help.