Unexpected file upload status 400

I often get error "Unexpected file upload status 400" when trying to sync.
Frequently (but not always) quitting and restarting firefox seems to fix the error.
I've submitted an error report under number 468333038.

Any advice on how I might fix this?
Thanks!
  • edited April 1, 2012
    If you can, provide a Debug ID for a sync attempt that produces the error. (If it's hard to reproduce, be sure to clear the debug output before each attempt.)
  • Here is the debug ID D868166475
  • Ah, this is WebDAV. Your WebDAV server is returning a 400 error in response to a PUT, but you're on your own beyond that. If it's your own server, check your server logs. Otherwise talk to your server admin.
  • Hi guys,
    I just wanted to ask for some further advice on this.
    I did contact my webhost and asked them about this error.
    I sent them both the error report and a detailed debug log from zotero.

    They replied saying it wasnt a real webdav error and quoting the part of the log below.

    I know that webdav errors are not something you directly support, but you could advise me of the parts of the log that are relevant to this error. I'd really like to work out a way to fix this but Im not sure exactly what I should be asking from their support.

    Many thanks



    -------------------------------

    (3)(+0000000): Finishing upload request 'null/T37HT6KW'

    (3)(+0000000): Finished requests: 1

    (3)(+0000000): Total requests: 1

    (3)(+0000000): Upload queue is done

    (3)(+0000000): Active requests: 0
  • edited May 29, 2012
    Those lines aren't from the debug output you posted here, and they don't really show anything.

    These were the relevant lines in your debug output above:
    (3)(+0000001): HTTP PUT of 5GFKTSXG.zip to http://[...]:2077/zotero/5GFKTSXG.zip

    [...]

    (3)(+0000000): Upload of attachment 5GFKTSXG finished with status code 400

    [...]

    (3)(+0000000): Finishing upload request 'null/5GFKTSXG'

    (3)(+0000000): Finished requests: 1

    (3)(+0000000): Total requests: 1

    (3)(+0000000): Upload queue is done

    (3)(+0000000): Active requests: 0

    [...]

    (1)(+0000001): Unexpected file upload status 400 in Zotero.Sync.Storage.WebDAV._onUploadComplete()
  • sorry to be confusing:
    I posted a different log which i made just a few days ago when I was getting the same error.
    It's here https://www.dropbox.com/s/s96eqrvn660pzjx/webdav_error.txt

    Is this not showing the same problem?
  • Yes, it is. The relevant lines are as I quoted above.
  • This is the latest feedback from my webhost:

    -----------
    All 400 level codes indicate a client failure, not a server failure.
    Specifically, 400 Bad Request Indicates malformed syntax (for example, an empty namespace name in the XML body).

    Does your software has a connections limit? I'd suggest to try to decrease it.
    -------------

    Is there a setting on my machine I need to change?
  • All 400 level codes indicate a client failure, not a server failure.
    That's true in theory but not in practice. A 400 is supposed to indicate a client failure, but Zotero works fine with standard WebDAV servers (e.g., Apache's mod_dav, which is pretty much the reference implementation for WebDAV), so if it's not working with yours, it quite likely means there's a problem with that server. (They seem to have pulled that empty namespace bit from here, but given that this is a PUT of a file, which doesn't have anything to do with XML, that's a nonsensical example.)

    We're really not able to debug individual WebDAV servers, but I can do one more thing for you. Zotero doesn't currently log the full response from the server for WebDAV errors, but I've updated the latest 3.0 Branch dev XPI to do so. Install that and provide another Debug ID with that and I should be able to tell you the server's full response.
  • Dan, thanks very much for your ongoing help with this.

    Here's references from the dev xpi:

    Report ID: 555356306
    Debug ID: D386319662.
  • There doesn't seem to be any textual response from the server in this case—just the error code.
Sign In or Register to comment.