When looking at moviprep, there is an erronous empty line after Excipiens ad Pulverem pro Charta (the corresp field is empty).
Also Zeno would like to have a bigger vertical space to separate the different compositions (e.g before "Beichnung B"). This was fixed by adding 6px with commit
Will continue tomorrow to have a look why htmlgrid does emit empty rows instead of nothing when a component is deleted.
When looking at Numeta, we see that are 4 empty lines below "Zusammensetzung". See .
This must be corrected. Also Zeno would like to align everything on top. The easiest way to do this is by adding vertical-align : top;
to the element td.list in all oddb.css. But is this okay for all lists we have in oddb.org? Waiting for Zeno's answer before pushing change. Currently the same search is now .
If we only omit the empty lines, but leave the css, it looks like this:
Zeno wants this variant. Pushed commit Don't display compositions without an active_agent
In Nutriflex there is not a separating space between "Entspricht" and "I)". Fixed with commit Added space for new labels
Fixed with commit Sort active and inactive agents
What did I achieve yesterday? Running cleanup_active_agents_in_compositions does no more block access via oddbd/apache2. Results survive correctly a restart of oddbd. For me it looks as if the error stems either from a wrecked database or an err in odba/or dbd-pg gem. Tomorrow will add a parameter to cleanup_active_agents_in_compositions to be able to restart from a given IKSNR and finish the update of the database in smaller steps.
To avoid the threading issue I will move the code to a separate job, remove all the threading and mutex stuff and try again.
Things look better, error and success mail arrive. Dropping and reloading thinpowers database to verify proper operation. Job did sent mail less than 60 minutes after being started. log/job.pid is deleted but system.unpeer_cache ODBA.cache is still running 50 minutes later. The jobs is consume almost 100% of one cpu.
Writing backtrace via bin/admin File.open('threads.list', 'w+') { |f| Thread.list.each {|t| f.puts "Thread #{t}"; f.puts t.backtrace} }
Calling strace for the process in question via sudo strace -f -p 5910
yields ony
Process 5910 attached with 3 threads [pid 5963] restart_syscall(<... resuming interrupted call ...> <unfinished ...> [pid 5932] select(4, [3], NULL, NULL, NULL <unfinished ...> [pid 5910] sched_yield() = 0 [pid 5910] sched_yield() = 0 [pid 5910] sched_yield() = 0 [pid 5910] sched_yield() = 0 [pid 5910] sched_yield() = 0
Why does it not finish? Stuff like http://oddb-ci2.dyndns.org/de/gcc/show/reg/65826/seq/01 show correct active and inactive agents. Killed the process (-9 required) and restarted oddbd. Watir smoketest is okay.
Pushed commit Added jobs/update_active_agents