(DB::SQLError) ERROR: duplicate key violates unique constraint "comment_captchas_pkey" at /usr/local/ruby/lib/ruby/site_ruby/1.8/DBD/Pg/Pg.rb:643:in `execute'
/usr/local/ruby/lib/ruby/site_ruby/1.8/dbi/dbi.rb:1052:in `execute'
/usr/local/ruby/lib/ruby/site_ruby/1.8/dbi/dbi.rb:1057:in `do'
/usr/local/ruby/lib/ruby/site_ruby/1.8/dbi/dbi.rb:659:in `do'
/home/blogware/code/framework-ruby/lib/db/row.rb:449:in `save'
/home/blogware/code/rblog/lib/rblog.rb:1389:in `new_captcha'
/home/blogware/code/rblog/lib/rblog/cgi/blogs.rb:2609:in `view_article'
/home/blogware/code/framework-ruby/lib/cgi/application.rb:216:in `send'
/home/blogware/code/framework-ruby/lib/cgi/application.rb:216:in `handle_request'
/home/blogware/code/rblog/lib/rblog/cgi/blogs.rb:372:in `handle_request'
/home/blogware/code/framework-ruby/lib/cgi/application.rb:51:in `handle_request'
/home/blogware/code/framework-ruby/lib/cgi/application.rb:49:in `catch'
/home/blogware/code/framework-ruby/lib/cgi/application.rb:49:in `handle_request'
/home/blogware/code/rblog/blogs/index.cgi:55
/home/blogware/code/rblog/blogs/index.cgi:39:in `run'
/home/blogware/code/framework-ruby/lib/cgi/fastcgi-forker.rb:57:in `each_request'
/home/blogware/code/framework-ruby/lib/cgi/fast.rb:131:in `loop'
/home/blogware/code/framework-ruby/lib/cgi/fast.rb:131:in `each_request'
/home/blogware/code/framework-ruby/lib/cgi/fastcgi-forker.rb:57:in `run'
/home/blogware/code/framework-ruby/lib/cgi/fastcgi-forker.rb:52:in `call'
/home/blogware/code/framework-ruby/lib/forker.rb:328:in `fork_child'
/home/blogware/code/framework-ruby/lib/forker.rb:323:in `fork'
/home/blogware/code/framework-ruby/lib/forker.rb:323:in `fork_child'
/home/blogware/code/framework-ruby/lib/forker.rb:238:in `tend_children'
/home/blogware/code/framework-ruby/lib/forker.rb:236:in `upto'
/home/blogware/code/framework-ruby/lib/forker.rb:236:in `tend_children'
/home/blogware/code/framework-ruby/lib/server/forkingserver.rb:117:in `run'
/home/blogware/code/framework-ruby/lib/cgi/fastcgi-forker.rb:52:in `run'
/home/blogware/code/rblog/blogs/index.cgi:39
/home/blogware/code/rblog/lib/rblog.rb:1389:in `new_captcha'
/home/blogware/code/rblog/lib/rblog/cgi/blogs.rb:2609:in `view_article'
/home/blogware/code/framework-ruby/lib/cgi/application.rb:216:in `send'
/home/blogware/code/framework-ruby/lib/cgi/application.rb:216:in `handle_request'
/home/blogware/code/rblog/lib/rblog/cgi/blogs.rb:372:in `handle_request'
/home/blogware/code/framework-ruby/lib/cgi/application.rb:51:in `handle_request'
/home/blogware/code/framework-ruby/lib/cgi/application.rb:49:in `catch'
/home/blogware/code/framework-ruby/lib/cgi/application.rb:49:in `handle_request'
/home/blogware/code/rblog/blogs/index.cgi:55
/home/blogware/code/rblog/blogs/index.cgi:39:in `run'
/home/blogware/code/framework-ruby/lib/cgi/fastcgi-forker.rb:57:in `each_request'
/home/blogware/code/framework-ruby/lib/cgi/fast.rb:131:in `loop'
/home/blogware/code/framework-ruby/lib/cgi/fast.rb:131:in `each_request'
/home/blogware/code/framework-ruby/lib/cgi/fastcgi-forker.rb:57:in `run'
/home/blogware/code/framework-ruby/lib/cgi/fastcgi-forker.rb:52:in `call'
/home/blogware/code/framework-ruby/lib/forker.rb:328:in `fork_child'
/home/blogware/code/framework-ruby/lib/forker.rb:323:in `fork'
/home/blogware/code/framework-ruby/lib/forker.rb:323:in `fork_child'
/home/blogware/code/framework-ruby/lib/forker.rb:238:in `tend_children'
/home/blogware/code/framework-ruby/lib/forker.rb:236:in `upto'
/home/blogware/code/framework-ruby/lib/forker.rb:236:in `tend_children'
/home/blogware/code/framework-ruby/lib/server/forkingserver.rb:117:in `run'
/home/blogware/code/framework-ruby/lib/cgi/fastcgi-forker.rb:52:in `run'
/home/blogware/code/rblog/blogs/index.cgi:39