[opensuse-buildservice] openSUSE Webclient Error: "Interrupted system call"
hi, everyone I've a problem on webui, after i setup my local obs server. Use the webui to connect obs-server, have following errors : ------------------------------ openSUSE Webclient Error: Error Details: Errorcode: unknown Message: Interrupted system call ================================= My step is: 1. Set up obs-server 1.7b2, use webui to connect server 2. after several times clicked, the webui must have above error. 3. restart lighttpd , and after several times clicked, the webui have above error also. But the following setps I've tested,but the problem is remain: 1. use the webclient which belong 1.6 version of obs-server, connect the 1.7 version obs obs-server, have nothing errors! 2. test the 1.7b3 3. test install a new enviroment 1.7b3,and start webui only, connect to my obs server. The more log in /srv/www/obs/webui/log/production.log : -------------------------- [D|# 8357] http_do #1: method: get url: http://api.localdomain:80/status/workerstatus [E|# 8357] --> caught Errno::EINTR: Interrupted system call, retrying with new HTTP connection [D|# 8357] http_do #2: method: get url: http://api.localdomain:80/status/workerstatus [E|# 8357] --> caught Errno::EINTR: Interrupted system call, retrying with new HTTP connection [D|# 8357] http_do #3: method: get url: http://api.localdomain:80/status/workerstatus [E|# 8357] --> caught Errno::EINTR: Interrupted system call, retrying with new HTTP connection [D|# 8357] http_do #4: method: get url: http://api.localdomain:80/status/workerstatus [E|# 8357] --> caught Errno::EINTR: Interrupted system call, retrying with new HTTP connection [D|# 8357] http_do #5: method: get url: http://api.localdomain:80/status/workerstatus [D|# 8357] Request took 0.010905 seconds [F|# 8357] Errno::EINTR (Interrupted system call): /usr/lib/ruby/1.8/net/protocol.rb:133:in `sysread' /usr/lib/ruby/1.8/net/protocol.rb:133:in `rbuf_fill' /usr/lib/ruby/1.8/timeout.rb:53:in `timeout' /usr/lib/ruby/1.8/timeout.rb:93:in `timeout' /usr/lib/ruby/1.8/net/protocol.rb:132:in `rbuf_fill' /usr/lib/ruby/1.8/net/protocol.rb:116:in `readuntil' /usr/lib/ruby/1.8/net/protocol.rb:126:in `readline' /usr/lib/ruby/1.8/net/http.rb:2020:in `read_status_line' /usr/lib/ruby/1.8/net/http.rb:2009:in `read_new' /usr/lib/ruby/1.8/net/http.rb:1050:in `request' /usr/lib/ruby/1.8/net/http.rb:772:in `get' lib/common/activexml/transport.rb:496:in `http_do' lib/common/activexml/transport.rb:339:in `find' lib/common/activexml/base.rb:73:in `find' app/controllers/monitor_controller.rb:17:in `index' /srv/www/obs/webui/public/dispatch.fcgi:24 [E|# 8357] rescue_action: caught Errno::EINTR: Interrupted system call [E|# 8357] Couldn't parse error xml: uninitialized constant REXML::Document [D|# 8357] ERROR: unknown; Interrupted system call [I|# 8357] Rendering template within layouts/application [I|# 8357] Rendering error ==================================== thanks,all ---- Jian Lee [ http://jianlee.ylinux.org ] -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
hi, everybody I thought I've found this bug, after some click, the value of @http.read_timeout is null, so the error would be happen. In the line 487 of /srv/www/obs/common/lib/activexml/transport.rb, @http.read_timeout would get value from opt[:timeout], after i set it to a fixed value ,60 : ------------------------ 481 if not @http 482 @http = Net::HTTP.new(url.host, url.port) 483 # FIXME: we should get the protocol here instead of depending on the port 484 @http.use_ssl = true if url.port == 443 485 @http.start 486 end 487 #@http.read_timeout = opt[:timeout] 488 @http.read_timeout = 60 489 490 path = url.path 491 path += "?" + url.query if url.query 492 logger.debug "http_do ##{retries}: (read_timeout: #{@http.read_timeout}) (method: #{method}) (url: " + 493 "http#{"s" if @http.use_ssl}://#{url.host}:#{url.port}#{path})" ================================================== Now, bug is disappear. I've not much knowledge about ruby, so need your to help me to tracking the opt[:timeout], why it have a null value after some times access on my obs server. Thanks, all Jian Lee <lijian.gnu@gmail.com> write:
hi, everyone
I've a problem on webui, after i setup my local obs server. Use the webui to connect obs-server, have following errors :
------------------------------ openSUSE Webclient Error:
Error Details: Errorcode: unknown Message: Interrupted system call =================================
My step is:
1. Set up obs-server 1.7b2, use webui to connect server
2. after several times clicked, the webui must have above error.
3. restart lighttpd , and after several times clicked, the webui have above error also.
But the following setps I've tested,but the problem is remain:
1. use the webclient which belong 1.6 version of obs-server, connect the 1.7 version obs obs-server, have nothing errors!
2. test the 1.7b3
3. test install a new enviroment 1.7b3,and start webui only, connect to my obs server.
The more log in /srv/www/obs/webui/log/production.log :
-------------------------- [D|# 8357] http_do #1: method: get url: http://api.localdomain:80/status/workerstatus [E|# 8357] --> caught Errno::EINTR: Interrupted system call, retrying with new HTTP connection [D|# 8357] http_do #2: method: get url: http://api.localdomain:80/status/workerstatus [E|# 8357] --> caught Errno::EINTR: Interrupted system call, retrying with new HTTP connection [D|# 8357] http_do #3: method: get url: http://api.localdomain:80/status/workerstatus [E|# 8357] --> caught Errno::EINTR: Interrupted system call, retrying with new HTTP connection [D|# 8357] http_do #4: method: get url: http://api.localdomain:80/status/workerstatus [E|# 8357] --> caught Errno::EINTR: Interrupted system call, retrying with new HTTP connection [D|# 8357] http_do #5: method: get url: http://api.localdomain:80/status/workerstatus [D|# 8357] Request took 0.010905 seconds [F|# 8357] Errno::EINTR (Interrupted system call): /usr/lib/ruby/1.8/net/protocol.rb:133:in `sysread' /usr/lib/ruby/1.8/net/protocol.rb:133:in `rbuf_fill' /usr/lib/ruby/1.8/timeout.rb:53:in `timeout' /usr/lib/ruby/1.8/timeout.rb:93:in `timeout' /usr/lib/ruby/1.8/net/protocol.rb:132:in `rbuf_fill' /usr/lib/ruby/1.8/net/protocol.rb:116:in `readuntil' /usr/lib/ruby/1.8/net/protocol.rb:126:in `readline' /usr/lib/ruby/1.8/net/http.rb:2020:in `read_status_line' /usr/lib/ruby/1.8/net/http.rb:2009:in `read_new' /usr/lib/ruby/1.8/net/http.rb:1050:in `request' /usr/lib/ruby/1.8/net/http.rb:772:in `get' lib/common/activexml/transport.rb:496:in `http_do' lib/common/activexml/transport.rb:339:in `find' lib/common/activexml/base.rb:73:in `find' app/controllers/monitor_controller.rb:17:in `index' /srv/www/obs/webui/public/dispatch.fcgi:24
[E|# 8357] rescue_action: caught Errno::EINTR: Interrupted system call [E|# 8357] Couldn't parse error xml: uninitialized constant REXML::Document [D|# 8357] ERROR: unknown; Interrupted system call [I|# 8357] Rendering template within layouts/application [I|# 8357] Rendering error ====================================
thanks,all
----
Jian Lee [ http://jianlee.ylinux.org ]
---- Jian Lee [ http://jianlee.ylinux.org ] -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
hi,all can't set @http.read_timeout to 60 directly, if the opt[:timeout] is not a null value, use it: ---------------------------------- 487 if opt[:timeout] 488 @http.read_timeout = opt[:timeout] 489 else 490 @http.read_timeout = 60 491 end ========================================= Thanks,all Jian Lee <lijian.gnu@gmail.com> write:
hi, everybody
I thought I've found this bug, after some click, the value of @http.read_timeout is null, so the error would be happen.
In the line 487 of /srv/www/obs/common/lib/activexml/transport.rb, @http.read_timeout would get value from opt[:timeout], after i set it to a fixed value ,60 :
------------------------ 481 if not @http 482 @http = Net::HTTP.new(url.host, url.port) 483 # FIXME: we should get the protocol here instead of depending on the port 484 @http.use_ssl = true if url.port == 443 485 @http.start 486 end 487 #@http.read_timeout = opt[:timeout] 488 @http.read_timeout = 60 489 490 path = url.path 491 path += "?" + url.query if url.query 492 logger.debug "http_do ##{retries}: (read_timeout: #{@http.read_timeout}) (method: #{method}) (url: " + 493 "http#{"s" if @http.use_ssl}://#{url.host}:#{url.port}#{path})" ==================================================
Now, bug is disappear.
I've not much knowledge about ruby, so need your to help me to tracking the opt[:timeout], why it have a null value after some times access on my obs server.
Thanks, all
Jian Lee <lijian.gnu@gmail.com> write:
hi, everyone
I've a problem on webui, after i setup my local obs server. Use the webui to connect obs-server, have following errors :
------------------------------ openSUSE Webclient Error:
Error Details: Errorcode: unknown Message: Interrupted system call =================================
My step is:
1. Set up obs-server 1.7b2, use webui to connect server
2. after several times clicked, the webui must have above error.
3. restart lighttpd , and after several times clicked, the webui have above error also.
But the following setps I've tested,but the problem is remain:
1. use the webclient which belong 1.6 version of obs-server, connect the 1.7 version obs obs-server, have nothing errors!
2. test the 1.7b3
3. test install a new enviroment 1.7b3,and start webui only, connect to my obs server.
The more log in /srv/www/obs/webui/log/production.log :
-------------------------- [D|# 8357] http_do #1: method: get url: http://api.localdomain:80/status/workerstatus [E|# 8357] --> caught Errno::EINTR: Interrupted system call, retrying with new HTTP connection [D|# 8357] http_do #2: method: get url: http://api.localdomain:80/status/workerstatus [E|# 8357] --> caught Errno::EINTR: Interrupted system call, retrying with new HTTP connection [D|# 8357] http_do #3: method: get url: http://api.localdomain:80/status/workerstatus [E|# 8357] --> caught Errno::EINTR: Interrupted system call, retrying with new HTTP connection [D|# 8357] http_do #4: method: get url: http://api.localdomain:80/status/workerstatus [E|# 8357] --> caught Errno::EINTR: Interrupted system call, retrying with new HTTP connection [D|# 8357] http_do #5: method: get url: http://api.localdomain:80/status/workerstatus [D|# 8357] Request took 0.010905 seconds [F|# 8357] Errno::EINTR (Interrupted system call): /usr/lib/ruby/1.8/net/protocol.rb:133:in `sysread' /usr/lib/ruby/1.8/net/protocol.rb:133:in `rbuf_fill' /usr/lib/ruby/1.8/timeout.rb:53:in `timeout' /usr/lib/ruby/1.8/timeout.rb:93:in `timeout' /usr/lib/ruby/1.8/net/protocol.rb:132:in `rbuf_fill' /usr/lib/ruby/1.8/net/protocol.rb:116:in `readuntil' /usr/lib/ruby/1.8/net/protocol.rb:126:in `readline' /usr/lib/ruby/1.8/net/http.rb:2020:in `read_status_line' /usr/lib/ruby/1.8/net/http.rb:2009:in `read_new' /usr/lib/ruby/1.8/net/http.rb:1050:in `request' /usr/lib/ruby/1.8/net/http.rb:772:in `get' lib/common/activexml/transport.rb:496:in `http_do' lib/common/activexml/transport.rb:339:in `find' lib/common/activexml/base.rb:73:in `find' app/controllers/monitor_controller.rb:17:in `index' /srv/www/obs/webui/public/dispatch.fcgi:24
[E|# 8357] rescue_action: caught Errno::EINTR: Interrupted system call [E|# 8357] Couldn't parse error xml: uninitialized constant REXML::Document [D|# 8357] ERROR: unknown; Interrupted system call [I|# 8357] Rendering template within layouts/application [I|# 8357] Rendering error ====================================
thanks,all
----
Jian Lee [ http://jianlee.ylinux.org ]
----
Jian Lee [ http://jianlee.ylinux.org ]
---- Jian Lee [ http://jianlee.ylinux.org ] -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Am Freitag 29 Januar 2010 schrieb Jian Lee:
hi,all
can't set @http.read_timeout to 60 directly, if the opt[:timeout] is not a null value, use it:
Wow, good catch. I wonder why we never saw that happen, the bug is so obvious. Will commit a fix soonish. Greetings, Stephan -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Thanks for your working! Stephan Kulow <coolo@suse.de> write:
Am Freitag 29 Januar 2010 schrieb Jian Lee:
hi,all
can't set @http.read_timeout to 60 directly, if the opt[:timeout] is not a null value, use it:
Wow, good catch. I wonder why we never saw that happen, the bug is so obvious. Will commit a fix soonish.
Greetings, Stephan
---- Jian Lee [ http://jianlee.ylinux.org ] -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
participants (2)
-
Jian Lee
-
Stephan Kulow