This is a staging forum for AgileBits, not an official support forum. Visit http://discussions.agilebits.com instead.

IllegalArgumentException on sync via dropbox

Roel
edited July 2011 in Android
Hi,



I've got 1password v1.0.6.202 on WinVista and on my Android 2.1 phone (SE Xperia X10 mini), with 1P v1.8.1.1. I use my Dropbox account for synchronizing the data files.

Initially everything worked fine. Today I added 11 Secure Notes to 1P on WinVista.



When I sync this on my phone I get an error. It says:



[quote]:

contents.js file changed.

Got file contents.js

Downloading 14 potential updates...

Got file A9CF.....4C8



=====INTERNAL ERROR:======

java.lang.IllegalArgumentException: time must be positive

at java.io.File.setLastModified (File.java:900)

at com.onepassword.passwordmanager.manager.FileMgr.downloadedFileToLocalFile(FileMgr.java:129)

at com.onepassword.passwordmanager.dropbox.SyncProcessor1Pass.loadDataFiles(SyncProcessor1Pass.java:134)

etc.. (stacktrace is longer)

:

[/quote]

This error occurs for each of the 14 files it tries to update.

After the update a green Success is reported, which I hard to believe. Well, the Secure Notes are sync'd. But there's something going wrong, I think.



Regards,



Roel

Comments

  • GeneY
    GeneY AWS Team
    Hello Roel,



    There was a non critical error with one secure item you were trying to import, somehow creation date on it came up negative (never saw this error but there might be an issue

    with Dropbox server reporting an invalid timestamp, (it may be related to different time zones, I need to take a look into it ?)).

    In any case,the error didn't stop 1Password Reader and all other items were synced ok.



    I recommend you to wait and resync your phone one more time, most likely the error will go away with the next sync and you will get the failing items synced too.



    Best regards,

    Gene

    Android developer <img src='http://forum.agile.ws/public/style_emoticons/<#EMO_DIR#>/rolleyes.gif' class='bbc_emoticon' alt=':rolleyes:' />



    [quote name='Roel' timestamp='1310483596' post='31828']

    Hi,



    I've got 1password v1.0.6.202 on WinVista and on my Android 2.1 phone (SE Xperia X10 mini), with 1P v1.8.1.1. I use my Dropbox account for synchronizing the data files.

    Initially everything worked fine. Today I added 11 Secure Notes to 1P on WinVista.



    When I sync this on my phone I get an error. It says:





    This error occurs for each of the 14 files it tries to update.

    After the update a green Success is reported, which I hard to believe. Well, the Secure Notes are sync'd. But there's something going wrong, I think.



    Regards,



    Roel

    [/quote]
  • I am actually having this same problem. I have tried to sync multiple times and always get the IllegalArgumentException on two files. I even tried clearing out the 1Password data from my device and I am still having this issue.



    Any ideas? Is there anything I can send to help diagnose?
  • khad
    khad Social Choreographer
    If you are using 1Password for Mac, you can rebuild your data file ([b]Help > Troubleshooting > Rebuild Data File[/b]). This will re-create all the files that make up your data which may resolve a timestamp issue. If you are using 1Password for Windows, you might try moving your data outside of Dropbox, wait for it to finish syncing to Dropbox servers on your PC, and then move the data back into your Dropbox folder. This may also kickstart the syncing/timestamp. Be sure to wait for Dropbox to finish syncing on your PC before attempting to sync again in Android.



    I hope that helps. Please let me know.



    Thanks!
  • [quote name='khad' timestamp='1311030893' post='32312']

    If you are using 1Password for Mac, you can rebuild your data file ([b]Help > Troubleshooting > Rebuild Data File[/b]). This will re-create all the files that make up your data which may resolve a timestamp issue. If you are using 1Password for Windows, you might try moving your data outside of Dropbox, wait for it to finish syncing to Dropbox servers on your PC, and then move the data back into your Dropbox folder. This may also kickstart the syncing/timestamp. Be sure to wait for Dropbox to finish syncing on your PC before attempting to sync again in Android.



    I hope that helps. Please let me know.



    Thanks!

    [/quote]



    I also have the very same issue on a Samsung Android Tab, which appears when there is only 2 entries to sync. Since I have both Mac & PC version, I'll try the rebuild data file on the MAC.
  • MerleOne
    edited July 2011
    [quote name='khad' timestamp='1311030893' post='32312']

    If you are using 1Password for Mac, you can rebuild your data file ([b]Help > Troubleshooting > Rebuild Data File[/b]). This will re-create all the files that make up your data which may resolve a timestamp issue. If you are using 1Password for Windows, you might try moving your data outside of Dropbox, wait for it to finish syncing to Dropbox servers on your PC, and then move the data back into your Dropbox folder. This may also kickstart the syncing/timestamp. Be sure to wait for Dropbox to finish syncing on your PC before attempting to sync again in Android.



    I hope that helps. Please let me know.



    Thanks!

    [/quote]



    Done ! It did work fine, I have rebuilt the data file, waited to dropbox to sync from the Mac to the "Cloud", then sync'ed from Cloud to Android Galaxy Tab and the error is gone.
  • GeneY
    GeneY AWS Team
    edited July 2011
    Hello MerleOne,



    There is a bug in 1Password for Windows introduced couple of builds ago: for some records timestamp is set as a negative value.

    As a result, 1Password Reader complains when it process a secure item with a negative timestamp and ignore the item during Dropbox synchronization.

    The fix will be included with 1Password for Windows release 1.0.7.BETA-209.



    Please stay tuned for the updates and let me know if you need an additional information on that or any other issues.



    Best regards,

    Gene

    Android developer <img src='http://forum.agile.ws/public/style_emoticons/<#EMO_DIR#>/rolleyes.gif' class='bbc_emoticon' alt=':rolleyes:' />





    [quote name='MerleOne' timestamp='1311080401' post='32336']

    Done ! It did work fine, I have rebuilt the data file, waited to dropbox to sync from the Mac to the "Cloud", then sync'ed from Cloud to Android Galaxy Tab and the error is gone.

    [/quote]
  • [quote name='GeneY' timestamp='1311174262' post='32429']

    Hello MerleOne,



    There is a bug in 1Password for Windows introduced couple of builds ago: for some records timestamp is set as a negative value.

    As a result, 1Password Reader complains when it process a secure item with a negative timestamp and ignore the item during Dropbox synchronization.

    The fix will be included with 1Password for Windows release 1.0.7.BETA-209.



    Please stay tuned for the updates and let me know if you need an additional information on that or any other issues.



    Best regards,

    Gene

    Android developer <img src='http://forum.agile.ws/public/style_emoticons/<#EMO_DIR#>/rolleyes.gif' class='bbc_emoticon' alt=':rolleyes:' />

    [/quote]



    Thanks. Actually I may have another issue, Android related : when I "long-press" the password area of say my Evernote entry (username/password), I get a notification it gets copied to the clipboard. Then, when I open a note, perform another "long-press" during note editing, I see a popup allowing to paste the password. So far so good. But when I try the same thing with Evernote, long pressing into the password requester doesn't propose "Paste". If I copy/paste first to a note then to Evernote, then it works. I only did this a few times so I cannot really confirm yet it really behaves that way all the time.
  • [quote name='khad' timestamp='1311030893' post='32312']

    If you are using 1Password for Mac, you can rebuild your data file ([b]Help > Troubleshooting > Rebuild Data File[/b]). This will re-create all the files that make up your data which may resolve a timestamp issue. If you are using 1Password for Windows, you might try moving your data outside of Dropbox, wait for it to finish syncing to Dropbox servers on your PC, and then move the data back into your Dropbox folder. This may also kickstart the syncing/timestamp. Be sure to wait for Dropbox to finish syncing on your PC before attempting to sync again in Android.



    I hope that helps. Please let me know.



    Thanks!

    [/quote]



    What can I do if I only have the Windows version of 1Password? Can I use 'Repair 1Password Data'?
  • GeneY
    GeneY AWS Team
    edited July 2011
    Hello Howard Roark,



    As I already mentioned the problem with negative timestamps will be fixed when 1Password for Windows release 1.0.7.BETA-209 becomes available (please stay tuned for the updates).

    However, you may try to rename a file contents.js file located in <%YOUR_KEYCHAIN_LOCATION_INSIDE_DROPBOX%>/1Password.agilekeychain/data/default folder on your PC.

    Renaming will cause the file to be rebuilt and the timestamp may be created correctly after that.

    Another way will be to modify every secure entry in 1Password (it will cause a timestamp on the record to be reset).



    Please let me know if this option fixes the problem for you or you need an additional information.



    Best regards,

    Gene <img src='http://forum.agile.ws/public/style_emoticons/<#EMO_DIR#>/rolleyes.gif' class='bbc_emoticon' alt=':rolleyes:' />





    [quote name='Howard Roark' timestamp='1311349461' post='32995']

    What can I do if I only have the Windows version of 1Password? Can I use 'Repair 1Password Data'?

    [/quote]
  • Renaming content.js into content.js.old does indeed solve the issue when done on the pc. The mac solution is actually annoying because all password entries get resync'd and this takes time. Thanks for the workaround!
  • [quote name='MerleOne' timestamp='1311892095' post='34781']

    Renaming content.js into content.js.old does indeed solve the issue when done on the pc. The mac solution is actually annoying because all password entries get resync'd and this takes time. Thanks for the workaround!

    [/quote]



    Thanks for the update! I am glad it is working for you now. While the Mac Rebuild option will indeed reset all the timestamps, I assure you it has other benefits. Don't ask me what it is doing, but I have seen it perform miracles on corrupt data.[img]http://forum.agile.ws/public/style_emoticons/default/laugh.gif[/img]
  • GeneY
    GeneY AWS Team
    Hello MerleOne,



    I am glad that renaming contents.js fixed all your issues.



    This file is actually a listing of all your secure items (just some general info,nothing specific, that is why it is not encrypted).

    The file used exclusively by 1Passwod Anywhere and 1Password Reader (currently). Sometimes after a data import from iOS devices to PC/MC

    the file listing is out of sync with the real fileset. I tested this issue very thoroughly with all devices that I have and couldn't find an issue,

    everything worked fine for me.However, from time to time some users report missing items after sync or negative timestamps recorded in contents.js.



    Renaming the file causes generation of the new one with the same name and valid listing in it and this action solves all problems after synchronization.



    Regards,

    Gene <img src='http://forum.agile.ws/public/style_emoticons/<#EMO_DIR#>/rolleyes.gif' class='bbc_emoticon' alt=':rolleyes:' />



    [quote name='MerleOne' timestamp='1311892095' post='34781']

    Renaming content.js into content.js.old does indeed solve the issue when done on the pc. The mac solution is actually annoying because all password entries get resync'd and this takes time. Thanks for the workaround!

    [/quote]
  • [quote name='GeneY' timestamp='1312213161' post='35659']

    Hello MerleOne,



    I am glad that renaming contents.js fixed all your issues.



    This file is actually a listing of all your secure items (just some general info,nothing specific, that is why it is not encrypted).

    The file used exclusively by 1Passwod Anywhere and 1Password Reader (currently). Sometimes after a data import from iOS devices to PC/MC

    the file listing is out of sync with the real fileset. I tested this issue very thoroughly with all devices that I have and couldn't find an issue,

    everything worked fine for me.However, from time to time some users report missing items after sync or negative timestamps recorded in contents.js.



    Renaming the file causes generation of the new one with the same name and valid listing in it and this action solves all problems after synchronization.



    Regards,

    Gene <img src='http://forum.agile.ws/public/style_emoticons/<#EMO_DIR#>/rolleyes.gif' class='bbc_emoticon' alt=':rolleyes:' />

    [/quote]



    Hi,

    I have seen that the PC version has been updated. So I guess this is fixed now.

    Thanks.
  • GeneY
    GeneY AWS Team
    edited August 2011
    Hello MerleOne,



    Yes, it should be so with the new 1Password for Windows release.

    There won't be negative timestamps in contents.js file, therefore 1Password Reader

    won't complain on them during synchronization.



    Regards,

    Gene <img src='http://forum.agilebits.com/public/style_emoticons/<#EMO_DIR#>/skype_smile.png' class='bbc_emoticon' alt=':-)' />