#251 ✓hold
Pierre M

idevicebackup2 fails with iOS 5.0.1/iPad2 - plist parsing error ?

Reported by Pierre M | February 8th, 2012 @ 05:33 PM | in 1.4.0 Release

I am trying to backup an iPad 2 on iOS 5.0.1 with ibackup2 and I get the following error:

./tools/idevicebackup2 -u 95d18bdea6bc6b64b9d61165e12dd343f65d8128 -d backup img2
Backup directory is "img2"
Started "com.apple.mobilebackup2" service on port 49479.
Negotiated Protocol Version 2.1
Starting backup...
Entity: line 157: parser error : PCDATA invalid Char value 24
        <string>DMP1364C8MVDDTPC</string>
                                ^
lt-idevicebackup2: /home/admin/dev/libplist-1.8/src/plist.c:183: plist_copy_node: Assertion `data' failed.
Aborted

I have the latest git HEAD. Interestingly it works fine on another iPad 2 on iOS 4.3.3

Comments and changes to this ticket

  • Pierre M

    Pierre M February 9th, 2012 @ 07:29 PM

    After investigating the whole stack (libplist, libxml2), it seems that the XML is indeed invalid.
    patching libxml2 as follows would temporarily fix it

    diff --git a/parser.c b/parser.c
    index 72a467c..a501cdb 100644
    --- a/parser.c
    +++ b/parser.c
    @@ -4431,9 +4431,9 @@ xmlParseCharDataComplex(xmlParserCtxtPtr ctxt, int cdata) {
         }
         if ((cur != 0) && (!IS_CHAR(cur))) {
            /* Generate the error and skip the offending character */
    -        xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR,
    -                          "PCDATA invalid Char value %d\n",
    -                         cur);
    +               // xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR,
    +               //                 "PCDATA invalid Char value %d\n",
    +       //               cur);
            NEXTL(l);
         }
     }
    
  • Martin S.

    Martin S. February 24th, 2012 @ 11:21 AM

    • State changed from “new” to “open”
    • Tag set to ios 5.0.1, ipad 2, idevicebackup2, parsing, plist
    • Assigned user set to “Nikias Bassen”
    • Milestone set to 1.4.0 Release
    • Milestone order changed from “190954” to “0”

    Thanks for reporting this, we'll have to patch this higher in the stack though.
    Which version of libimobiledevice do you use?
    Are you using latest git master?
    Would it be possible to supply a communication debug log of the process?

  • Martin S.

    Martin S. March 21st, 2012 @ 11:47 AM

    • State changed from “open” to “hold”

    On hold until further information is provided.

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

A project around supporting the iPhone in Linux.

See http://libimobiledevice.org

People watching this ticket

Pages