MCS Keeper -> 1Password Error - Use of uninitialized value in join or string [Solved]
Getting this error also on Windows.
Use of uninitialized value in substitution (s///) at
/Users/jstillwa/Downloads/mrc-converter-suite/./Converters/Keeper.pm line 326 (#1)
(W uninitialized) An undefined value was used as if it were already
defined. It was interpreted as a "" or a 0, but maybe it was a mistake.
To suppress this warning assign a defined value to your variables.
To help you figure out what was undefined, perl will try to tell you the name of the variable (if any) that was undefined. In some cases it cannot do this, so it also tells you what operation you used the undefined value in. Note, however, that perl optimizes your program and the operation displayed in the warning may not necessarily appear literally in your program. For example, "that $foo" is usually optimized into "that " . $foo, and the warning will refer to the concatenation (.) operator, even though there is no . in your program.
Import summary:
236 items discovered
Export summary:
2 Credit Card items
4 Secure Note items
Use of uninitialized value in join or string at
/Users/jstillwa/Downloads/mrc-converter-suite/./MCS/Generators/PUX.pm line 663 (#1)
231 Login items
237 total items
You may now import the file below into 1Password 8:
/Users/jstillwa/Desktop/MCS_converted.1pux
The Perl is a bit too intense for me to parse exactly what it's trying to do around there. I do not have any custom record types, but I do have some custom fields and some One Time Passwords in the account.
File created does not import with a "The data model was malformed!" error.
Anyone have an thoughts on troubleshooting this?
Cheers!
1Password Version: 1Password for Mac 8.10.9 (81009046)
Extension Version: Not Provided
OS Version: 13.5 (22G74)
Browser: Not Provided
Comments
-
Sorry for the late reply. I have found and resolved what I believe to be the issue. It appears that Keeper can output an empty Folders list in the export. I've never seen this, and don't know what triggers it, but it's easy enough to work around.
I placed an updated Keeper.pm module in the suite's Custom folder. For your convenience, the direct link is:
https://www.dropbox.com/scl/fo/087jaba73ezd0zf005akb/h?rlkey=cbly8rbtwu3g3fjgat9btj08j&dl=0
Replace your Converters/Keeper.pm with this updated version. If that works with your data, I'll post this update in the next release version.
MrC.
0 -
Unfortunately, same error. Different line number though -
Use of uninitialized value in substitution (s///) at C:/Users/john/OneDrive -
Nucleix/Desktop/mrc-converter-suite-2023-06-02-1307/mrc-converter-suite/./Converters/Keeper.pm line 328 (#1)
(W uninitialized) An undefined value was used as if it were already
defined. It was interpreted as a "" or a 0, but maybe it was a mistake.
To suppress this warning assign a defined value to your variables.To help you figure out what was undefined, perl will try to tell you the name of the variable (if any) that was undefined. In some cases it cannot do this, so it also tells you what operation you used the undefined value in. Note, however, that perl optimizes your program and the operation displayed in the warning may not necessarily appear literally in your program. For example, "that $foo" is usually optimized into "that " . $foo, and the warning will refer to the concatenation (.) operator, even though there is no . in your program.
Import summary:
238 items discovered
Export summary:
2 Credit Card items
4 Secure Note items
Use of uninitialized value in join or string at C:/Users/john/OneDrive -
Nucleix/Desktop/mrc-converter-suite-2023-06-02-1307/mrc-converter-suite/./MCS/Generators/PUX.pm line 663 (#1)
233 Login items
239 total items
You may now import the file below into 1Password 8:
C:\Users\john\OneDrive - Nucleix\Desktop\MCS_converted.1pux0 -
Sorry for the trouble @jstillwa .
Your export has data that I'm unable to reproduce. The issue is with the portion of the record that indicates the record's folder. All exports that I create have a folders structure within the record that looks like:
"folders": [ { "folder": "Folder1\\Subfolder" } ]
The update that I provided to you tested for the possibility that your data may have had an empty folders list, such as:
"folders": [ { } ]
My test specifically looked for the only attribute that should exist within the folders list, which is folder. If your data contained some other attribute, such as unknown :
"folders": [ { "unknown": "xyx" } ]
then you'd receive the error message you indicate above. But, again, I've been unable to cause Keeper to create any such non-folder attribute.
I've updated the version I placed in Custom again, this time explicitly checking for the existence the folder attribute, and outputting a DEBUG line that would be helpful to me if you can provide it. It will list the other attributes found in your folders list (but not their values). It looks like this:
*** DEBUG: folder keys: 'unknown'
Hopefully this both resolves the issue for you, and provides me with some insight as to what additional information is being stored in the folders section.
0 -
I didn't get any output but the debug, but it did create an importable file.
The debugging I think provides a pretty obvious vector for the issue.*** DEBUG: folder keys: 'shared_folder'; 'can_edit'; 'can_share'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'shared_folder'; 'can_edit'; 'can_share'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'shared_folder'; 'can_edit'; 'can_share'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'shared_folder'; 'can_edit'; 'can_share'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'shared_folder'; 'can_edit'; 'can_share'
*** DEBUG: folder keys: 'shared_folder'; 'can_edit'; 'can_share'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'shared_folder'; 'can_edit'; 'can_share'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'shared_folder'; 'can_edit'; 'can_share'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'shared_folder'; 'can_edit'; 'can_share'
*** DEBUG: folder keys: 'shared_folder'; 'can_edit'; 'can_share'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'shared_folder'; 'can_edit'; 'can_share'
*** DEBUG: folder keys: 'shared_folder'; 'can_edit'; 'can_share'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_edit'; 'shared_folder'; 'can_share'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_share'; 'can_edit'; 'shared_folder'
*** DEBUG: folder keys: 'can_share'; 'shared_folder'; 'can_edit'0 -
Your reply got caught by the forum's anti-spam filter.
The reason I've been unable to replicate your data is that I have a personal trial account, not a family (or other) version, and as such, there is no folder sharing feature.
It seems we can safely ignore those attributes - the important one is the folder name, which you should have in your 1Password tags.
I'll remove the debug line and post an update to the suite. Thanks for your help on this. If you see any issues, please let me know.
0 -
Awesome, thank you for the prompt help!
0 -
@MrC,
Thank you for you help in resolving this issue!0