Uploaded image for project: 'Guacamole'
  1. Guacamole
  2. GUACAMOLE-521

PDF generated by Guacamole printer ends up corrupted if document is at least 18 pages long

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Invalid
    • 0.9.14
    • None
    • guacd-docker
    • None
    • Running the official Docker containers from guacamole/guacamole:0.9.14 and guacamole/guacd:0.9.14

    Description

      When printing any document with at least 18 pages to the Guacamole printer, the resulting PDF ends up corrupted (Ghostscript crashes), and the RDP session is disconnected in the next window resize event.

      1. Open a document with at least 18 pages, i.e. https://docs.oracle.com/javase/7/docs/api/index-files/index-1.html
      2. Print the whole document with the Guacamole printer and try to open the resulting PDF file. It'll be corrupt.
      3. Go back to the Guacamole RDP tab on the browser and resize the window to trigger the reconnect. The RDP session will be disconnected.

       

      guacd[19]: INFO: Connected to RDPDR 1.12 as client 0x0048
      guacd[19]: INFO: Ignoring server capability set type=0x0001, length=44
      guacd[19]: INFO: Ignoring server capability set type=0x0002, length=8
      guacd[19]: INFO: Ignoring server capability set type=0x0003, length=8
      guacd[19]: INFO: Ignoring server capability set type=0x0004, length=8
      guacd[19]: INFO: Ignoring server capability set type=0x0005, length=8
      guacd[19]: INFO: Sending capabilities...
      guacd[19]: INFO: Capabilities sent.
      guacd[19]: INFO: Client ID confirmed
      guacd[19]: INFO: User logged on
      guacd[19]: INFO: Sending printer
      guacd[19]: INFO: Registered device 0 (Guacamole Printer)
      guacd[19]: INFO: Sending filesystem
      guacd[19]: INFO: Registered device 1 (Guacamole Filesystem)
      guacd[19]: INFO: All supported devices sent.
      guacd[19]: INFO: Device 0 (Guacamole Printer) connected successfully
      guacd[19]: INFO: Device 1 (Guacamole Filesystem) connected successfully
      guacd[19]: DEBUG: guac_rdp_fs_open: path="", access=0x80, file_attributes=0x0, create_disposition=0x1, create_options=0x1
      guacd[19]: DEBUG: guac_rdp_fs_open: Normalized path "\" to "\".
      guacd[19]: DEBUG: guac_rdp_fs_open: Translated path "\" to "/opt/testdir/".
      guacd[19]: DEBUG: guac_rdp_fs_open: native open: real_path="/opt/testdir/", flags=0x0
      guacd[19]: DEBUG: guac_rdp_fs_open: Opened "\" as file_id=1
      guacd[19]: DEBUG: guac_rdpdr_fs_process_create: [file_id=1] desired_access=0x80, file_attributes=0x0, create_disposition=0x1, create_options=0x1, path=""
      guacd[19]: DEBUG: guac_rdp_fs_open: path="\Download", access=0x80000000, file_attributes=0x0, create_disposition=0x3, create_options=0x1
      guacd[19]: DEBUG: guac_rdp_fs_open: Normalized path "\Download" to "\Download".
      guacd[19]: DEBUG: guac_rdp_fs_open: Translated path "\Download" to "/opt/testdir/Download".
      guacd[19]: DEBUG: guac_rdp_fs_open: native open: real_path="/opt/testdir/Download", flags=0x0
      guacd[19]: DEBUG: guac_rdp_fs_open: Opened "\Download" as file_id=0
      guacd[19]: DEBUG: guac_rdp_fs_close: Closed "\Download" (file_id=0)
      guacd[19]: DEBUG: guac_rdpdr_fs_process_query_basic_info: [file_id=1]
      guacd[19]: DEBUG: guac_rdpdr_fs_process_close: [file_id=1]
      guacd[19]: DEBUG: guac_rdp_fs_close: Closed "\" (file_id=1)
      guacd[19]: INFO: Print job created
      guacd[19]: INFO: Created PDF filter process PID=29
      guacd[19]: DEBUG: Reading output from filter process...
      guacd[29]: INFO: Running gs
      guacd[19]: DEBUG: Beginning print stream: 27-pages-file.pdf
      guacd[19]: DEBUG: Sending 4750 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4081 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4113 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4082 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4240 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4146 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4174 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4164 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4483 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4263 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4430 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4499 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4174 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4418 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4373 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 4317 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 38 byte(s) of filtered output.
      guacd[19]: DEBUG: Sending 3802 byte(s) of filtered output.
      guacd[19]: ERROR: Error reading from filter: Bad file descriptor
      guacd[19]: DEBUG: End of print stream.
      guacd[19]: DEBUG: Print job completed.
      GPL Ghostscript 9.07: Unrecoverable error, exit code 1
      GPL Ghostscript 9.07: ERROR -12 closing pdfwrite device. See gs/psi/ierrors.h for code explanation.
      guacd[19]: INFO: Unloading device 0 (Guacamole Printer)
      guacd[19]: INFO: Unloading device 1 (Guacamole Filesystem)
      guacd[19]: INFO: Internal RDP client disconnected

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            rme Renan M
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: