I was able to reproduce your issue twice and was about to raise a bug report until I did one last test.
The two instances I had the issue I used your lamedb file. As you described, zap timer fails and you get a lock up. On my next test, I decided to use a lamdb file that was produced by a scan. On this occasion, the zap occurred fine.
I attach a copy of the timers file. The two failures are with orbital position "E083163", the succesful one is had "E080000"
Code:
<?xml version="1.0" ?>
<timers>
<timer begin="1457814600" end="1457814781" serviceref="1:0:1:40A:AF1:BB:E080000:0:0:0:" repeated="0" rename_repeat="1" name="Bournemouth - Swansea" description="Premier League" afterevent="auto" eit="14" tags="Bournemouth_-_Swansea" disabled="0" justplay="1" always_zap="0" descramble="1" record_ecm="0" isAutoTimer="0">
<log code="15" time="1457814358">record time changed, start prepare is now: Sat Mar 12 20:29:40 2016</log>
<log code="5" time="1457814580">activating state 1</log>
<log code="6" time="1457814580">prepare ok, waiting for begin</log>
<log code="5" time="1457814600">activating state 2</log>
<log code="11" time="1457814600">zapping</log>
<log code="5" time="1457814781">activating state 3</log>
<log code="12" time="1457814781">stop recording</log>
</timer>
<timer begin="1457811420" end="1457811601" serviceref="1:0:1:49C:3:1:E083163:0:0:0:" repeated="0" rename_repeat="1" name="Labdarúgás" description="Serie A TIM, Internazionale-Bologna" afterevent="auto" eit="45093" tags="Labdarúgás" disabled="0" justplay="1" always_zap="0" descramble="1" record_ecm="0" isAutoTimer="0">
</timer>
<timer begin="1457812200" end="1457812381" serviceref="1:0:1:400:2:1:E0831B3:0:0:0:" repeated="0" rename_repeat="1" name="Terminator: Genisys" description="(sua, 2015, SF acþ.) Cu: Arnold Schwarzenegger, Jason Clarke,..." afterevent="auto" eit="62206" tags="Terminator:_Genisys" disabled="0" justplay="1" always_zap="0" descramble="1" record_ecm="0" isAutoTimer="0">
<log code="15" time="1457811849">record time changed, start prepare is now: Sat Mar 12 19:49:40 2016</log>
</timer>
</timers>
You made a statement earlier, "All service settings are defined in the satellites.xml file", I'll have to respect your opinion. My experience is as below.
OpenPLI and images that derived from them such as OpenVix, allow for user version of certain files such as satellites.xml, backdrop.mvi. These would be in /etc/enigma2. If a user file is present, that is used. Otherwise the system one in /etc/tuxbox is used. When updates occur, teh user file is not touched.
Satellites.xml has two aspects. One aspect defines the satellite positions/names. The other defines the transponders to be used for
scanning.
For tuning, lamedb is used, not satellites.xml. The only part satellites.xml plays is validating the satellite. People find this very strange and seldom believe it. To convince yourself, please try the following: Backup the satellites.xml to restore afterwards. In the working copy, delete all transponders so that only the name remains. You will find that channels still work even though there are no transponders listed. Hope that convinces you.
Code:
<sat name="28.2E Astra 2E/2F/2G" flags="0" position="282">
</sat>
Your problem is caused by the 0.8/1W issue. We use the convention used on one website that keeps the data, others use another. he provider data on the satellite says 1w. We tried to change it to this but others objected. Addition of a dummy entry to validate the different position was rejected too. Not sure how you want to do the next stage. You will have to decide what xml you want to use and scan 0.8/1 west, select clear before scan to avoid issues.
Nonetheless, the box should not lock up so we will have to look at this.