To protect your privacy: email us with billing or account questions instead of posting here.

MCS Keeper -> 1Password Error - Use of uninitialized value in join or string [Solved]

Options
jstillwa
jstillwa
Community Member
edited August 2023 in Memberships

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

  • MrC
    MrC
    Volunteer Moderator
    Options

    @jstillwa

    I’ll take a look during my morning coffee, and get back to you then.

  • MrC
    MrC
    Volunteer Moderator
    edited August 2023
    Options

    @jstillwa

    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.

  • jstillwa
    jstillwa
    Community Member
    Options

    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.1pux

  • MrC
    MrC
    Volunteer Moderator
    Options

    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.

  • jstillwa
    jstillwa
    Community Member
    Options

    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'

  • MrC
    MrC
    Volunteer Moderator
    Options

    @jstillwa

    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.

  • jstillwa
    jstillwa
    Community Member
    Options

    Awesome, thank you for the prompt help!

  • MrC
    MrC
    Volunteer Moderator
    Options

    You're very welcome, @jstillwa

    Enjoy 1Password!

  • @MrC,
    Thank you for you help in resolving this issue!

This discussion has been closed.