Skip to content

Conversation

@pgaskin
Copy link
Owner

@pgaskin pgaskin commented Dec 3, 2020

This fixes a regression in ee0eb7c (#47) which caused vague error messages to be returned instead of specific error messages from nm_config_parse__line_*. These functions should have returned true on error, but were returning NULL (i.e. false) instead, causing nm_config_parse to treat it as an unknown line type instead of returning the specific issue with the line. This regression does not cause any issues other than vague error messages being returned for certain errors during config parsing.

In addition, this fixes another regression discovered by @NiLuJe where configuration errors would persist in rare situations due to nm_config_files not clearing existing errors as expected. This issue does not happen if the config error menu item is pressed to see the error message since nm_menu_item_do clears errors.

fixes #99

@pgaskin pgaskin added this to the v0.5.0 milestone Dec 3, 2020
@pgaskin pgaskin requested a review from NiLuJe December 3, 2020 20:52
@pgaskin
Copy link
Owner Author

pgaskin commented Dec 3, 2020

@NiLuJe, can you see if you can reproduce the issue you reported (#98 (comment)) with this PR?

@NiLuJe
Copy link
Collaborator

NiLuJe commented Dec 4, 2020

Bogus extra options (e.g., the icons, which aren't supported in this branch) don't generate any warnings that I can see, so lemme try something sneakier...

@NiLuJe
Copy link
Collaborator

NiLuJe commented Dec 4, 2020

Seems to be a bit of buffer-chaining issue:

Added a bogus entry @ L 23

menu_item : foo : bar : baz

And, without touching the config file, just opening the NM menu over and over:

Details
Dec  4 01:22:20 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 01:22:20 nickel: (NickelMenu) global: scanning for config files (src/config.c:856)
Dec  4 01:22:20 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 01:22:20 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 01:22:20 nickel: (NickelMenu) global: changes detected (src/config.c:866)
Dec  4 01:22:20 nickel: (NickelMenu) global: parsing new config (src/config.c:869)
Dec  4 01:22:20 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/doc (src/config.c:249)
Dec  4 01:22:20 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/generators (src/config.c:249)
Dec  4 01:22:20 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/kfmon (src/config.c:249)
Dec  4 01:22:20 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/koreader (src/config.c:249)
Dec  4 01:22:20 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/niluje (src/config.c:249)
Dec  4 01:22:20 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/plato (src/config.c:249)
Dec  4 01:22:20 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/test (src/config.c:249)
Dec  4 01:22:20 nickel: (NickelMenu) ... error: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'foo' (src/config.c:381) (src/config.c:268) (src/config.c:873)
Dec  4 01:22:20 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:874)
Dec  4 01:22:20 nickel: (NickelMenu) revision = 2 (src/nickelmenu.cc:279)
Dec  4 01:22:20 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 01:22:20 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 01:22:20 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 01:22:28 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 01:22:28 nickel: (NickelMenu) global: scanning for config files (src/config.c:856)
Dec  4 01:22:28 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 01:22:28 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 01:22:28 nickel: (NickelMenu) ... error: parse config files: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'foo' (src/config.c:381) (src/config.c:268) (src/config.c:877) (src/config.c:860)
Dec  4 01:22:28 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:861)
Dec  4 01:22:28 nickel: (NickelMenu) revision = 3 (src/nickelmenu.cc:279)
Dec  4 01:22:28 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 01:22:28 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 01:22:28 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 01:22:34 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 01:22:34 nickel: (NickelMenu) global: scanning for config files (src/config.c:856)
Dec  4 01:22:34 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 01:22:34 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 01:22:34 nickel: (NickelMenu) ... error: scan for config files: parse config files: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'foo' (src/config.c:381) (src/config.c:268) (src/config.c:877) (src/config.c:864) (src/config.c:860)
Dec  4 01:22:34 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:861)
Dec  4 01:22:34 nickel: (NickelMenu) revision = 4 (src/nickelmenu.cc:279)
Dec  4 01:22:34 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 01:22:34 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 01:22:34 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 01:22:39 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 01:22:39 nickel: (NickelMenu) global: scanning for config files (src/config.c:856)
Dec  4 01:22:39 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 01:22:39 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 01:22:39 nickel: (NickelMenu) ... error: scan for config files: scan for config files: parse config files: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'foo' (src/config.c:381) (src/config.c:268) (src/config.c:877) (src/config.c:864
Dec  4 01:22:39 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:861)
Dec  4 01:22:39 nickel: (NickelMenu) revision = 5 (src/nickelmenu.cc:279)
Dec  4 01:22:39 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 01:22:39 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 01:22:39 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 01:23:13 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 01:23:13 nickel: (NickelMenu) global: scanning for config files (src/config.c:856)
Dec  4 01:23:13 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 01:23:13 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 01:23:13 nickel: (NickelMenu) ... error: scan for config files: scan for config files: scan for config files: parse config files: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'foo' (src/config.c:381) (src/config.c:268) (src/config.c
Dec  4 01:23:13 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:861)
Dec  4 01:23:13 nickel: (NickelMenu) revision = 6 (src/nickelmenu.cc:279)
Dec  4 01:23:13 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 01:23:13 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 01:23:13 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 01:23:23 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 01:23:23 nickel: (NickelMenu) global: scanning for config files (src/config.c:856)
Dec  4 01:23:23 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 01:23:23 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 01:23:23 nickel: (NickelMenu) ... error: scan for config files: scan for config files: scan for config files: scan for config files: parse config files: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'foo' (src/config.c:381) (src/conf
Dec  4 01:23:23 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:861)
Dec  4 01:23:23 nickel: (NickelMenu) revision = 7 (src/nickelmenu.cc:279)
Dec  4 01:23:23 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 01:23:23 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 01:23:23 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 01:23:27 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 01:23:27 nickel: (NickelMenu) global: scanning for config files (src/config.c:856)
Dec  4 01:23:27 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 01:23:27 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 01:23:27 nickel: (NickelMenu) ... error: scan for config files: scan for config files: scan for config files: scan for config files: scan for config files: parse config files: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'foo' (src/
Dec  4 01:23:27 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:861)
Dec  4 01:23:27 nickel: (NickelMenu) revision = 8 (src/nickelmenu.cc:279)
Dec  4 01:23:27 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 01:23:27 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 01:23:27 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)

(c.f., the ... error one)

@NiLuJe
Copy link
Collaborator

NiLuJe commented Dec 4, 2020

Commenting out the offending entry doesn't break the chain (meaning I still get a single Config Error menu entry).

@NiLuJe
Copy link
Collaborator

NiLuJe commented Dec 4, 2020

To be clear, I'm updating the config file live, on device, via nano. (And closing it).

@NiLuJe
Copy link
Collaborator

NiLuJe commented Dec 4, 2020

(And breaking it earlier doesn't help either, but I can't really tell you what the log says, because by this point it's just a repetition of scan for config files: ^^).

Dec  4 01:28:21 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 01:28:21 nickel: (NickelMenu) global: scanning for config files (src/config.c:856)
Dec  4 01:28:21 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 01:28:21 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 01:28:21 nickel: (NickelMenu) ... error: scan for config files: scan for config files: scan for config files: scan for config files: scan for config files: scan for config files: scan for config files: scan for config files: scan for config files: scan for config files: p
Dec  4 01:28:21 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:861)
Dec  4 01:28:21 nickel: (NickelMenu) revision = 13 (src/nickelmenu.cc:279)
Dec  4 01:28:21 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 01:28:21 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 01:28:21 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)

@pgaskin
Copy link
Owner Author

pgaskin commented Dec 4, 2020

Bogus extra options (e.g., the icons, which aren't supported in this branch) don't generate any warnings that I can see, so lemme try something sneakier...

That's by design.

Seems to be a bit of buffer-chaining issue:

That's odd. I'll look into it further tomorrow.

Edit: @NiLuJe, what does it say if you add NM_LOG("TEST: %s\n", nm_err_peek()); here?

Edit 1: If that shows the old error, does adding NM_ERR_SET(NULL); here fix it? If so, I think I know why this is happening.

@NiLuJe
Copy link
Collaborator

NiLuJe commented Dec 4, 2020

First patch:

Dec  4 03:19:50 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 03:19:50 nickel: (NickelMenu) global: scanning for config files (src/config.c:858)
Dec  4 03:19:50 nickel: (NickelMenu) TEST: (null)  (src/config.c:105)
Dec  4 03:19:50 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 03:19:50 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 03:19:50 nickel: (NickelMenu) global: changes detected (src/config.c:868)
Dec  4 03:19:50 nickel: (NickelMenu) global: parsing new config (src/config.c:871)
Dec  4 03:19:50 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/doc (src/config.c:251)
Dec  4 03:19:50 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/generators (src/config.c:251)
Dec  4 03:19:50 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/kfmon (src/config.c:251)
Dec  4 03:19:50 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/koreader (src/config.c:251)
Dec  4 03:19:50 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/niluje (src/config.c:251)
Dec  4 03:19:50 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/plato (src/config.c:251)
Dec  4 03:19:50 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/test (src/config.c:251)
Dec  4 03:19:50 nickel: (NickelMenu) ... error: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'baz' (src/config.c:383) (src/config.c:270) (src/config.c:875)
Dec  4 03:19:50 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:876)
Dec  4 03:19:50 nickel: (NickelMenu) revision = 1 (src/nickelmenu.cc:279)
Dec  4 03:19:50 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 03:19:50 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 03:19:50 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 03:19:58 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 03:19:58 nickel: (NickelMenu) global: scanning for config files (src/config.c:858)
Dec  4 03:19:58 nickel: (NickelMenu) TEST: parse config files: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'baz' (src/config.c:383) (src/config.c:270) (src/config.c:879)  (src/config.c:105)
Dec  4 03:19:58 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 03:19:58 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 03:19:58 nickel: (NickelMenu) ... error: parse config files: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'baz' (src/config.c:383) (src/config.c:270) (src/config.c:879) (src/config.c:862)
Dec  4 03:19:58 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:863)
Dec  4 03:19:58 nickel: (NickelMenu) revision = 2 (src/nickelmenu.cc:279)
Dec  4 03:19:58 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 03:19:58 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 03:19:59 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 03:20:05 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 03:20:05 nickel: (NickelMenu) global: scanning for config files (src/config.c:858)
Dec  4 03:20:05 nickel: (NickelMenu) TEST: scan for config files: parse config files: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'baz' (src/config.c:383) (src/config.c:270) (src/config.c:879) (src/config.c:866)  (src/config.c:105)
Dec  4 03:20:05 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 03:20:05 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 03:20:05 nickel: (NickelMenu) ... error: scan for config files: parse config files: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'baz' (src/config.c:383) (src/config.c:270) (src/config.c:879) (src/config.c:866) (src/config.c:862)
Dec  4 03:20:05 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:863)
Dec  4 03:20:05 nickel: (NickelMenu) revision = 3 (src/nickelmenu.cc:279)
Dec  4 03:20:05 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 03:20:05 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 03:20:06 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)

Second one doesn't build?

In file included from src/config.c:16:0:
src/config.c: In function 'nm_config_files':
src/util.h:46:21: error: expected ')' before string constant
     nm_err_set((fmt " (%s:%d)"), ##__VA_ARGS__, __FILE__, __LINE__);
                     ^
src/config.c:99:5: note: in expansion of macro 'NM_ERR_SET'
     NM_ERR_SET(NULL);
     ^
src/util.h:46:21: error: too many arguments for format [-Werror=format-extra-args]
     nm_err_set((fmt " (%s:%d)"), ##__VA_ARGS__, __FILE__, __LINE__);
                     ^
src/config.c:99:5: note: in expansion of macro 'NM_ERR_SET'
     NM_ERR_SET(NULL);
     ^
cc1: all warnings being treated as errors

@NiLuJe
Copy link
Collaborator

NiLuJe commented Dec 4, 2020

nm_err_set(NULL); works, though:

Message is up-to-date, and breaking the config differently or fixing it works :)

Details
Dec  4 03:25:11 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 03:25:11 nickel: (NickelMenu) global: scanning for config files (src/config.c:860)
Dec  4 03:25:11 nickel: (NickelMenu) TEST: (null)  (src/config.c:107)
Dec  4 03:25:11 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 03:25:11 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 03:25:11 nickel: (NickelMenu) global: changes detected (src/config.c:870)
Dec  4 03:25:11 nickel: (NickelMenu) global: parsing new config (src/config.c:873)
Dec  4 03:25:11 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/doc (src/config.c:253)
Dec  4 03:25:11 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/generators (src/config.c:253)
Dec  4 03:25:11 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/kfmon (src/config.c:253)
Dec  4 03:25:11 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/koreader (src/config.c:253)
Dec  4 03:25:11 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/niluje (src/config.c:253)
Dec  4 03:25:11 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/plato (src/config.c:253)
Dec  4 03:25:11 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/test (src/config.c:253)
Dec  4 03:25:11 nickel: (NickelMenu) ... error: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'baz' (src/config.c:385) (src/config.c:272) (src/config.c:877)
Dec  4 03:25:11 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:878)
Dec  4 03:25:11 nickel: (NickelMenu) revision = 1 (src/nickelmenu.cc:279)
Dec  4 03:25:11 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 03:25:11 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 03:25:11 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 03:25:20 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 03:25:20 nickel: (NickelMenu) global: scanning for config files (src/config.c:860)
Dec  4 03:25:20 nickel: (NickelMenu) TEST: parse config files: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'baz' (src/config.c:385) (src/config.c:272) (src/config.c:881)  (src/config.c:107)
Dec  4 03:25:20 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 03:25:20 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 03:25:20 nickel: (NickelMenu) global: changes detected (src/config.c:870)
Dec  4 03:25:20 nickel: (NickelMenu) global: parsing new config (src/config.c:873)
Dec  4 03:25:20 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/doc (src/config.c:253)
Dec  4 03:25:20 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/generators (src/config.c:253)
Dec  4 03:25:20 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/kfmon (src/config.c:253)
Dec  4 03:25:20 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/koreader (src/config.c:253)
Dec  4 03:25:20 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/niluje (src/config.c:253)
Dec  4 03:25:20 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/plato (src/config.c:253)
Dec  4 03:25:20 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/test (src/config.c:253)
Dec  4 03:25:20 nickel: (NickelMenu) ... error: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'baz' (src/config.c:385) (src/config.c:272) (src/config.c:877)
Dec  4 03:25:20 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:878)
Dec  4 03:25:20 nickel: (NickelMenu) revision = 2 (src/nickelmenu.cc:279)
Dec  4 03:25:20 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 03:25:20 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 03:25:20 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 03:25:26 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 03:25:26 nickel: (NickelMenu) global: scanning for config files (src/config.c:860)
Dec  4 03:25:26 nickel: (NickelMenu) TEST: parse config files: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'baz' (src/config.c:385) (src/config.c:272) (src/config.c:881)  (src/config.c:107)
Dec  4 03:25:26 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 03:25:26 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 03:25:26 nickel: (NickelMenu) global: changes detected (src/config.c:870)
Dec  4 03:25:26 nickel: (NickelMenu) global: parsing new config (src/config.c:873)
Dec  4 03:25:26 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/doc (src/config.c:253)
Dec  4 03:25:26 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/generators (src/config.c:253)
Dec  4 03:25:26 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/kfmon (src/config.c:253)
Dec  4 03:25:26 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/koreader (src/config.c:253)
Dec  4 03:25:26 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/niluje (src/config.c:253)
Dec  4 03:25:26 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/plato (src/config.c:253)
Dec  4 03:25:26 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/test (src/config.c:253)
Dec  4 03:25:26 nickel: (NickelMenu) ... error: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'baz' (src/config.c:385) (src/config.c:272) (src/config.c:877)
Dec  4 03:25:26 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:878)
Dec  4 03:25:26 nickel: (NickelMenu) revision = 3 (src/nickelmenu.cc:279)
Dec  4 03:25:26 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 03:25:26 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 03:25:27 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 03:25:41 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 03:25:41 nickel: (NickelMenu) global: scanning for config files (src/config.c:860)
Dec  4 03:25:41 nickel: (NickelMenu) TEST: parse config files: file /mnt/onboard/.adds/nm/test: line 23: parse menu_item: field 2: unknown location 'baz' (src/config.c:385) (src/config.c:272) (src/config.c:881)  (src/config.c:107)
Dec  4 03:25:41 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 03:25:41 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 03:25:41 nickel: (NickelMenu) global: changes detected (src/config.c:870)
Dec  4 03:25:41 nickel: (NickelMenu) global: parsing new config (src/config.c:873)
Dec  4 03:25:41 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/doc (src/config.c:253)
Dec  4 03:25:41 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/generators (src/config.c:253)
Dec  4 03:25:41 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/kfmon (src/config.c:253)
Dec  4 03:25:41 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/koreader (src/config.c:253)
Dec  4 03:25:41 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/niluje (src/config.c:253)
Dec  4 03:25:41 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/plato (src/config.c:253)
Dec  4 03:25:41 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/test (src/config.c:253)
Dec  4 03:25:41 nickel: (NickelMenu) ... error: file /mnt/onboard/.adds/nm/test: line 24: parse menu_item: field 2: unknown location 'foo' (src/config.c:385) (src/config.c:272) (src/config.c:877)
Dec  4 03:25:41 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:878)
Dec  4 03:25:41 nickel: (NickelMenu) revision = 4 (src/nickelmenu.cc:279)
Dec  4 03:25:41 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 03:25:41 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 03:25:41 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 03:25:47 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 03:25:47 nickel: (NickelMenu) global: scanning for config files (src/config.c:860)
Dec  4 03:25:47 nickel: (NickelMenu) TEST: parse config files: file /mnt/onboard/.adds/nm/test: line 24: parse menu_item: field 2: unknown location 'foo' (src/config.c:385) (src/config.c:272) (src/config.c:881)  (src/config.c:107)
Dec  4 03:25:47 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 03:25:47 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 03:25:47 nickel: (NickelMenu) global: changes detected (src/config.c:870)
Dec  4 03:25:47 nickel: (NickelMenu) global: parsing new config (src/config.c:873)
Dec  4 03:25:47 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/doc (src/config.c:253)
Dec  4 03:25:47 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/generators (src/config.c:253)
Dec  4 03:25:47 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/kfmon (src/config.c:253)
Dec  4 03:25:47 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/koreader (src/config.c:253)
Dec  4 03:25:47 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/niluje (src/config.c:253)
Dec  4 03:25:47 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/plato (src/config.c:253)
Dec  4 03:25:47 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/test (src/config.c:253)
Dec  4 03:25:47 nickel: (NickelMenu) ... error: file /mnt/onboard/.adds/nm/test: line 24: parse menu_item: field 2: unknown location 'foo' (src/config.c:385) (src/config.c:272) (src/config.c:877)
Dec  4 03:25:47 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:878)
Dec  4 03:25:47 nickel: (NickelMenu) revision = 5 (src/nickelmenu.cc:279)
Dec  4 03:25:47 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 03:25:47 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 03:25:47 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 03:25:51 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 03:25:51 nickel: (NickelMenu) global: scanning for config files (src/config.c:860)
Dec  4 03:25:51 nickel: (NickelMenu) TEST: parse config files: file /mnt/onboard/.adds/nm/test: line 24: parse menu_item: field 2: unknown location 'foo' (src/config.c:385) (src/config.c:272) (src/config.c:881)  (src/config.c:107)
Dec  4 03:25:51 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 03:25:51 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 03:25:51 nickel: (NickelMenu) global: changes detected (src/config.c:870)
Dec  4 03:25:51 nickel: (NickelMenu) global: parsing new config (src/config.c:873)
Dec  4 03:25:51 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/doc (src/config.c:253)
Dec  4 03:25:51 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/generators (src/config.c:253)
Dec  4 03:25:51 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/kfmon (src/config.c:253)
Dec  4 03:25:51 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/koreader (src/config.c:253)
Dec  4 03:25:51 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/niluje (src/config.c:253)
Dec  4 03:25:51 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/plato (src/config.c:253)
Dec  4 03:25:51 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/test (src/config.c:253)
Dec  4 03:25:51 nickel: (NickelMenu) ... error: file /mnt/onboard/.adds/nm/test: line 24: parse menu_item: field 2: unknown location 'foo' (src/config.c:385) (src/config.c:272) (src/config.c:877)
Dec  4 03:25:51 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:878)
Dec  4 03:25:51 nickel: (NickelMenu) revision = 6 (src/nickelmenu.cc:279)
Dec  4 03:25:51 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 03:25:51 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 03:25:51 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 03:25:59 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 03:25:59 nickel: (NickelMenu) global: scanning for config files (src/config.c:860)
Dec  4 03:25:59 nickel: (NickelMenu) TEST: parse config files: file /mnt/onboard/.adds/nm/test: line 24: parse menu_item: field 2: unknown location 'foo' (src/config.c:385) (src/config.c:272) (src/config.c:881)  (src/config.c:107)
Dec  4 03:25:59 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 03:25:59 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 03:25:59 nickel: (NickelMenu) global: changes detected (src/config.c:870)
Dec  4 03:25:59 nickel: (NickelMenu) global: parsing new config (src/config.c:873)
Dec  4 03:25:59 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/doc (src/config.c:253)
Dec  4 03:25:59 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/generators (src/config.c:253)
Dec  4 03:25:59 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/kfmon (src/config.c:253)
Dec  4 03:25:59 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/koreader (src/config.c:253)
Dec  4 03:25:59 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/niluje (src/config.c:253)
Dec  4 03:25:59 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/plato (src/config.c:253)
Dec  4 03:25:59 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/test (src/config.c:253)
Dec  4 03:25:59 nickel: (NickelMenu) ... error: file /mnt/onboard/.adds/nm/test: line 24: parse menu_item: field 2: unknown location 'foo' (src/config.c:385) (src/config.c:272) (src/config.c:877)
Dec  4 03:25:59 nickel: (NickelMenu) global: freeing old config and replacing with error item (src/config.c:878)
Dec  4 03:25:59 nickel: (NickelMenu) revision = 7 (src/nickelmenu.cc:279)
Dec  4 03:25:59 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 03:25:59 nickel: (NickelMenu) adding item 'Config Error'... (src/nickelmenu.cc:306)
Dec  4 03:25:59 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)
Dec  4 03:26:09 nickel: (NickelMenu) checking for config updates (src/nickelmenu.cc:277)
Dec  4 03:26:09 nickel: (NickelMenu) global: scanning for config files (src/config.c:860)
Dec  4 03:26:09 nickel: (NickelMenu) TEST: parse config files: file /mnt/onboard/.adds/nm/test: line 24: parse menu_item: field 2: unknown location 'foo' (src/config.c:385) (src/config.c:272) (src/config.c:881)  (src/config.c:107)
Dec  4 03:26:09 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/. because it's a special file (src/config.c:43)
Dec  4 03:26:09 nickel: (NickelMenu) config: skipping /mnt/onboard/.adds/nm/.. because it's a special file (src/config.c:43)
Dec  4 03:26:09 nickel: (NickelMenu) global: changes detected (src/config.c:870)
Dec  4 03:26:09 nickel: (NickelMenu) global: parsing new config (src/config.c:873)
Dec  4 03:26:09 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/doc (src/config.c:253)
Dec  4 03:26:09 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/generators (src/config.c:253)
Dec  4 03:26:09 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/kfmon (src/config.c:253)
Dec  4 03:26:09 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/koreader (src/config.c:253)
Dec  4 03:26:09 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/niluje (src/config.c:253)
Dec  4 03:26:09 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/plato (src/config.c:253)
Dec  4 03:26:09 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/test (src/config.c:253)
Dec  4 03:26:09 nickel: (NickelMenu) config: reading config file /mnt/onboard/.adds/nm/zkobo_uncaged (src/config.c:253)
Dec  4 03:26:09 nickel: (NickelMenu) cfg(NM_CONFIG_TYPE_GENERATOR) : 1:kfmon(0x327cfa3d): (src/config.c:354)
Dec  4 03:26:09 nickel: (NickelMenu) cfg(NM_CONFIG_TYPE_MENU_ITEM) : 1:USB (src/config.c:342)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success, on_failure) : 0x327d2a05:force_usb_connection (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) cfg(NM_CONFIG_TYPE_MENU_ITEM) : 1:Force WiFi (src/config.c:342)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success, on_failure) : 0x327d15d9:toggle : force_wifi (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) cfg(NM_CONFIG_TYPE_MENU_ITEM) : 1:WiFi (src/config.c:342)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success, on_failure) : 0x327d2d95:autoconnect_silent (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) cfg(NM_CONFIG_TYPE_MENU_ITEM) : 4:Rescan (src/config.c:342)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success, on_failure) : 0x327d2a05:rescan_books (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) cfg(NM_CONFIG_TYPE_MENU_ITEM) : 4:Full Rescan (src/config.c:342)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success, on_failure) : 0x327d2a05:rescan_books_full (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) cfg(NM_CONFIG_TYPE_MENU_ITEM) : 1:Reboot (src/config.c:342)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success, on_failure) : 0x327d2c15:reboot (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) cfg(NM_CONFIG_TYPE_MENU_ITEM) : 2:Home (src/config.c:342)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success, on_failure) : 0x327d2a05:home (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) cfg(NM_CONFIG_TYPE_MENU_ITEM) : 2:Library (src/config.c:342)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success, on_failure) : 0x327d0fe5:library : library (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) cfg(NM_CONFIG_TYPE_MENU_ITEM) : 1:Kobo UNCaGED (src/config.c:342)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success, on_failure) : 0x327d3675:1000:quiet: /mnt/onboard/.adds/kobo-uncaged/scripts/ku-prereq-check.sh -f "4.13.12638" (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success) : 0x327cd3e1:2 (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_failure) : 0x327cd3a1:Firmware 4.13.12638 or newer is required. (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success, on_failure) : 0x327cd3e1:-1 (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success) : 0x327d3675:1000:quiet: /mnt/onboard/.adds/kobo-uncaged/scripts/ku-prereq-check.sh -n (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success) : 0x327cd3e1:4 (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_failure) : 0x327cd3d1:Installing NickelDBus... (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success) : 0x327d3675:1000:quiet: cp /mnt/onboard/.adds/kobo-uncaged/NickelDBus/ndb-kr.tgz /mnt/onboard/.kobo/KoboRoot.tgz (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success) : 0x327d2a05:rescan_books_full (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success, on_failure) : 0x327cd3e1:-1 (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success) : 0x327d3321:quiet: exec /mnt/onboard/.adds/kobo-uncaged/nm-start-ku.sh (src/config.c:344)
Dec  4 03:26:09 nickel: (NickelMenu) global: config updated, freeing old config and replacing with new one (src/config.c:884)
Dec  4 03:26:09 nickel: (NickelMenu) global: done swapping config (src/config.c:887)
Dec  4 03:26:09 nickel: (NickelMenu) global: running generators (src/config.c:890)
Dec  4 03:26:09 nickel: (NickelMenu) config: running generators (src/config.c:671)
Dec  4 03:26:09 nickel: (NickelMenu) config: running generator kfmon: (src/config.c:674)
Dec  4 03:26:09 nickel: (NickelMenu) generator: running generator (kfmon) () (1) (0x327cfa3d) (src/generator.c:13)
Dec  4 03:26:09 nickel: (NickelMenu) Got a 70 bytes reply from KFMon (with an EoT marker) (src/kfmon.c:146)
Dec  4 03:26:09 nickel: (NickelMenu) Parsing reply line: `3:koreader.png:KOReader` (src/kfmon.c:164)
Dec  4 03:26:09 nickel: (NickelMenu) Parsing reply line: `4:plato.png:Plato` (src/kfmon.c:164)
Dec  4 03:26:09 nickel: (NickelMenu) Parsing reply line: `5:usbnet.png:Toggle USBNet` (src/kfmon.c:164)
Dec  4 03:26:09 nickel: (NickelMenu) config: ... 3 items generated, removing previously generated items and replacing with new ones (src/config.c:688)
Dec  4 03:26:09 nickel: (NickelMenu) config: generated items (src/config.c:713)
Dec  4 03:26:09 nickel: (NickelMenu) cfg(NM_CONFIG_TYPE_MENU_ITEM) : 1:KOReader (src/config.c:718)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success, on_failure) : 0x327cd465:koreader.png (src/config.c:720)
Dec  4 03:26:09 nickel: (NickelMenu) cfg(NM_CONFIG_TYPE_MENU_ITEM) : 1:Plato (src/config.c:718)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success, on_failure) : 0x327cd465:plato.png (src/config.c:720)
Dec  4 03:26:09 nickel: (NickelMenu) cfg(NM_CONFIG_TYPE_MENU_ITEM) : 1:Toggle USBNet (src/config.c:718)
Dec  4 03:26:09 nickel: (NickelMenu) ...cfg(NM_CONFIG_TYPE_MENU_ITEM) (on_success, on_failure) : 0x327cd465:usbnet.png (src/config.c:720)
Dec  4 03:26:09 nickel: (NickelMenu) global: generators updated (src/config.c:892)
Dec  4 03:26:09 nickel: (NickelMenu) global: generators updated, freeing old items and replacing with new ones (src/config.c:895)
Dec  4 03:26:09 nickel: (NickelMenu) done replacing items (src/config.c:910)
Dec  4 03:26:09 nickel: (NickelMenu) revision = 9 (src/nickelmenu.cc:279)
Dec  4 03:26:09 nickel: (NickelMenu) building menu (src/nickelmenu.cc:281)
Dec  4 03:26:09 nickel: (NickelMenu) adding item 'KOReader'... (src/nickelmenu.cc:306)
Dec  4 03:26:09 nickel: (NickelMenu) adding item 'Plato'... (src/nickelmenu.cc:306)
Dec  4 03:26:09 nickel: (NickelMenu) adding item 'Toggle USBNet'... (src/nickelmenu.cc:306)
Dec  4 03:26:09 nickel: (NickelMenu) adding item 'USB'... (src/nickelmenu.cc:306)
Dec  4 03:26:09 nickel: (NickelMenu) adding item 'Force WiFi'... (src/nickelmenu.cc:306)
Dec  4 03:26:09 nickel: (NickelMenu) adding item 'WiFi'... (src/nickelmenu.cc:306)
Dec  4 03:26:09 nickel: (NickelMenu) adding item 'Reboot'... (src/nickelmenu.cc:306)
Dec  4 03:26:09 nickel: (NickelMenu) adding item 'Kobo UNCaGED'... (src/nickelmenu.cc:306)
Dec  4 03:26:09 nickel: (NickelMenu) showing menu (src/nickelmenu.cc:355)

