-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash with mdadm raid present in system #70
Comments
The issue is specific to RAID5 installs rather than RAID in general - though other levels of RAID weren't attempted to be treated the same way so probably don't work properly either. The code looking for devices tries to be clever with RAID5 (not sure why RAID5 specifically but it uses original behaviour for RAID1, RAID6 etc) and fails horribly. It's far too dependent on the sequence of lsblk output and not particularly clever in how it uses it to identify block devices. Basically it's a throw of the dice on whether this works with your system once you have RAID5 installed. As a couple of comparisons on how the system setup influences (i.e. breaks or not) timeshift (all based on CLI with --list-devices as the test command):
System 2
2 things picked up so far:
Given it's looking for parent/child relationships (and goes to some effort to build that knowledge from a flat list), and dependencies on ordering, it may make more sense to revise the code in device.vala to use the structured JSON output from lsblk. |
I've written a fix for this (didn't go for the JSON re-write in the end as I'm not familiar with the full scope of timeshift or Vala) against the fork at https://github.com/KeithB/timeshift. Changes:
Seems to work as far as I can tell but given the behaviours are caused by combinations of setup and lsblk version I'm not comfortable going near a PR yet. All test feedback welcomed! |
Describe the bug
Trying to start Timeshift (GUI or command line) with raid md0 present in system result with application crash.
Removing RAID device with
sudo mdadm --stop /dev/md0
allow program to run successfullyTo Reproduce
Steps to reproduce the behavior:
sudo timeshift --list
Expected behavior
Program started and work as expected
Screenshots
error message
sudo timeshift --list
[Warning] Deleted invalid lock
**
ERROR:arraylist.c:910:gee_array_list_real_remove_at: assertion failed: (index >= 0)
Bail out! ERROR:arraylist.c:910:gee_array_list_real_remove_at: assertion failed: (index >= 0)
Aborted
System:
The text was updated successfully, but these errors were encountered: