Infinite loop - Convert no records found, try later

A Plugin to create Plots from INDIGO data and other sources
Mathiasw
Posts: 17
Joined: Fri Feb 13, 2015 2:39 pm

Infinite loop - Convert no records found, try later

Post by Mathiasw »

So here's what I did. I added a load of devices to IndigoPlotD, and all was fine. I am guessing that I have added 50 tracked variables from about 30 devices (some devices have multiple tracked items).

Then I tried to add a new device, Aeon House Power meter.

Indigo PlotD seems to get in an infinite loop, trying to read values over and over again, see log snippet below.

Code: Select all

44:03            -sql file if done, now reading  it 0 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50]
06:44:03            - theCol:51; updatesALL:True; sqlDynamic:batch2Days; sqlHistListStatus:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50]
06:44:03            -Convert no records found, try later 1
06:44:03            -Convert no records found, try later 2
06:44:03            - theCol:52; updatesALL:True; sqlDynamic:batch2Days; sqlHistListStatus:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50]
06:44:03            -Convert no records found, try later 1
06:44:03            -Convert no records found, try later 2
06:44:04            - clearSqlData sqlupdates: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
06:44:04            -SQL import           2018-10-26 06:44:04.024191 ... sqlColListStatus: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
06:44:09            -readSQLdataBatch calledfrom    ...runConcurrentThread  sqlHistListStatus[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50]
06:44:09            -                               ...runConcurrentThread  sqlColListStatus [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
06:44:09            -sql file if done, now reading  it 0 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50]
06:44:09            - theCol:51; updatesALL:True; sqlDynamic:batch2Days; sqlHistListStatus:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50]
06:44:09            -Convert no records found, try later 1
06:44:09            -Convert no records found, try later 2
06:44:09            - theCol:52; updatesALL:True; sqlDynamic:batch2Days; sqlHistListStatus:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50]
06:44:09            -Convert no records found, try later 1
06:44:09            -Convert no records found, try later 2
06:44:10            - clearSqlData sqlupdates: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
06:44:10            -SQL import           2018-10-26 06:44:10.118709 ... sqlColListStatus: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
So, I thought "perhaps IndigoPlotD has a limit of 50 columns, I will delete a device I don't care about (Kenwood) to make more space, and re-add the Aeon House Power meter". I did that, with a restart between to break the infinite loop, and the effect was the same - an infinite looo with the message -Convert no records found, try later.

So, I thought "The data from Aeon House Power meter must be corrupt", so I looked at the SQLIte file for the device, but it does have data in, see below:

Code: Select all

SELECT t.* FROM device_history_254364479 t
     LIMIT 501

<snipped>

70	2018-10-26 05:41:01	1952	0.787		1952 seconds	0.787 kWh	
71	2018-10-26 05:41:01			1379.141			1379.141 W
72	2018-10-26 05:42:01	2012	0.81		2012 seconds	0.810 kWh	
73	2018-10-26 05:42:01			1393.347			1393.347 W
74	2018-10-26 05:43:01	2072	0.833		2072 seconds	0.833 kWh	
75	2018-10-26 05:43:01			1367.048			1367.048 W
76	2018-10-26 05:44:01	2132	0.856		2132 seconds	0.856 kWh	
77	2018-10-26 05:44:01			1272.01			1272.010 W
78	2018-10-26 05:45:01	2192	0.878		2192 seconds	0.878 kWh	
79	2018-10-26 05:45:01			1274.687			1274.687 W
80	2018-10-26 05:46:01	2252	0.899		2252 seconds	0.899 kWh	
81	2018-10-26 05:46:01			1252.315			1252.315 W
82	2018-10-26 05:47:01	2312	0.92		2312 seconds	0.920 kWh	
83	2018-10-26 05:47:01			1250.976			1250.976 W
So then I thought "I'll just stop fiddling with it and put it back the way it was!". So I deleted the Aeon House Power Meter, and put BACK the Kenwood exactly the way it was and Lo! The infinite loop is back again.

So I deleted the Kenwood AS WELL, and now IndigoPlotD is working again, but I don't seem to be able to add new devices - even ones which were previously working - without error.

Any idea what's going on, or how to rectify it?
User avatar
kw123
Posts: 8453
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: Infinite loop - Convert no records found, try later

Post by kw123 »

to remove junk config:

all in menu:
0. save current configuration to file just to have a current backup
1. reset all device variable at end of menu
2. select configuration to restore use file from from 3 days ago when it was still working in the menu

That can run into a timeout, but that is just the indigo time limit for menus, it will still execute, check the logfile

before that could you switch on sql debug and execute the sql statement shown in the logfile for that device /state in a terminal window and check if it creates data (remove the later part where it pipes data into a file ..)

Karl
Mathiasw
Posts: 17
Joined: Fri Feb 13, 2015 2:39 pm

Re: Infinite loop - Convert no records found, try later

Post by Mathiasw »

I have fund the issue, and presumably it my affect other people. IndioPlotD was still using the old (version 7) version of indigo_history.sqlite from

Code: Select all

/Library/Application Support/Perceptive Automation/Indigo 7.2/Logs
instead of from

Code: Select all

/Library/Application Support/Perceptive Automation/Indigo 7.2/Logs
, prior to a recent upgrade.

As an aside, how do I change the IndigoPlotD directory from

