[webif] 1.5.x

prpr

Well-Known Member
After 6 months of beta development/testing, I have pushed webif 1.5.0 to the main repository. These are all bug fixes.
Hopefully there won't be any upgrade problems.
If you see any strange/pointless messages about upgrading some of the jim related packages from whatever version to the same version, then please ignore them - this is just an odd artifact of some necessary amalgamation that has been done in upgrading the jim interpreter.

Please post any further comments or problem reports here rather than in the thread in the Beta section, thanks.
 
  • Like
Reactions: /df
Possible result of attempting to recover a locked DB:
 
1.5.0-9:

I don't know how long this has been a "thing", or whether it's just me, but I'm trying to do something I doubt I've tried before and got weird behaviour.

I'm using Browse Media Files to create a folder on a UPD. It won't take capital letters, nor when editing the folder name. And yet it works just fine on the HDD. I don't see how it could be the UPD causing this, it shouldn't matter whether formatted FAT or NTFS.

No time to play further.
 
I tried rebooting to no effect, but there's other stuff going on as well. Copy multiple files from clipboard isn't working, only one file (appears to) copy, and even then it's not eliminated from the clipboard. I do this on a (usually) weekly basis, and don't normally have a problem. The specific UPD is a change to the system.
 
Belay that, different UPD working fine. Dunno what's wrong with the one I was trying, but the folder names which were all lower case on the HDR appear all upper case on my PC, and trying to get the drive properties sent the PC into paroxysms.
 
