Open Claus2 opened 10 years ago
Hi, What filesystem are you creating the Sonospy database on? I use SQLite to create the database - it is giving a disk error, which can occur when using NFS. Mark.
Mark, thank you very much fort the quick reply.
I had placed sonospy in a shared folder on a QNAP, so this could well cause the problem.
Will check and report (test will take 36 hours).
Best regards
Claus.
Von: Mark Henkelis [mailto:notifications@github.com] Gesendet: Sonntag, 19. Oktober 2014 23:00 An: henkelis/sonospy Cc: Claus2 Betreff: Re: [sonospy] I/O error, when scanning large data-portions (#75)
Hi, What filesystem are you creating the Sonospy database on? I use SQLite to create the database - it is giving a disk error, which can occur when using NFS. Mark.
— Reply to this email directly or view it on GitHub https://github.com/henkelis/sonospy/issues/75#issuecomment-59665119 . https://github.com/notifications/beacon/9304229__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyOTM3MTU5NSwiZGF0YSI6eyJpZCI6NDYyMzcwOTN9fQ==--ecb23cfa3af86ae5ad47d48d0d04a427614f17f0.gif
Mark, there must be another reason for the I/O error, there is no NFS involved and the error is still there. Looks like - cs1.execute("""create table tempdb.tags_update as select * from tags_update""") - has Problems with large amount of data. Could ram-storage be the Problem? The Qnap TS-112 shows only 32MB of it.
Another solution would be, to create the database with Windows and then move it to Unix and use it there. I tried it using the IP-address of the NAS and get the messages from the unix Proxy
customsd call success: True, args: {'containerType': 'MService', 'secureUri': 'http://10.136.148.22:50104/smapi/control', 'authType': 'Anonymous', 'name': 'TS112', 'sid': '240', 'presentationMapVersion': '4', 'presentationMapUri': u'http://10.136.148.22:50104/5e0fc086-1c37-4648-805c-ec2aba2b0a27.xml', 'pollInterval': '30', 'uri': 'http://10.136.148.22:50104/smapi/control', 'caps': ['search', 'trFavorites', 'alFavorites', 'arFavorites', 'ucPlaylists']}
/share/HDA_DATA/.qpkg/sonospy-msrefactor5/sonospy/brisa/core/webserver.py:534: UserWarning: path does not exist warnings.warn(invalid_path_exists)
/share/HDA_DATA/.qpkg/sonospy-msrefactor5/sonospy/brisa/core/webserver.py:537: UserWarning: path must be absolute warnings.warn(invalid_path_abs)
The Sonos Controller Shows the Index correctly, but when starting a title, it tells me "file not found".
Would be great, if you still have some ideas to get Sonospy running. Best regards, Claus
after some experiments, the solution for me is, to create the database under Windows, export the table "tracks" with sqliteBrowser as csv-file, adapt the path-info to Unix-Standards with Notepad++, reimport to Sonospy-db and copy the dB to Unix. It's not very handy, but works and is easier than expected. AND .... it allows me, to use your excellent tool, thank you very much for it.
On 22/10/14 10:52, Claus2 wrote:
Mark, there must be another reason for the I/O error, there is no NFS involved and the error is still there. Looks like - cs1.execute("""create table tempdb.tags_update as select
- from tags_update""") - has Problems with large amount of data. Could ram-storage be the Problem? The Qnap TS-112 shows only 32MB of it.
It could be. I have a Qnap, when I get some time I'll look into it.
Another solution would be, to create the database with Windows and then move it to Unix and use it there. I tried it using the IP-address of the NAS and get the messages from the unix Proxy
customsd call success: True, args: {'containerType': 'MService', 'secureUri': 'http://10.136.148.22:50104/smapi/control', 'authType': 'Anonymous', 'name': 'TS112', 'sid': '240', 'presentationMapVersion': '4', 'presentationMapUri': u'http://10.136.148.22:50104/5e0fc086-1c37-4648-805c-ec2aba2b0a27.xml', 'pollInterval': '30', 'uri': 'http://10.136.148.22:50104/smapi/control', 'caps': ['search', 'trFavorites', 'alFavorites', 'arFavorites', 'ucPlaylists']}
/share/HDA_DATA/.qpkg/sonospy-msrefactor5/sonospy/brisa/core/webserver.py:534: UserWarning: path does not exist warnings.warn(invalid_path_exists)
/share/HDA_DATA/.qpkg/sonospy-msrefactor5/sonospy/brisa/core/webserver.py:537: UserWarning: path must be absolute warnings.warn(invalid_path_abs)
That suggests that the path you have created from the scan is not one that the Qnap can understand (Windows vs Linux probably).
Hi Mark, your solution is so promising, that I would really like to get it work. Actually, I get an I/O-Error with the scan. It works well for smaller portions, but at some Level, the scan ends with an I/O error. There are a lot of tags and a big amount of tag-data involved (classical Music), could this cause a Problem? Would be great, if you could help me to solve this Problem. Thank you in advance. Claus
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
/share/HDA_DATA/Public/sonospy/sonospy-msrefactor5/sonospy/movetags.py in()
2592
2593 if name == "main":
2594 status = main()
2595 sys.exit(status)
2596
status undefined
main =
/share/HDA_DATA/Public/sonospy/sonospy-msrefactor5/sonospy/movetags.py in main(argv=None) 2587 empty_database(trackdatabase) 2588 check_target_database_exists(trackdatabase) 2589 process_tags(args, options, tagdatabase, trackdatabase) 2590 filelog.close_log_files() 2591 return 0 global process_tags =
args = []
options = <Values at 0xaabf30: {'the_processing': 'remove'...b', 'quiet': False, 'tagdatabase': 'Sonospy.db'}>
tagdatabase = '/share/HDA_DATA/Public/sonospy/sonospy-msrefactor5/sonospy/Sonospy.db'
trackdatabase = '/share/HDA_DATA/Public/sonospy/sonospy-msrefactor5/sonospy/Sonospy.db'
/share/HDA_DATA/Public/sonospy/sonospy-msrefactor5/sonospy/movetags.py in process_tags(args=[], options=<Values at 0xaabf30: {'the_processing': 'remove'...b', 'quiet': False, 'tagdatabase': 'Sonospy.db'}>, tagdatabase='/share/HDA_DATA/Public/sonospy/sonospy-msrefactor5/sonospy/Sonospy.db', trackdatabase='/share/HDA_DATA/Public/sonospy/sonospy-msrefactor5/sonospy/Sonospy.db') 69 cs1 = db1.cursor() 70 cs1.execute("attach '' as tempdb") 71 cs1.execute("""create table tempdb.tags_update as select * from tags_update""") 72 cs1.execute("""create table tempdb.tags as select * from tags""") 73 cs1.execute("""create table tempdb.workvirtuals_update as select * from workvirtuals_update""") cs1 =
cs1.execute =
<class 'sqlite3.OperationalError'>: disk I/O error
class = <class 'sqlite3.OperationalError'>
delattr = <method-wrapper 'delattr' of OperationalError object>
dict = {}
doc = None
format =
getattribute = <method-wrapper 'getattribute' of OperationalError object>
getitem = <method-wrapper 'getitem' of OperationalError object>
getslice = <method-wrapper 'getslice' of OperationalError object>
hash = <method-wrapper 'hash' of OperationalError object>
init = <method-wrapper 'init' of OperationalError object>
module = 'sqlite3'
new =
reduce =
reduce_ex =
repr = <method-wrapper 'repr' of OperationalError object>
setattr = <method-wrapper 'setattr' of OperationalError object>
setstate =
sizeof =
str = <method-wrapper 'str' of OperationalError object>
subclasshook =
unicode =
weakref = None
args = ('disk I/O error',)
message = 'disk I/O error'
The above is a description of an error in a Python program. Here is the original traceback:
Traceback (most recent call last): File "./movetags.py", line 2594, in
status = main()
File "./movetags.py", line 2589, in main
process_tags(args, options, tagdatabase, trackdatabase)
File "./movetags.py", line 71, in process_tags
cs1.execute("""create table tempdb.tags_update as select * from tags_update""")
OperationalError: disk I/O error