Recovering data from crashed recording (reboot laptop)

Hello,

I have got some jls files from recordings that got crashed (because my laptop rebooted). Is it possible to recover measurements from there?
When I try to open file an error appears “file is too short”. But file size is 566 MB.
I tried to use script from this issues

but unsuccessfully(((

Maybe I can send file, and you will restore it to me, please?

Hi @mishploh and welcome to the Joulescope forum!

Sorry to hear that the Joulescope UI is not opening your data file. While we have done a bunch of work recently to recover JLS v2 files, it appears we still have more work to go.

However, we do have a new way to “copy” JLS files using a replay technique that works for current, voltage, and power. It does not always for the IN signals or current_range signal. To do this, first install Python 3.10 or 3.11 for your OS. You can download and install directly from python.org. Ensure that python is on your path:

python -VV

You should then be able to install the pyjls package:

python -m pip install pyjls

And finally, run the copy tool:

python -m pyjls copy <src> <dst>

Replace <src> with the path to the corrupted source JLS and <dst> with the path to a different output file. You should then be able to open <dst> in the Joulescope UI.

Does this work for you?

Hello,
I try, but error((

Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyjls\__main__.py", line 82, in <module>
    sys.exit(run())
  File "C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyjls\__main__.py", line 78, in run
    return args.func(args)
  File "C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pyjls\entry_points\copy.py", line 69, in on_cmd
    copy(args.src, args.dst, _on_message, on_progress)
  File "pyjls/binding.pyx", line 852, in pyjls.binding.copy
RuntimeError: Could not copy: 26

Hi @mishploh - I am not sure I understand what is going on. The forum post that you linked to was for JLS v1 and patched the JLS v1 data reader. Joulescope UI 1.0 now uses JLS v2. The error 26 from python -m pyjls copy <src> <dst> is The target file is not supported.

I have a few questions:

  1. What version of the Joulescope UI did you use to capture this file?
  2. Are you using a JS110 or JS220?
  3. How difficult is it to recapture this data? Recapturing may be the fastest way to get your data back.

UI 1.0.58 now includes the ability to open JLS files that were never closed. Although we previously had recovery for truncated files, it did not correctly support files that were never closed.

If you are recording a JLS v2 file when your computer reboots, the UI crashes, or you force close the UI, the UI should still be able to open the JLS v2 file!