Conversion failed with Longer Orange 30 plugin

2020-6-29 2330

PROBLEM:

As reported here: https://forum.chitubox.com/?thread-453.htm

the Longer Orange 30 plugin does not work properly, at the end of "tmp.gf" file creation, it fails with error code -1. 


CAUSE:

I have investigated the problem under Linux and it seems that when the plugin is (about to be) launched, the "tmp.gf" file gets deleted although it was properly created before

Here is the relevant part of the strace output: 

115407 unlink("<omitted>/.config/ChiTuBox/tmp.gf") = 0

115407 lstat("<omitted>/output.lgs30", 0x7ffea1544a60) = -1 ENOENT (No such file or directory)

This is the wrong way around. The output file should be unlinked, and the input file checked for existence.

So I'd say the input and output file got swapped in the code. 

I'm not  sure whether this is in Chitubox itself or in the plugin, but it should be easy to fix unles already done for the next version. 


WORKAROUND: 

If you are on Linux, the ugly but working fix for this is to halt the Chitubox process immediately after clicking "Save". 

This can be done by pressing Ctrl-Z in the terminal window from which Chitubox was started. Then hardlink the ~/.config/ChiTuBox/tmp.gf.tmp file to, say, ~/.config/ChiTuBox/tmp.gf.link like this

ln   ~/.config/ChiTuBox/tmp.gf.tmp   ~/.config/ChiTuBox/tmp.gf.link


After the conversion fails ~/.config/ChiTuBox/tmp.gf.tmp and ~/.config/ChiTuBox/tmp.gf will be gone, but you will be left with the ~/.config/ChiTuBox/tmp.gf.link file. You can then manually run the Longer plugin like this:

 ~/.config/ChiTuBox/plugin/CHITUBOX-Plugin-Longer3d-Orange30/linux_gf2lgs   ~/.config/ChiTuBox/tmp.gf.link   <your_output_file>.lgs30


You have to repeat this entire process for every output file you want to generate. 

New Post (1)
  • Alex Moores 2020-8-18
    Quote 2Floor

    Thanks for the post! Helped me work around the issue. I came up with (I think) a simpler method using your advice though. When you go to save the file, instead of .lgs/.lgs30 simply change it to .gf and export it that way. Then you can manually run the converter as you showed.