Menu

#247 Exception during image-export

next release
closed
None
5
2018-05-17
2016-11-10
No

If an image is exported, exceptions are thrown from the scene-graph. The image can be exported in most cases anyway, althought it can stop the export. It seems that the manipulations of the scene-graph by the export-camera cause this problems, more precisely line 234 and 236 in ExportCamera.

Discussion

  • Till Schäfer

    Till Schäfer - 2016-11-11

    can you please give the stack trace (if you have it at hand) and describe which views are affected.

     

    Last edit: Till Schäfer 2016-11-11
  • Till Schäfer

    Till Schäfer - 2017-09-06
    • status: open --> needs-info
    • assigned_to: Philipp Mewes
     
  • Philipp Mewes

    Philipp Mewes - 2017-11-10

    Could reproduce this exception while exporting an image of the scaffold tree.

     
  • Philipp Mewes

    Philipp Mewes - 2017-11-13

    And another, different exception with the cloud view

     
  • Till Schäfer

    Till Schäfer - 2018-03-05
    • status: needs-info --> open
     
  • Nils Kriege

    Nils Kriege - 2018-03-06

    Piccolo is not thread-safe and all operations (manipulation and painting) must be performed in the event dispatch thread. A first step to solve this issue should be to check if the export is performed in the event dispatch thread.

     
  • Philipp Mewes

    Philipp Mewes - 2018-03-16

    The export is done in a separate worker including the methods that invoke the paint-method of PNode. Maybe SwingUtilities.invokeAndWait() may solve the problem.

     
  • Philipp Mewes

    Philipp Mewes - 2018-03-16
    • status: open --> in-progress
     
  • Nils Kriege

    Nils Kriege - 2018-03-16

    I would like to propose to remove the separate worker instead. The GUI will freeze during the export in any case.

     
  • Philipp Mewes

    Philipp Mewes - 2018-03-19

    Tried this, but unfortunately there occur problems with the progress dialog. If the dialog is set to modal, the process cannot be completed, since setVisible() blocks, if the dialog is not modal, it works, but the content of the dialog cannot be displayed, since the dispatcher thread is busy.
    With the current solution, the dialog is shown, but the progress bar stalls for the time the export is done([dafd4d]).

     

    Related

    Commit: [dafd4d]

  • Philipp Mewes

    Philipp Mewes - 2018-03-21

    Not easy to say, whether the bug is fixed. It appeared randomly. But after several exports from different views no exception was thrown.

     
  • Philipp Mewes

    Philipp Mewes - 2018-03-21
    • status: in-progress --> needs-review
     
  • Nils Kriege

    Nils Kriege - 2018-05-17
    • status: needs-review --> needs-merge
     
  • Nils Kriege

    Nils Kriege - 2018-05-17

    The code looks fine and I have not seen the excpetion for several exports.

     
  • Till Schäfer

    Till Schäfer - 2018-05-17
    • status: needs-merge --> closed
    • Group: any future version --> next release
     
  • Till Schäfer

    Till Schäfer - 2018-05-17

    merged in [2aa33c]

     

    Related

    Commit: [2aa33c]


Log in to post a comment.