What steps will reproduce the problem?
1. Create and enable a module with this contents (mod_xxx.lua):
2. Start Prosody
3. Observe the error
Error initializing module 'xxx' on 'localhost': /usr/lib/prosody/util/datamanager.lua:203: bad argument #1 to 'next' (table expected, got string)
What version of the product are you using? On what operating system?
Note: the store file is still written and can be loaded with no problems. Only the store() function is unhappy about the non-table data. There doesn't seem to be any issues with such data in general.
FWIW, this also doesn't work with SQL storage. I don't think storing a string as a top level item is meant to be supported.
So, this isn't supported and that should be documented somewhere.