chore: migrate config to lua & avoid xml parsing crash#7
chore: migrate config to lua & avoid xml parsing crash#7mwoz123 merged 1 commit intomwoz123:simple-rss-downloader-pluginfrom
Conversation
|
|
||
| local initialized = false -- for only once lazy initialization | ||
| local FEED_CONFIG_FILE = "feeds.xml" | ||
| local FEED_CONFIG_FILE = "feed_config.lua" |
There was a problem hiding this comment.
File type/structure is lua, ok.
But can it have different extension - ".conf"?
E. G. "feed.conf", "feed_source.conf" etc, so it's explicitly seen that's user configuration file, not another developer file?
Does lua support that?
There was a problem hiding this comment.
In terms of LUA vm, it just reads a stream of text and run the code, so extension doesn't matter. My concerns with .conf suffix are:
- inconsistency naming between other existing configs like
settings.reader.luaand all the metadata in sdr folders. - no indication of what config syntax is supported, i.e. when a user opens a
.conffile, they won't be able to know what's the expected syntax.
Do you think it would good enough to have that _config part in the filename? In the long run, no one should be manually editing this file. The next iteration should add a UI for managing this config.
There was a problem hiding this comment.
Ok. Let's keep it as is, as you're saying UI is not so far away.
| -- list your feeds here: | ||
| -- only supports http URL for now | ||
| -- set limit to "0" means no download, "-1" no limit. | ||
| { "http://www.huffingtonpost.com/feeds/index.xml", limit = 2 }, |
There was a problem hiding this comment.
btw I think we should have at least 2 feed sources in our example config.
I'll add one.
It will introduce some minor noise, but too much stuff is simply not seen otherwise, for example:
*:E
```
02-09 12:45:53.359 2580 2609 E IconLoader: Unexpected null component name or activity info: ComponentInfo{org.koreader.launcher/org.koreader.launcher.MainActivity}, null
```
*:F
```
--------- beginning of system
--------- beginning of main
--------- beginning of crash
02-09 12:47:31.275 4985 5003 F libc : /home/frans/src/kobo/koreader/base/thirdparty/filemq/build/i686-linux-android-debug/filemq-prefix/src/filemq/src/fmq_client.c:170: fmq_client_set_resync: assertion "self" failed
02-09 12:47:31.275 4985 5003 F libc : Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 5003 (Thread-37), pid 4985 (reader.launcher)
02-09 12:47:31.512 5085 5085 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-09 12:47:31.512 5085 5085 F DEBUG : Build fingerprint: 'Android/sdk_phone_x86_64/generic_x86_64:9/PSR1.180720.012/4923214:userdebug/test-keys'
02-09 12:47:31.512 5085 5085 F DEBUG : Revision: '0'
02-09 12:47:31.513 5085 5085 F DEBUG : ABI: 'x86'
02-09 12:47:31.513 5085 5085 F DEBUG : pid: 4985, tid: 5003, name: Thread-37 >>> org.koreader.launcher <<<
02-09 12:47:31.513 5085 5085 F DEBUG : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
02-09 12:47:31.513 5085 5085 F DEBUG : Abort message: '/home/frans/src/kobo/koreader/base/thirdparty/filemq/build/i686-linux-android-debug/filemq-prefix/src/filemq/src/fmq_client.c:170: fmq_client_set_resync: assertion "self" failed'
02-09 12:47:31.513 5085 5085 F DEBUG : eax 00000000 ebx 00001379 ecx 0000138b edx 00000006
02-09 12:47:31.513 5085 5085 F DEBUG : edi 00000000 esi 00000000
02-09 12:47:31.513 5085 5085 F DEBUG : ebp 33167a17 esp de3e9528 eip f70d8b59
02-09 12:47:31.515 5085 5085 F DEBUG :
02-09 12:47:31.515 5085 5085 F DEBUG : backtrace:
02-09 12:47:31.515 5085 5085 F DEBUG : #00 pc 00000b59 [vdso:f70d8000] (__kernel_vsyscall+9)
02-09 12:47:31.515 5085 5085 F DEBUG : #1 pc 0001fc08 /system/lib/libc.so (syscall+40)
02-09 12:47:31.515 5085 5085 F DEBUG : #2 pc 000321f3 /system/lib/libc.so (abort+115)
02-09 12:47:31.515 5085 5085 F DEBUG : #3 pc 00032681 /system/lib/libc.so (__assert2+49)
02-09 12:47:31.515 5085 5085 F DEBUG : #4 pc 000046b0 /data/data/org.koreader.launcher/files/libs/libfmq.so.1
02-09 12:47:31.515 5085 5085 F DEBUG : #5 pc 00008e54 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #6 pc 00056a61 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #7 pc 0006ed92 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #8 pc 00006fc9 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #9 pc 00061f73 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #10 pc 00006fc9 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #11 pc 00061f73 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #12 pc 00006fc9 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #13 pc 0001c470 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so (lua_pcall+80)
02-09 12:47:31.515 5085 5085 F DEBUG : #14 pc 0000571a /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so (android_main+458)
02-09 12:47:31.515 5085 5085 F DEBUG : koreader#15 pc 00070a38 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : koreader#16 pc 0009cce5 /system/lib/libc.so (__pthread_start(void*)+53)
02-09 12:47:31.515 5085 5085 F DEBUG : koreader#17 pc 00033c1b /system/lib/libc.so (__start_thread+75)
```
It will introduce some minor noise, but too much stuff is simply not seen otherwise, for example:
*:E
```
02-09 12:45:53.359 2580 2609 E IconLoader: Unexpected null component name or activity info: ComponentInfo{org.koreader.launcher/org.koreader.launcher.MainActivity}, null
```
*:F
```
--------- beginning of system
--------- beginning of main
--------- beginning of crash
02-09 12:47:31.275 4985 5003 F libc : /home/frans/src/kobo/koreader/base/thirdparty/filemq/build/i686-linux-android-debug/filemq-prefix/src/filemq/src/fmq_client.c:170: fmq_client_set_resync: assertion "self" failed
02-09 12:47:31.275 4985 5003 F libc : Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 5003 (Thread-37), pid 4985 (reader.launcher)
02-09 12:47:31.512 5085 5085 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-09 12:47:31.512 5085 5085 F DEBUG : Build fingerprint: 'Android/sdk_phone_x86_64/generic_x86_64:9/PSR1.180720.012/4923214:userdebug/test-keys'
02-09 12:47:31.512 5085 5085 F DEBUG : Revision: '0'
02-09 12:47:31.513 5085 5085 F DEBUG : ABI: 'x86'
02-09 12:47:31.513 5085 5085 F DEBUG : pid: 4985, tid: 5003, name: Thread-37 >>> org.koreader.launcher <<<
02-09 12:47:31.513 5085 5085 F DEBUG : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
02-09 12:47:31.513 5085 5085 F DEBUG : Abort message: '/home/frans/src/kobo/koreader/base/thirdparty/filemq/build/i686-linux-android-debug/filemq-prefix/src/filemq/src/fmq_client.c:170: fmq_client_set_resync: assertion "self" failed'
02-09 12:47:31.513 5085 5085 F DEBUG : eax 00000000 ebx 00001379 ecx 0000138b edx 00000006
02-09 12:47:31.513 5085 5085 F DEBUG : edi 00000000 esi 00000000
02-09 12:47:31.513 5085 5085 F DEBUG : ebp 33167a17 esp de3e9528 eip f70d8b59
02-09 12:47:31.515 5085 5085 F DEBUG :
02-09 12:47:31.515 5085 5085 F DEBUG : backtrace:
02-09 12:47:31.515 5085 5085 F DEBUG : #00 pc 00000b59 [vdso:f70d8000] (__kernel_vsyscall+9)
02-09 12:47:31.515 5085 5085 F DEBUG : #1 pc 0001fc08 /system/lib/libc.so (syscall+40)
02-09 12:47:31.515 5085 5085 F DEBUG : #2 pc 000321f3 /system/lib/libc.so (abort+115)
02-09 12:47:31.515 5085 5085 F DEBUG : #3 pc 00032681 /system/lib/libc.so (__assert2+49)
02-09 12:47:31.515 5085 5085 F DEBUG : #4 pc 000046b0 /data/data/org.koreader.launcher/files/libs/libfmq.so.1
02-09 12:47:31.515 5085 5085 F DEBUG : #5 pc 00008e54 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #6 pc 00056a61 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #7 pc 0006ed92 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #8 pc 00006fc9 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #9 pc 00061f73 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #10 pc 00006fc9 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #11 pc 00061f73 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #12 pc 00006fc9 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : #13 pc 0001c470 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so (lua_pcall+80)
02-09 12:47:31.515 5085 5085 F DEBUG : #14 pc 0000571a /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so (android_main+458)
02-09 12:47:31.515 5085 5085 F DEBUG : koreader#15 pc 00070a38 /data/app/org.koreader.launcher-u3tYrWEK7wgvoJGvd1pTrA==/lib/x86/libluajit.so
02-09 12:47:31.515 5085 5085 F DEBUG : koreader#16 pc 0009cce5 /system/lib/libc.so (__pthread_start(void*)+53)
02-09 12:47:31.515 5085 5085 F DEBUG : koreader#17 pc 00033c1b /system/lib/libc.so (__start_thread+75)
```
No description provided.