@pgaskin
Copy link
Owner Author

pgaskin commented Dec 4, 2020

Second one doesn't build?

nm_err_set(NULL); works, though:

Looks like I mixed up the function and macro when typing the reply from my phone ;) .

Message is up-to-date, and breaking the config differently or fixing it works :)

That's good. So it is what I thought it was, which was a regression during the error handling and config parsing refactors where the error handling wasn't updated for the new behaviour. nm_config_files should have cleared the previous error on success (alternatively, callers of nm_global_config_update could have done it, but that's breaking abstraction).

I'm going to make sure everything else is correct and add this fix.

I guess the reason why this bug didn't show up for most people is because it only manifests itself if actions (including the error message) haven't been run in-between, since nm_menu_item_do clears errors.


P.S. You can use <details> and </details> with an optional <summary> and </summary> inside to collapse your logs. Put them on new lines with blank lines above and below each tag so it doesn't mess up the markdown parsing within.

@pgaskin pgaskin requested review from NiLuJe and removed request for NiLuJe December 4, 2020 02:53
@pgaskin pgaskin changed the title Fix returning error messages from config parser Fix error handling regressions in config parser Dec 4, 2020
@NiLuJe
Copy link
Collaborator

NiLuJe commented Dec 4, 2020

Yeah, I realized I'd never actually ran the actual "Config error" entry. I kinda never do since I usually have the log scrolling right in my face ;p.

But, in case it matters: the actual content of the popup is also sane after the fix ;).

@pgaskin pgaskin removed the request for review from NiLuJe December 4, 2020 03:08
@pgaskin
Copy link
Owner Author

pgaskin commented Dec 4, 2020

Everything appears to be correct now. I'm going to merge this.

Thanks for finding this regression @NiLuJe!

@pgaskin pgaskin merged commit ed39aed into master Dec 4, 2020
@pgaskin pgaskin deleted the pgaskin/config-error-fix branch December 4, 2020 03:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Incorrect error messages returned from config parser

3 participants