Code: Select all

~username/indigo/INDIGOPlotD
to

Code: Select all

/Library/Application Support/Perceptive Automation/Indigo 7.2/INDIGOPlotD
? Where in the config does this lie?

I would like to have all my Indigo files in ONE place (or is this not advisable)?

Thanks for your help.
User avatar
kw123
Posts: 8453
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: Infinite loop - Convert no records found, try later

Post by kw123 »

this is line twice..
/Library/Application Support/Perceptive Automation/Indigo 7.2/Logs
i guess you meant for one of them
/Library/Application Support/Perceptive Automation/Indigo 7/Logs

You can change THAT directory in config. I added that sometime ago when someone had his SQLITE file somewhere else. I am thinking about changing that back to the regular directory IF the file exists there.. but for the time being just change the path in config. That should do it . There is some logic in the plugin that might create a problem .. if /Library/Application Support/Perceptive Automation/Indigo 7/logs exists it might take that one.
So if you rename that old directory (to /Library/Application Support/Perceptive Automation/Indigo 7xx) it should work .

for your second point:
everything in one directory:
1. you can not put it into the plugin directory. Every time the plugin gets upgraded that WHOLE director gets replaced . Thats deep in the system.
2. there is now a place in indigo for the plugin specific LOG files , but I have not implemented that yet in this plugin
3. I have a directory for ALL my plugins in ~/indigo where temp/config files etc are written. That was setup ~ 3 years ago when indigo did not have policy where to put temp/config files etc (at least not to my knowledge)

In order to change that to "/Library/Application Support/Perceptive Automation/Indigo 7.2/xxx" i would need to move all files and subdirectories from ~/indigo
There is some logic in there. if the files already exists move again? which one is the newer version ...? I am shying away from that.

Karl
farberm
Posts: 393
Joined: Sun Feb 24, 2008 2:14 pm

Re: Infinite loop - Convert no records found, try later

Post by farberm »

Karl I am having a the following error with the following from the sql log file.

INDIGOplotD Error restarting SQL import, it seems to hang. If this happens several times reload INDIGOplotD :


Log info: 12:59:23 sql file if done, now reading it 0 [0, 50, 50]
12:59:23 theCol:1; updatesALL:True; sqlDynamic:batch-resetTo-batch; sqlHistListStatus:[0, 50, 50]
12:59:23 Convert no records found, try later 1
12:59:23 Convert no records found, try later 2
12:59:23 theCol:2; updatesALL:True; sqlDynamic:batch-resetTo-batch; sqlHistListStatus:[0, 50, 50]
12:59:23 Convert no records found, try later 1
12:59:23 Convert no records found, try later 2
12:59:23 clearSqlData sqlupdates: [0, 0, 0]
12:59:23 SQL imp. 2020-04-19 12:59:23.114936 ... sqlColListStatus: [0, 0, 0]
12:59:25 readSQLdataBatch calledfrom ...runConcurrentThread sqlHistListStatus[0, 50, 50]
12:59:25 ...runConcurrentThread sqlColListStatus [0, 0, 0]
12:59:25 sql file if done, now reading it 0 [0, 50, 50]
12:59:25 theCol:1; updatesALL:True; sqlDynamic:batch-resetTo-batch; sqlHistListStatus:[0, 50, 50]
12:59:25 Convert no records found, try later 1
12:59:25 Convert no records found, try later 2
12:59:25 theCol:2; updatesALL:True; sqlDynamic:batch-resetTo-batch; sqlHistListStatus:[0, 50, 50]
12:59:25 Convert no records found, try later 1
12:59:25 Convert no records found, try later 2
12:59:25 clearSqlData sqlupdates: [0, 0, 0]
12:59:25 SQL imp. 2020-04-19 12:59:25.149572 ... sqlColListStatus: [0, 0, 0]
12:59:27 readSQLdataBatch calledfrom ...runConcurrentThread sqlHistListStatus[0, 50, 50]
12:59:27 ...runConcurrentThread sqlColListStatus [0, 0, 0]


Config location of SQLite Database: /Library/Application Support/Perceptive Automation/Indigo 7.4/Logs/

What have I tried:

I have removed, reinstalled and reset indigoplotD plugin
I have also reloaded the plugin and tried re-loading SQL Data from Database - All

Do I need to rename the log file location?, It seems correct?

There is obviously a log file in there from the Indigo 7.4....
Attachments
Screen Shot 2020-04-19 at 1.05.35 PM.png
Screen Shot 2020-04-19 at 1.05.35 PM.png (84.35 KiB) Viewed 2771 times
Screen Shot 2020-04-19 at 1.05.47 PM.png
Screen Shot 2020-04-19 at 1.05.47 PM.png (358.63 KiB) Viewed 2771 times
User avatar
kw123
Posts: 8453
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: Infinite loop - Convert no records found, try later

Post by kw123 »

the detailed logfile is in
/Library/Application Support/Perceptive Automation/Indigo 7.4/Logs/com.karlwachs.INDIGOplotD/plugin.log
the std indigo log only gets warnings and errors

to diagnose: enable debug in config (3) SQLimport logging and run a n import all
that will create a lot of entries on the .... plugin.log file


could you send that to: karlwachs me com

also add: from menu "print/log device source parameters.." output

Karl
Post Reply

Return to “INDIGOplotD”