Hang after upgrade to 1.1RC1 and Edge

The same application, working fine under 1.0, but after upgrade to
1.1RC1 (include edge Rails 4021) the cpu keeps spinning (took 85%) and
the rest was taken by Postgresql. Looks like Rails keep sending sql
statement to the database.

I did a strace and following messages repeat:

send(8, “Q\0\0\0\nBEGIN\0”, 11, 0) = 11
rt_sigaction(SIGPIPE, {0xb7ec06bc, [], SA_RESTART}, {SIG_IGN}, 8) = 0
poll([{fd=8, events=POLLIN|POLLERR, revents=POLLIN}], 1, -1) = 1
recv(8, “C\0\0\0\nBEGIN\0Z\0\0\0\5T”, 16384, 0) = 17
rt_sigaction(SIGPIPE, {SIG_IGN}, {0xb7ec06bc, [], SA_RESTART}, 8) = 0
send(8, “Q\0\0\0\vCOMMIT\0”, 12, 0) = 12
rt_sigaction(SIGPIPE, {0xb7ec06bc, [], SA_RESTART}, {SIG_IGN}, 8) = 0
poll([{fd=8, events=POLLIN|POLLERR, revents=POLLIN}], 1, -1) = 1
recv(8, “C\0\0\0\vCOMMIT\0Z\0\0\0\5I”, 16384, 0) = 18
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
rt_sigaction(SIGTERM, {SIG_IGN}, {0xb7ec0605, [], SA_RESTART}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
rt_sigaction(SIGTERM, {0xb7ec0605, [], SA_RESTART}, {SIG_IGN}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {0xb7ec06bc, [], SA_RESTART}, 8) = 0

I don’t know which part of Rails is sending the BEGIN/COMMIT, since
it’s hang, no message was written to development log.

When I downgrade to 1.0, everything backs to normal.

How can I narrow down the problem?

My env is:
Linux CentOS 4.2
Ruby 1.8.4 (ruby-1.8.4-1.fc3)
PostgreSQL 8.1.2 + gem postgres 0.7.1
Rails Rev.4021
(no plugin)

I can reproduce the same behavior on two different servers(all CentOS,
pgsql 8.1.2, ruby 1.8.4). I use Apache+SCGI but it hangs against
Webrick too. Anybody with similar setup has a success of upgrade?

Thanks,
Kevin

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs