Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-17376

Calibre 2.0.0 doesn't convert ebooks.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • None

    Description

      ReactOS tested version: ReactOS 0.4.15-x86-dev (Build 20201117-0.4.15-dev-1356-g44c6df4) (Commit 44c6df4b2769b2b2d7aa62b589625e1a5b87338d)
      Environment: BootCD with
      FS type: FAT32
      Software version: Calibre 32 bits - 2.0.0 - Available in: https://download.calibre-ebook.com/2.0.0/calibre-2.0.0.msi / Source Code: https://download.calibre-ebook.com/2.0.0/calibre-2.0.0.tar.xz

      Steps to reproduce the issue:
      1. Install ReactOS bootcd.
      2. Install Calibre 2.0.0
      3. Select the example ebook and try to convert to any file format (for example, from EPUB to MOBI).
      4. The conversion will fail.

      I attach the log ReactOS Calibre Conversions.log of the multiple filesystem and the tiny BT Issue Calibre.txt that Calibre gives me.

      Example of the failure:
      Calibre reaction:

          Python function terminated unexpectedly
            invalid load key, '
          '. (Error Code: 1)
          Traceback (most recent call last):
            File "site.py", line 132, in main
            File "site.py", line 109, in run_entry_point
            File "C:\Documents and Settings\Administrator\Desktop\calibre-2.0.0\src\calibre\utils\ipc\worker.py", line 188, in main
              name, args, kwargs, desc = eintr_retry_call(conn.recv)
            File "C:\Documents and Settings\Administrator\Desktop\calibre-2.0.0\src\calibre\utils\ipc\__init__.py", line 19, in eintr_retry_call
              return func(*args, **kwargs)
          cPickle.UnpicklingError: invalid load key, '
          '.

       

      The ReactOS reaction:
      (/dll/ntdll/ldr/ldrinit.c:1887) WARN: Accepting different LOAD_CONFIG size!
      (/ntoskrnl/mm/ARM3/virtual.c:4715) Failed to insert the VAD!

      Code involved:

          address = cPickle.loads(unhexlify(os.environ['CALIBRE_WORKER_ADDRESS']))
          key     = unhexlify(os.environ['CALIBRE_WORKER_KEY'])
          resultf = unhexlify(os.environ['CALIBRE_WORKER_RESULT']).decode('utf-8')
          with closing(Client(address, authkey=key)) as conn:
              name, args, kwargs, desc = eintr_retry_call(conn.recv)

       


      Interesting info to debug (practical):
      You can download the source and put it into a nice directory for you, and assign a environment variable with this value

       

      1. Setup Calibre 2.0.0 (available under rapps-db)
      2. Download the https://download.calibre-ebook.com/2.0.0/calibre-2.0.0.tar.xz source.
      3. Decompress the file under the Calibre wherever you want (f.e. in Desktop).
      4. Set the environment value CALIBRE_DEVELOP_FROM as /.../calibre/src followed here: (I found the info here https://web.archive.org/web/20110601235924/https://manual.calibre-ebook.com/develop.html )
      5. Create and execute a bat in the calibre.exe folder with this content: "C:\Program Files\Calibre2\calibre-debug.exe" -g 1>> log.txt 2>&1

      It's some kind of Python funtion, that ReactOS is not able to process correctly the file, not sure if it's the worker.py part or the server.py part.

      The debug print shows some info about the variables adress, key and the resultf (file), but the file itself is empty, so I guess that the bad thing is under the process.

      ('julenuri address', '\\\\.\\pipe\\pyc-1196-0-9vrjeb')
      ('julenuri key:', '\xc1\x8a\xb1\x8f\xef5\x8d\xb6\xed\x91\x07\xe4\xe9\xd5\xcf\xbe\xa2\x1e\x12\x81\x85\x18\x17\xbcs\x95\xe6\xb4\xb5\x85+\x8e')
      ('julenuri resultf:', u'C:\\DOCUME~1\\ADMINI~1\\LOCALS~1\\Temp\\calibre_p4edro\\ipc_result_1_1_bq6nx9.pickle')


      After few investigation, seems that there is something that is wrong with the data transfer between server and worker that uses the IPC.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              julenuri julenuri
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: