# Help - "Cannot start a transaction within a transaction"

**URL:** <https://www.ruby-forum.com/t/help-cannot-start-a-transaction-within-a-transaction/144229>\
**Category:** Rails\
**Created:** [July 27, 2008, 2:16am UTC](https://www.ruby-forum.com/t/help-cannot-start-a-transaction-within-a-transaction/144229 "2008-07-27T02:16:40Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![leeredwards](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/bb73d2/32.png) [@leeredwards](https://www.ruby-forum.com/u/leeredwards)\
**Post date:** [July 27, 2008, 2:16am UTC](https://www.ruby-forum.com/t/help-cannot-start-a-transaction-within-a-transaction/144229/1 "2008-07-27T02:16:40Z")

</div>

This is my first Rails app, and things are going pretty well with he  
exception of an error that seems to be configuration-related.

I’m getting a strange error on my (Railsplayground) deployed app using  
fast-cgi, Ruby 1.8.6, Rails 2.02, and sqlite 3.3.6 with sqlite3-ruby  
1.2.2. The exception seems to be raised before it gets to my code.  
Other parts of the application work fine, including parts that read  
and write from the database. It also works fine on my development  
machine using the same setup, but in Windows (and development mode  
rather than production)  
.

# Logfile created on Sat Jul 26 18:59:17 -0400 2008

Processing CardsController#index (for 96.252.14.83 at 2008-07-26  
18:59:17) [GET]  
Session ID: 2b27ab72cff4dd2d83e4c97585743004  
Parameters: {“action”=\>“index”, “controller”=\>“cards”}  
Rendering template within layouts/cards  
Rendering cards/index  
Completed in 0.98825 (1 reqs/sec) | Rendering: 0.68043 (68%) | DB:  
0.00000 (0%) | 200 OK

Processing CardsController#index (for 96.252.14.83 at 2008-07-26  
18:59:18) [GET]  
Session ID: 2b27ab72cff4dd2d83e4c97585743004  
Parameters: {“action”=\>“index”, “controller”=\>“cards”}

SQLite3::SQLException (cannot start a transaction within a  
transaction):  
/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/  
errors.rb:62:in `check' /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/ resultset.rb:47:in`check’  
/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/  
resultset.rb:39:in `commence' /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/ resultset.rb:29:in`initialize’  
/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/  
statement.rb:135:in `new' /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/ statement.rb:135:in`execute’  
/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/  
database.rb:182:in `execute' /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/ database.rb:157:in`prepare’  
/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/  
database.rb:181:in `execute' /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/ database.rb:558:in`transaction’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/  
active\_record/connection\_adapters/sqlite\_adapter.rb:156:in  
`begin_db_transaction' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/ active_record/connection_adapters/sqlite_adapter.rb:345:in`catch\_schema\_changes’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/  
active\_record/connection\_adapters/sqlite\_adapter.rb:156:in  
`begin_db_transaction' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/ active_record/connection_adapters/abstract/database_statements.rb: 63:in`transaction’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/  
active\_record/transactions.rb:80:in `transaction' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/ active_record/transactions.rb:100:in`transaction’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/  
active\_record/transactions.rb:108:in `save' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/ active_record/transactions.rb:120:in`rollback\_active\_record\_state!’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/  
active\_record/transactions.rb:108:in `save' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/session/active_record_store.rb:310:in`update’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/  
active\_record/base.rb:1198:in `silence' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/session/active_record_store.rb:310:in`update’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/session/active\_record\_store.rb:317:in `close' /usr/local/lib/ruby/1.8/cgi/session.rb:324:in`close’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/base.rb:1247:in `close_session' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/base.rb:1292:in`process\_cleanup\_without\_flash’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/flash.rb:173:in  
`process_cleanup_without_session_management_support' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/session_management.rb:133:in`process\_cleanup\_without\_components’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/components.rb:161:in `process_cleanup' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/base.rb:532:in`process\_without\_filters’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/filters.rb:685:in  
`process_without_session_management_support' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/session_management.rb:123:in`process’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/base.rb:388:in `process' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/dispatcher.rb:171:in`handle\_request’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/dispatcher.rb:115:in `dispatch' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/dispatcher.rb:126:in`dispatch\_cgi’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/dispatcher.rb:9:in `dispatch’  
dispatch.cgi:10

Rendering /home/terron/stagingareas/public/500.html (500 Internal  
Server Error)  
/!\ FAILSAFE /!\ Sat Jul 26 18:59:18 -0400 2008  
Status: 500 Internal Server Error  
cannot start a transaction within a transaction  
/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/  
errors.rb:62:in `check' /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/ resultset.rb:47:in`check’  
/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/  
resultset.rb:39:in `commence' /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/ resultset.rb:29:in`initialize’  
/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/  
statement.rb:135:in `new' /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/ statement.rb:135:in`execute’  
/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/  
database.rb:182:in `execute' /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/ database.rb:157:in`prepare’  
/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/  
database.rb:181:in `execute' /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3/ database.rb:558:in`transaction’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/  
active\_record/connection\_adapters/sqlite\_adapter.rb:156:in  
`begin_db_transaction' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/ active_record/connection_adapters/sqlite_adapter.rb:345:in`catch\_schema\_changes’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/  
active\_record/connection\_adapters/sqlite\_adapter.rb:156:in  
`begin_db_transaction' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/ active_record/connection_adapters/abstract/database_statements.rb: 63:in`transaction’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/  
active\_record/transactions.rb:80:in `transaction' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/ active_record/transactions.rb:100:in`transaction’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/  
active\_record/transactions.rb:108:in `save' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/ active_record/transactions.rb:120:in`rollback\_active\_record\_state!’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/  
active\_record/transactions.rb:108:in `save' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/session/active_record_store.rb:310:in`update’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/  
active\_record/base.rb:1198:in `silence' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/session/active_record_store.rb:310:in`update’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/session/active\_record\_store.rb:317:in `close' /usr/local/lib/ruby/1.8/cgi/session.rb:324:in`close’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/base.rb:1247:in `close_session' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/base.rb:1292:in`process\_cleanup\_without\_flash’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/flash.rb:173:in  
`process_cleanup_without_session_management_support' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/session_management.rb:133:in`process\_cleanup\_without\_components’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/components.rb:161:in `process_cleanup' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/base.rb:532:in`process\_without\_filters’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/filters.rb:685:in  
`process_without_session_management_support' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/session_management.rb:123:in`process’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/base.rb:388:in `process' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/dispatcher.rb:171:in`handle\_request’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/dispatcher.rb:115:in `dispatch' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/dispatcher.rb:126:in`dispatch\_cgi’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/  
action\_controller/dispatcher.rb:9:in `dispatch’  
dispatch.cgi:10

Thanks,  
Lee