The status logic that detects copying can be confused by copying between local drives (it only knows about drive1), so that instead of "Copying ..." it says "Recording ..." and "Playing ....". Here's a patch that corrects that, also an unrelated style nit:
Code:
--- old/mod/webif/cgi-bin/status.jim
+++ new/mod/webif/cgi-bin/status.jim
@@ -212,12 +212,8 @@
        foreach file [array names data] {
                set bname [file tail $file]
 
-               set name [string map {
-                       "/mnt/hd2/My Video/" ""
-                       "/media/drive1/Video/" ""
-                       "/media/" ""
-                       ".ts" ""
-               } $file]
+               regexp {(^/(mnt/hd2/My Video|media/drive[1-9]+/Video)/)?(.*)(\.ts)?$}\
+                       $file _ _ _ name
 
                if {[lindex $data($file) 0] == -1} {
                        set mode chase
@@ -250,7 +246,7 @@
                        set mode $ops($file)
                }
 
-               regexp -- {^([^0-9]+)} $mode x mode
+               regexp -- {^([^0-9]+)} $mode _ mode
 
                switch $mode {
                        chase {
Installation to a new drive was trouble-free, although some subset Jim packages (eg, jim-oo) were shown as available when the associated files were already installed (I think that was discussed before).

Possibly installing Webif should clear out xinit stubs from packages that are not installed according to the drive's /mod/var/opkg.

Who knew that network-shares-automount also installs Python?
 
Here's a patch that corrects that, also an unrelated style nit
Thanks. Those regexp things fill me with horror.
some subset Jim packages (eg, jim-oo) were shown as available when the associated files were already installed (I think that was discussed before).
It was. They're legacy packages. At what point should they get removed from the repository?
Possibly installing Webif should clear out xinit stubs from packages that are not installed according to the drive's /mod/var/opkg.
I guess that's an artifact of your drive failure. What about all the other orphaned files in /mod/boot/ ?
I suppose if you want to clean up and start from blank then do a CFW Reset once you've reinstalled WebIf. Then reboot and reinstall it again!
Or if you want all your packages back, and can remember which ones you had installed, then don't do that and all your settings are preserved.
Is there any actual bad effect of trying to run these things?
Who knew that network-shares-automount also installs Python?
Well I did, because I've fallen over it before.
 
I recently updated this on my Humax1 and now SMART gives a blank page on: Diagnostics|Disk Diagnostics
Please advise a fix.

I copied the update log as I noticed an anomaly:
H4: webif from 1.5.0-9 to 1.5.1
Code:
>>> opkg update
Downloading http://hpkg.tv/hdrfoxt2/base/Packages.gz.
Inflating http://hpkg.tv/hdrfoxt2/base/Packages.gz.
Updated list of available packages in /mod/var/opkg/base.

>>> opkg upgrade webif
Upgrading webif on root from 1.5.0-9 to 1.5.1...
Downloading http://hpkg.tv/hdrfoxt2/base/webif_1.5.1_mipsel.opk.
/mod/webif/lib/settings.class:62: Error: database disk image is malformed
in procedure '::<reference.<setting>.00000000000000000000>' called at file "/mod/webif/lib/bin/diskattrs", line 17
in procedure 'settings _tval_setting' called at file "/mod/lib/jim/oo.tcl", line 50
at file "/mod/lib/jim/oo.tcl", line 71
in procedure 'settings _safer_query' called at file "/mod/webif/lib/settings.class", line 163
at file "/mod/webif/lib/settings.class", line 62
Queue database is up-to-date.
Configuring webif.

Updating package meta information
Done.

I also updated my Humax1 and this appears OK...
H1: webif from 1.5.0-9 to 1.5.1
Code:
>>> opkg update
Downloading http://hpkg.tv/hdrfoxt2/base/Packages.gz.
Inflating http://hpkg.tv/hdrfoxt2/base/Packages.gz.
Updated list of available packages in /mod/var/opkg/base.

>>> opkg upgrade webif
Upgrading webif on root from 1.5.0-9 to 1.5.1...
Downloading http://hpkg.tv/hdrfoxt2/base/webif_1.5.1_mipsel.opk.
SMART: (PASSED)
startstop: 15292 realloc: 0 hours: 47809 spinretry: 0 pending: 0 offline: 0
Queue database is up-to-date.
Configuring webif.

Updating package meta information
Done.

Updating diagnostic meta information
Updating MUX database
Done.
 
Last edited:
You could try repairing the database. From the command prompt:
Code:
sqlite3 /mod/etc/webif.db
.dump
.recover
.dump
.q
and report the output.
Failing that, you will have to rm /mod/etc/webif.db which will cause some settings to go back to defaults.

We still don't know what causes this database corruption.
 
We still don't know what causes this database corruption.
My guess would be some form of simultaneous update problem I don't know if Sqlite can handle concurrent updates as well as full function database mangers
 
You could try repairing the database. From the command prompt:
Code:
sqlite3 /mod/etc/webif.db
.dump
.recover
.dump
.q
and report the output.
Output (but says db is malformed...rolled back)....
Code:
Humax HDR-Fox T2 (humax4) 1.03.12/3.13

To return to the menu, type: exit

humax4# sqlite3 /mod/etc/webif.db
SQLite version 3.38.5 2022-05-06 15:25:27
Enter ".help" for usage hints.
sqlite> .dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE queue(
                                id integer primary key autoincrement,
                                file text,
                                action text,
                                args text,
                                start integer default 0,
                                status text default 'PENDING',
                                log text default '',
                                runtime integer,
                                retries integer default 0,
                                interrupts integer default 0,
                                submitted integer default 0,
                                last integer default 0
                        );
INSERT INTO queue VALUES(11,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(12,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(15,15,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(16,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(17,4,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(18,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(19,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(20,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(109,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(111,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(1098,NULL,'INFO BACK',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(1459,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(3063,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(3199,NULL,'ONE ZERO ZERO OK',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(4951,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(4952,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(5378,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(7775,NULL,' [FlatView]',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(7776,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(7777,2,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(14968,52,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(14969,59,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(14970,70,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(22325,8,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(23550,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(23551,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(23552,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(23553,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(24278,NULL,'1,2,3,4,5,6,9,10,11,12,13,14,15,17,18,19,20,21,23,25,26,27,28,29,30,31,32,33,34,35,36,39,40,4
1,46,47,48,56,67,69,82,84,100,101,102,103,104,105,231,232,233,235',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26576,4,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26810,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26811,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26812,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26813,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26814,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26816,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26817,NULL,'',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26818,NULL,'-brkMinCt 2   -padSec 0',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26819,NULL,'0',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26820,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27138,2,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27472,NULL,'PASSED',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27473,NULL,'ST3500312CS',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27474,19413,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27475,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27476,14688,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27477,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27478,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27479,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27557,1677626059,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
CREATE TABLE config(
                                var text,
                                val text
                        );
/****** CORRUPTION ERROR *******/
CREATE TABLE settings(name text, nval int, tval text);
INSERT INTO settings VALUES('autolast',1677650771,NULL);
INSERT INTO settings VALUES('SMART_status',NULL,'PASSED');
INSERT INTO settings VALUES('SMART_model',NULL,'ST3500312CS');
INSERT INTO settings VALUES('SMART_startstop',19419,NULL);
INSERT INTO settings VALUES('SMART_realloc',0,NULL);
INSERT INTO settings VALUES('SMART_hours',14703,NULL);
INSERT INTO settings VALUES('SMART_spinretry',0,NULL);
INSERT INTO settings VALUES('SMART_pending',0,NULL);
INSERT INTO settings VALUES('SMART_offline',0,NULL);
INSERT INTO settings VALUES('autolast',1677651438,NULL);
INSERT INTO settings VALUES('autolast',1677652104,NULL);
INSERT INTO settings VALUES('autolast',1677652754,NULL);
INSERT INTO settings VALUES('autolast',1677653413,NULL);
INSERT INTO settings VALUES('autolast',1677654076,NULL);
INSERT INTO settings VALUES('autolast',1677654732,NULL);
INSERT INTO settings VALUES('autolast',1677655423,NULL);
INSERT INTO settings VALUES('autolast',1677656055,NULL);
INSERT INTO settings VALUES('autolast',1677656715,NULL);
INSERT INTO settings VALUES('autolast',1677663973,NULL);
INSERT INTO settings VALUES('channel_group',4,NULL);
INSERT INTO settings VALUES('autolast',1677664633,NULL);
INSERT INTO settings VALUES('autolast',1677665299,NULL);
INSERT INTO settings VALUES('autolast',1677665959,NULL);
INSERT INTO settings VALUES('autolast',1677666620,NULL);
INSERT INTO settings VALUES('autolast',1677667278,NULL);
INSERT INTO settings VALUES('autolast',1677667939,NULL);
INSERT INTO settings VALUES('rtschedule',1,NULL);
INSERT INTO settings VALUES('autolast',1677668705,NULL);
INSERT INTO settings VALUES('autolast',1677669388,NULL);
INSERT INTO settings VALUES('nomobile',1,NULL);
INSERT INTO settings VALUES('notwitfeed',1,NULL);
INSERT INTO settings VALUES('toolbarqueue',1,NULL);
INSERT INTO settings VALUES('logage',365,NULL);
INSERT INTO settings VALUES('autolast',1677670047,NULL);
INSERT INTO settings VALUES('detectads_detwrec',0,NULL);
INSERT INTO settings VALUES('detectads_auto',1,NULL);
INSERT INTO settings VALUES('detectads_crop',0,NULL);
INSERT INTO settings VALUES('detectads_bmend',0,NULL);
INSERT INTO settings VALUES('detectads_delorig',0,NULL);
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('detectads_tgtchoice',1,NULL);
INSERT INTO settings VALUES('detectads_tgtpath',NULL,'');
INSERT INTO settings VALUES('detectads_otheropts',NULL,'-brkMinCt 2  -adMaxSec 129  -padSec 0');
INSERT INTO settings VALUES('detectads_queue_time',NULL,'0');
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('detectads_detwrec',0,NULL);
INSERT INTO settings VALUES('detectads_auto',1,NULL);
INSERT INTO settings VALUES('detectads_crop',0,NULL);
INSERT INTO settings VALUES('detectads_bmend',0,NULL);
INSERT INTO settings VALUES('detectads_delorig',0,NULL);
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('detectads_tgtchoice',1,NULL);
INSERT INTO settings VALUES('detectads_tgtpath',NULL,'');
INSERT INTO settings VALUES('detectads_otheropts',NULL,'-brkMinCt 2  -adMaxSec 129  -padSec 0');
INSERT INTO settings VALUES('detectads_queue_time',NULL,'0');
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('fv_dir',NULL,' [FlatView]');
INSERT INTO settings VALUES('fv_age',1,NULL);
INSERT INTO settings VALUES('fv_flags',3,NULL);
INSERT INTO settings VALUES('fv_dir',NULL,' [FlatView]');
INSERT INTO settings VALUES('fv_age',1,NULL);
INSERT INTO settings VALUES('fv_flags',2,NULL);
INSERT INTO settings VALUES('xepghours',5,NULL);
INSERT INTO settings VALUES('service_style',1,NULL);
INSERT INTO settings VALUES('epg_style',1,NULL);
INSERT INTO settings VALUES('epg_style',0,NULL);
INSERT INTO settings VALUES('epg_style',1,NULL);
INSERT INTO settings VALUES('epgscroll',1,NULL);
INSERT INTO settings VALUES('autolast',1677670708,NULL);
INSERT INTO settings VALUES('xepghours',4,NULL);
INSERT INTO settings VALUES('autolast',1677671366,NULL);
INSERT INTO settings VALUES('autolast',1677672024,NULL);
INSERT INTO settings VALUES('autolast',1677672700,NULL);
INSERT INTO settings VALUES('autolast',1677673355,NULL);
INSERT INTO settings VALUES('autolast',1677674003,NULL);
INSERT INTO settings VALUES('autolast',1677674661,NULL);
INSERT INTO settings VALUES('sortorder',2,NULL);
INSERT INTO settings VALUES('autolast',1677678439,NULL);
INSERT INTO settings VALUES('sortorder',2,NULL);
INSERT INTO settings VALUES('autolast',1677679108,NULL);
INSERT INTO settings VALUES('autolast',1677679764,NULL);
INSERT INTO settings VALUES('autolast',1677680414,NULL);
INSERT INTO settings VALUES('sortorder',2,NULL);
INSERT INTO settings VALUES('detectads_detwrec',0,NULL);
INSERT INTO settings VALUES('detectads_auto',1,NULL);
INSERT INTO settings VALUES('detectads_crop',0,NULL);
INSERT INTO settings VALUES('detectads_bmend',0,NULL);
INSERT INTO settings VALUES('detectads_delorig',0,NULL);
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('detectads_tgtchoice',1,NULL);
INSERT INTO settings VALUES('detectads_tgtpath',NULL,'');
INSERT INTO settings VALUES('detectads_otheropts',NULL,'-brkMinCt 2  -adMaxSec 120  -padSec 0');
INSERT INTO settings VALUES('detectads_queue_time',NULL,'0');
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('autolast',1677681074,NULL);
INSERT INTO settings VALUES('detectads_detwrec',0,NULL);
INSERT INTO settings VALUES('detectads_auto',1,NULL);
INSERT INTO settings VALUES('detectads_crop',0,NULL);
INSERT INTO settings VALUES('detectads_bmend',0,NULL);
INSERT INTO settings VALUES('detectads_delorig',0,NULL);
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('detectads_tgtchoice',1,NULL);
INSERT INTO settings VALUES('detectads_tgtpath',NULL,'');
INSERT INTO settings VALUES('detectads_otheropts',NULL,'-brkMinCt 3  -adMaxSec 90  -padSec -2');
INSERT INTO settings VALUES('detectads_queue_time',NULL,'0');
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('detectads_detwrec',0,NULL);
INSERT INTO settings VALUES('detectads_auto',1,NULL);
INSERT INTO settings VALUES('detectads_crop',0,NULL);
INSERT INTO settings VALUES('detectads_bmend',0,NULL);
INSERT INTO settings VALUES('detectads_delorig',0,NULL);
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('detectads_tgtchoice',1,NULL);
INSERT INTO settings VALUES('detectads_tgtpath',NULL,'');
INSERT INTO settings VALUES('detectads_otheropts',NULL,'-brkMinCt 3  -adMaxSec 90  -padSec -2');
INSERT INTO settings VALUES('detectads_queue_time',NULL,'0');
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('autolast',1677681734,NULL);
INSERT INTO settings VALUES('autolast',1677682394,NULL);
INSERT INTO settings VALUES('autolast',1677683054,NULL);
INSERT INTO settings VALUES('autolast',1677683716,NULL);
INSERT INTO settings VALUES('autolast',1677684375,NULL);
INSERT INTO settings VALUES('autolast',1677685033,NULL);
INSERT INTO settings VALUES('autolast',1677685694,NULL);
INSERT INTO settings VALUES('autolast',1677686354,NULL);
INSERT INTO settings VALUES('autolast',1677687026,NULL);
INSERT INTO settings VALUES('autolast',1677687686,NULL);
INSERT INTO settings VALUES('autolast',1677688346,NULL);
INSERT INTO settings VALUES('autolast',1677689006,NULL);
INSERT INTO settings VALUES('autolast',1677689666,NULL);
INSERT INTO settings VALUES('autolast',1677690319,NULL);
INSERT INTO settings VALUES('autolast',1677690980,NULL);
INSERT INTO settings VALUES('autolast',1677691640,NULL);
INSERT INTO settings VALUES('autolast',1677692299,NULL);
INSERT INTO settings VALUES('autolast',1677693004,NULL);
INSERT INTO settings VALUES('autolast',1677693685,NULL);
INSERT INTO settings VALUES('autolast',1677694422,NULL);
INSERT INTO settings VALUES('autolast',1677695069,NULL);
INSERT INTO settings VALUES('autolast',1677695729,NULL);
INSERT INTO settings VALUES('autolast',1677696385,NULL);
INSERT INTO settings VALUES('autolast',1677697035,NULL);
INSERT INTO settings VALUES('autolast',1677697701,NULL);
INSERT INTO settings VALUES('autolast',1677698360,NULL);
INSERT INTO settings VALUES('autolast',1677699021,NULL);
INSERT INTO settings VALUES('autolast',1677699680,NULL);
INSERT INTO settings VALUES('autolast',1677700340,NULL);
INSERT INTO settings VALUES('autolast',1677701007,NULL);
INSERT INTO settings VALUES('autolast',1677701668,NULL);
INSERT INTO settings VALUES('autolast',1677702315,NULL);
INSERT INTO settings VALUES('autolast',1677702974,NULL);
INSERT INTO settings VALUES('autolast',1677703635,NULL);
INSERT INTO settings VALUES('autolast',1677704295,NULL);
INSERT INTO settings VALUES('autolast',1677704960,NULL);
INSERT INTO settings VALUES('autolast',1677705620,NULL);
INSERT INTO settings VALUES('autolast',1677706280,NULL);
INSERT INTO settings VALUES('autolast',1677706940,NULL);
INSERT INTO settings VALUES('autolast',1677707600,NULL);
INSERT INTO settings VALUES('autolast',1677708260,NULL);
INSERT INTO settings VALUES('autolast',1677708919,NULL);
INSERT INTO settings VALUES('autolast',1677709580,NULL);
INSERT INTO settings VALUES('autolast',1677710240,NULL);
INSERT INTO settings VALUES('autolast',1677710905,NULL);
INSERT INTO settings VALUES('autolast',1677711565,NULL);
INSERT INTO settings VALUES('autolast',1677712232,NULL);
INSERT INTO settings VALUES('autolast',1677712885,NULL);
INSERT INTO settings VALUES('autolast',1677713544,NULL);
INSERT INTO settings VALUES('autolast',1677714205,NULL);
INSERT INTO settings VALUES('autolast',1677714864,NULL);
INSERT INTO settings VALUES('autolast',1677715524,NULL);
INSERT INTO settings VALUES('autolast',1677716185,NULL);
INSERT INTO settings VALUES('autolast',1677716844,NULL);
INSERT INTO settings VALUES('autolast',1677717505,NULL);
INSERT INTO settings VALUES('autolast',1677738462,NULL);
INSERT INTO settings VALUES('SMART_status',NULL,'PASSED');
INSERT INTO settings VALUES('SMART_model',NULL,'ST3500312CS');
INSERT INTO settings VALUES('SMART_startstop',19429,NULL);
INSERT INTO settings VALUES('SMART_realloc',0,NULL);
DELETE FROM sqlite_sequence;
/****** CORRUPTION ERROR *******/
CREATE UNIQUE INDEX file on queue(file, action);
ROLLBACK; -- due to errors
sqlite>

Code:
sqlite> .recover
SQL error: database disk image is malformed
sqlite>

Code:
sqlite> .dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE queue(
                                id integer primary key autoincrement,
                                file text,
                                action text,
                                args text,
                                start integer default 0,
                                status text default 'PENDING',
                                log text default '',
                                runtime integer,
                                retries integer default 0,
                                interrupts integer default 0,
                                submitted integer default 0,
                                last integer default 0
                        );
INSERT INTO queue VALUES(11,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(12,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(15,15,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(16,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(17,4,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(18,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(19,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(20,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(109,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(111,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(1098,NULL,'INFO BACK',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(1459,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(3063,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(3199,NULL,'ONE ZERO ZERO OK',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(4951,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(4952,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(5378,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(7775,NULL,' [FlatView]',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(7776,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(7777,2,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(14968,52,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(14969,59,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(14970,70,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(22325,8,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(23550,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(23551,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(23552,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(23553,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(24278,NULL,'1,2,3,4,5,6,9,10,11,12,13,14,15,17,18,19,20,21,23,25,26,27,28,29,30,31,32,33,34,35,36,39,40,4
1,46,47,48,56,67,69,82,84,100,101,102,103,104,105,231,232,233,235',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26576,4,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26810,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26811,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26812,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26813,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26814,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26816,1,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26817,NULL,'',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26818,NULL,'-brkMinCt 2   -padSec 0',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26819,NULL,'0',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(26820,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27138,2,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27472,NULL,'PASSED',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27473,NULL,'ST3500312CS',NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27474,19413,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27475,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27476,14688,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27477,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27478,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27479,0,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
INSERT INTO queue VALUES(27557,1677626059,NULL,NULL,0,'PENDING','',NULL,0,0,0,0);
CREATE TABLE config(
                                var text,
                                val text
                        );
/****** CORRUPTION ERROR *******/
CREATE TABLE settings(name text, nval int, tval text);
INSERT INTO settings VALUES('autolast',1677650771,NULL);
INSERT INTO settings VALUES('SMART_status',NULL,'PASSED');
INSERT INTO settings VALUES('SMART_model',NULL,'ST3500312CS');
INSERT INTO settings VALUES('SMART_startstop',19419,NULL);
INSERT INTO settings VALUES('SMART_realloc',0,NULL);
INSERT INTO settings VALUES('SMART_hours',14703,NULL);
INSERT INTO settings VALUES('SMART_spinretry',0,NULL);
INSERT INTO settings VALUES('SMART_pending',0,NULL);
INSERT INTO settings VALUES('SMART_offline',0,NULL);
INSERT INTO settings VALUES('autolast',1677651438,NULL);
INSERT INTO settings VALUES('autolast',1677652104,NULL);
INSERT INTO settings VALUES('autolast',1677652754,NULL);
INSERT INTO settings VALUES('autolast',1677653413,NULL);
INSERT INTO settings VALUES('autolast',1677654076,NULL);
INSERT INTO settings VALUES('autolast',1677654732,NULL);
INSERT INTO settings VALUES('autolast',1677655423,NULL);
INSERT INTO settings VALUES('autolast',1677656055,NULL);
INSERT INTO settings VALUES('autolast',1677656715,NULL);
INSERT INTO settings VALUES('autolast',1677663973,NULL);
INSERT INTO settings VALUES('channel_group',4,NULL);
INSERT INTO settings VALUES('autolast',1677664633,NULL);
INSERT INTO settings VALUES('autolast',1677665299,NULL);
INSERT INTO settings VALUES('autolast',1677665959,NULL);
INSERT INTO settings VALUES('autolast',1677666620,NULL);
INSERT INTO settings VALUES('autolast',1677667278,NULL);
INSERT INTO settings VALUES('autolast',1677667939,NULL);
INSERT INTO settings VALUES('rtschedule',1,NULL);
INSERT INTO settings VALUES('autolast',1677668705,NULL);
INSERT INTO settings VALUES('autolast',1677669388,NULL);
INSERT INTO settings VALUES('nomobile',1,NULL);
INSERT INTO settings VALUES('notwitfeed',1,NULL);
INSERT INTO settings VALUES('toolbarqueue',1,NULL);
INSERT INTO settings VALUES('logage',365,NULL);
INSERT INTO settings VALUES('autolast',1677670047,NULL);
INSERT INTO settings VALUES('detectads_detwrec',0,NULL);
INSERT INTO settings VALUES('detectads_auto',1,NULL);
INSERT INTO settings VALUES('detectads_crop',0,NULL);
INSERT INTO settings VALUES('detectads_bmend',0,NULL);
INSERT INTO settings VALUES('detectads_delorig',0,NULL);
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('detectads_tgtchoice',1,NULL);
INSERT INTO settings VALUES('detectads_tgtpath',NULL,'');
INSERT INTO settings VALUES('detectads_otheropts',NULL,'-brkMinCt 2  -adMaxSec 129  -padSec 0');
INSERT INTO settings VALUES('detectads_queue_time',NULL,'0');
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('detectads_detwrec',0,NULL);
INSERT INTO settings VALUES('detectads_auto',1,NULL);
INSERT INTO settings VALUES('detectads_crop',0,NULL);
INSERT INTO settings VALUES('detectads_bmend',0,NULL);
INSERT INTO settings VALUES('detectads_delorig',0,NULL);
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('detectads_tgtchoice',1,NULL);
INSERT INTO settings VALUES('detectads_tgtpath',NULL,'');
INSERT INTO settings VALUES('detectads_otheropts',NULL,'-brkMinCt 2  -adMaxSec 129  -padSec 0');
INSERT INTO settings VALUES('detectads_queue_time',NULL,'0');
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('fv_dir',NULL,' [FlatView]');
INSERT INTO settings VALUES('fv_age',1,NULL);
INSERT INTO settings VALUES('fv_flags',3,NULL);
INSERT INTO settings VALUES('fv_dir',NULL,' [FlatView]');
INSERT INTO settings VALUES('fv_age',1,NULL);
INSERT INTO settings VALUES('fv_flags',2,NULL);
INSERT INTO settings VALUES('xepghours',5,NULL);
INSERT INTO settings VALUES('service_style',1,NULL);
INSERT INTO settings VALUES('epg_style',1,NULL);
INSERT INTO settings VALUES('epg_style',0,NULL);
INSERT INTO settings VALUES('epg_style',1,NULL);
INSERT INTO settings VALUES('epgscroll',1,NULL);
INSERT INTO settings VALUES('autolast',1677670708,NULL);
INSERT INTO settings VALUES('xepghours',4,NULL);
INSERT INTO settings VALUES('autolast',1677671366,NULL);
INSERT INTO settings VALUES('autolast',1677672024,NULL);
INSERT INTO settings VALUES('autolast',1677672700,NULL);
INSERT INTO settings VALUES('autolast',1677673355,NULL);
INSERT INTO settings VALUES('autolast',1677674003,NULL);
INSERT INTO settings VALUES('autolast',1677674661,NULL);
INSERT INTO settings VALUES('sortorder',2,NULL);
INSERT INTO settings VALUES('autolast',1677678439,NULL);
INSERT INTO settings VALUES('sortorder',2,NULL);
INSERT INTO settings VALUES('autolast',1677679108,NULL);
INSERT INTO settings VALUES('autolast',1677679764,NULL);
INSERT INTO settings VALUES('autolast',1677680414,NULL);
INSERT INTO settings VALUES('sortorder',2,NULL);
INSERT INTO settings VALUES('detectads_detwrec',0,NULL);
INSERT INTO settings VALUES('detectads_auto',1,NULL);
INSERT INTO settings VALUES('detectads_crop',0,NULL);
INSERT INTO settings VALUES('detectads_bmend',0,NULL);
INSERT INTO settings VALUES('detectads_delorig',0,NULL);
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('detectads_tgtchoice',1,NULL);
INSERT INTO settings VALUES('detectads_tgtpath',NULL,'');
INSERT INTO settings VALUES('detectads_otheropts',NULL,'-brkMinCt 2  -adMaxSec 120  -padSec 0');
INSERT INTO settings VALUES('detectads_queue_time',NULL,'0');
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('autolast',1677681074,NULL);
INSERT INTO settings VALUES('detectads_detwrec',0,NULL);
INSERT INTO settings VALUES('detectads_auto',1,NULL);
INSERT INTO settings VALUES('detectads_crop',0,NULL);
INSERT INTO settings VALUES('detectads_bmend',0,NULL);
INSERT INTO settings VALUES('detectads_delorig',0,NULL);
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('detectads_tgtchoice',1,NULL);
INSERT INTO settings VALUES('detectads_tgtpath',NULL,'');
INSERT INTO settings VALUES('detectads_otheropts',NULL,'-brkMinCt 3  -adMaxSec 90  -padSec -2');
INSERT INTO settings VALUES('detectads_queue_time',NULL,'0');
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('detectads_detwrec',0,NULL);
INSERT INTO settings VALUES('detectads_auto',1,NULL);
INSERT INTO settings VALUES('detectads_crop',0,NULL);
INSERT INTO settings VALUES('detectads_bmend',0,NULL);
INSERT INTO settings VALUES('detectads_delorig',0,NULL);
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('detectads_tgtchoice',1,NULL);
INSERT INTO settings VALUES('detectads_tgtpath',NULL,'');
INSERT INTO settings VALUES('detectads_otheropts',NULL,'-brkMinCt 3  -adMaxSec 90  -padSec -2');
INSERT INTO settings VALUES('detectads_queue_time',NULL,'0');
INSERT INTO settings VALUES('detectads_cpulimit',0,NULL);
INSERT INTO settings VALUES('autolast',1677681734,NULL);
INSERT INTO settings VALUES('autolast',1677682394,NULL);
INSERT INTO settings VALUES('autolast',1677683054,NULL);
INSERT INTO settings VALUES('autolast',1677683716,NULL);
INSERT INTO settings VALUES('autolast',1677684375,NULL);
INSERT INTO settings VALUES('autolast',1677685033,NULL);
INSERT INTO settings VALUES('autolast',1677685694,NULL);
INSERT INTO settings VALUES('autolast',1677686354,NULL);
INSERT INTO settings VALUES('autolast',1677687026,NULL);
INSERT INTO settings VALUES('autolast',1677687686,NULL);
INSERT INTO settings VALUES('autolast',1677688346,NULL);
INSERT INTO settings VALUES('autolast',1677689006,NULL);
INSERT INTO settings VALUES('autolast',1677689666,NULL);
INSERT INTO settings VALUES('autolast',1677690319,NULL);
INSERT INTO settings VALUES('autolast',1677690980,NULL);
INSERT INTO settings VALUES('autolast',1677691640,NULL);
INSERT INTO settings VALUES('autolast',1677692299,NULL);
INSERT INTO settings VALUES('autolast',1677693004,NULL);
INSERT INTO settings VALUES('autolast',1677693685,NULL);
INSERT INTO settings VALUES('autolast',1677694422,NULL);
INSERT INTO settings VALUES('autolast',1677695069,NULL);
INSERT INTO settings VALUES('autolast',1677695729,NULL);
INSERT INTO settings VALUES('autolast',1677696385,NULL);
INSERT INTO settings VALUES('autolast',1677697035,NULL);
INSERT INTO settings VALUES('autolast',1677697701,NULL);
INSERT INTO settings VALUES('autolast',1677698360,NULL);
INSERT INTO settings VALUES('autolast',1677699021,NULL);
INSERT INTO settings VALUES('autolast',1677699680,NULL);
INSERT INTO settings VALUES('autolast',1677700340,NULL);
INSERT INTO settings VALUES('autolast',1677701007,NULL);
INSERT INTO settings VALUES('autolast',1677701668,NULL);
INSERT INTO settings VALUES('autolast',1677702315,NULL);
INSERT INTO settings VALUES('autolast',1677702974,NULL);
INSERT INTO settings VALUES('autolast',1677703635,NULL);
INSERT INTO settings VALUES('autolast',1677704295,NULL);
INSERT INTO settings VALUES('autolast',1677704960,NULL);
INSERT INTO settings VALUES('autolast',1677705620,NULL);
INSERT INTO settings VALUES('autolast',1677706280,NULL);
INSERT INTO settings VALUES('autolast',1677706940,NULL);
INSERT INTO settings VALUES('autolast',1677707600,NULL);
INSERT INTO settings VALUES('autolast',1677708260,NULL);
INSERT INTO settings VALUES('autolast',1677708919,NULL);
INSERT INTO settings VALUES('autolast',1677709580,NULL);
INSERT INTO settings VALUES('autolast',1677710240,NULL);
INSERT INTO settings VALUES('autolast',1677710905,NULL);
INSERT INTO settings VALUES('autolast',1677711565,NULL);
INSERT INTO settings VALUES('autolast',1677712232,NULL);
INSERT INTO settings VALUES('autolast',1677712885,NULL);
INSERT INTO settings VALUES('autolast',1677713544,NULL);
INSERT INTO settings VALUES('autolast',1677714205,NULL);
INSERT INTO settings VALUES('autolast',1677714864,NULL);
INSERT INTO settings VALUES('autolast',1677715524,NULL);
INSERT INTO settings VALUES('autolast',1677716185,NULL);
INSERT INTO settings VALUES('autolast',1677716844,NULL);
INSERT INTO settings VALUES('autolast',1677717505,NULL);
INSERT INTO settings VALUES('autolast',1677738462,NULL);
INSERT INTO settings VALUES('SMART_status',NULL,'PASSED');
INSERT INTO settings VALUES('SMART_model',NULL,'ST3500312CS');
INSERT INTO settings VALUES('SMART_startstop',19429,NULL);
INSERT INTO settings VALUES('SMART_realloc',0,NULL);
DELETE FROM sqlite_sequence;
/****** CORRUPTION ERROR *******/
CREATE UNIQUE INDEX file on queue(file, action);
ROLLBACK; -- due to errors
sqlite>

Looks like a db reset by moving, renaming or deleting it [rm /mod/etc/webif.db].
What settings will be lost? (I'll remind myself what they are before reset if...readable!)

p.s. would a similar Humaxs' Webif.db be a suitable source donor?
 
Thank you BH.
My faulty webif.db file on Humax4 is currently 106,496 bytes while Humax1 is only 12,288 bytes. What size would be expected?

On a slightly unrelated note (but don't know where to post it), how would one search for the "phrase": webif.db ?
The forum says 3 char$ or less are not searched, unfortunately it appears to consider webif.db as two words, removing ".db".
The search for "webif.db" seems very pertinent to restrict my search to the database file information (hence the .db bit) and not webif in general.
I've tried quotes, double-quotes, brackets, braces, etc. Wiki says I can use webif* but webif.db* but does not help.
Maybe I have to use a search engine outside say from duckduck. i.e with; +"webif.db" +settings site:https://hummy.tv/forum
I get one result.
 
Thank you BH.
My faulty webif.db file on Humax4 is currently 106,496 bytes while Humax1 is only 12,288 bytes. What size would be expected?

On a slightly unrelated note (but don't know where to post it), how would one search for the "phrase": webif.db ?
The forum says 3 char$ or less are not searched, unfortunately it appears to consider webif.db as two words, removing ".db".
The search for "webif.db" seems very pertinent to restrict my search to the database file information (hence the .db bit) and not webif in general.
I've tried quotes, double-quotes, brackets, braces, etc. Wiki says I can use webif* but webif.db* but does not help.
Maybe I have to use a search engine outside say from duckduck. i.e with; +"webif.db" +settings site:https://hummy.tv/forum
I get one result.
hummy.tv webif.db gave about 20 results from here on DuckDuckGo for me.
 
My faulty webif.db file on Humax4 is currently 106,496 bytes while Humax1 is only 12,288 bytes. What size would be expected?
Mine is 3072 on box 1 and 12288 on box 2 (but they're running different sqlite3 versions).
The problem with yours is that there's a whole load of table data that doesn't belong there, which is presumably the source of the corruption. Doesn't explain how it got there though. The only table that should be there is 'settings' but even that is corrupted with loads of duplicates.
I would just delete it and start again. Then you can fix any settings via the WebIf as you come across them.
would a similar Humaxs' Webif.db be a suitable source donor?
Yes, assuming you had them configured the same. But I'd need to see a dump of that to confirm.

I was under some misapprehension about how the .recover command worked as well - but it makes no difference here.
 
Last edited:
Back
Top