id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc
886,Crash on locked database,Sewi,Sewi,"Run the following command:

{{{
./dev.pl --die -- --actionqueue=file.quit & ./dev.pl --die -- --actionqueue=file.quit &
}}}

One of the tasks exits with

{{{
DIE: DBD::SQLite::db do failed: database is locked at (eval 144) line 36.

--------------------------------------------------------------------------------
 at (eval 144) line 36
	Padre::DB::do('Padre::DB', 'delete from host_config') called at (eval 144) line 672
	Padre::DB::HostConfig::truncate('Padre::DB::HostConfig') called at /home/sewi/padre/Padre/lib/Padre/Config/Host.pm line 75
	Padre::Config::Host::write('Padre::Config::Host=HASH(0x8873748)') called at /home/sewi/padre/Padre/lib/Padre/Config.pm line 163
	Padre::Config::write('Padre::Config=ARRAY(0x87cd978)') called at /home/sewi/padre/Padre/lib/Padre.pm line 253
	Padre::save_config('Padre=HASH(0x8681b00)') called at /home/sewi/padre/Padre/lib/Padre/Wx/Main.pm line 1967
	Padre::Wx::Main::show_syntax('Padre::Wx::Main=HASH(0x93f19e8)', 0) called at /home/sewi/padre/Padre/lib/Padre/Wx/Main.pm line 323
	Padre::Wx::Main::timer_start('Padre::Wx::Main=HASH(0x93f19e8)') called at /home/sewi/padre/Padre/lib/Padre/Wx/Main.pm line 248
	Padre::Wx::Main::__ANON__('Padre::Wx::Main=HASH(0x93f19e8)', 'Wx::TimerEvent=SCALAR(0x90062d0)') called at /home/sewi/padre/Padre/lib/Padre.pm line 242
	eval {...} called at /home/sewi/padre/Padre/lib/Padre.pm line 242
	Padre::run('Padre=HASH(0x8681b00)') called at /home/sewi/padre/Padre/script/padre line 151

DIE: DBD::SQLite::db do failed: database is locked at (eval 144) line 36.

--------------------------------------------------------------------------------
 at /home/sewi/padre/Padre/lib/Padre.pm line 242
	Padre::run('Padre=HASH(0x8681b00)') called at /home/sewi/padre/Padre/script/padre line 151
DBD::SQLite::db do failed: database is locked at (eval 144) line 36.
}}}

(Happens on very most of the tries.)

Padre should wait a random amount of time if the database is locked and try again.

The problem also happens when exiting more than one Padre task at the same time (system shutdown, for example).",defect,reopened,critical,,editor,trunk,,,
