numixproject / numix-folders

Alternate folders for use with our base icon theme.
GNU General Public License v3.0
151 stars 26 forks source link

orange-folder-cloud.svg invalid node ... wrecked my system #201

Closed linuxgirl22 closed 3 years ago

linuxgirl22 commented 3 years ago

As quoted, on reboot this file broke my entire install. Anarchy/Cinnamon, and not very tech, so wasn't able to get into system another way and needed to reinstall. Never expect a set of folders to do this. Seems it would be quite straightforward to check something like this and get it right.

Foggalong commented 3 years ago

@linuxgirl22 You're gonna have to give us a bit more detail on what steps lead to the breakage and how it broke your system - it's not clear from your post what happened which makes it difficult to debug.

There shouldn't be any files this script touches which are in anyway load bearing but if this is happening we'll fix it asap!

linuxgirl22 commented 3 years ago

Hi @Foggalong and thanks for responding. :-)

I'd just copied over the folders into .local/share/icons, as I had done for a couple of other themes just before that, without any problems, but unfortunately on reboot, there was the message saying 'orange-folder-cloud.svg ... invalid node', and the instruction was to run fsck. I haven't used that before, but just typed fsck; nothing happened. I tried looking at the help command re fsck, but got no further.

On looking up the invalid node error, it appears to be some missing lines of code that corrupt the svg, thus the svg can't be opened by what it's supposed to be opened by? e.g. https://stackoverflow.com/questions/28443417/this-svg-is-invalid-validate-it-before-opening.

Much appreciate offer about fixing it; thanks!

Foggalong commented 3 years ago

Ah. Okay. So there are several things that have gone wrong here.

This repo isn't an icon theme so shouldn't just be copied into a system icons directory. As the readme says it's a tool specifically designed to work with our base theme to replace the folder icons there with icons of a different colour or style. The structure (e.g. lack of index.theme file) and icon names are set up to work with the filenames in that theme rather than what icons are needed by an OS. If you just copied the contents of the repo to ~/.local/share/icons it shouldn't appear as an icon theme option because of that and if you copied the contents into another icon theme it'd probably just break that theme.

Second is that orange-folder-cloud.svg isn't even a standard icon name you'd find any system requesting or otherwise present in basically any icon theme. The orange- prefix is added by us just for this tool in handling colours and folder-cloud.svg was a bonus we added in f9fe48de6760d3a0fd6295b7edd75378673452b0, rather than a standard system directory name. Given this and that your error happened on boot and by the sounds of it without a theme including this icon applied, it sounds like something else on your system was trying to open that SVG in error. When I look online most of the errors for "invalid node" come from XML parsing, so it's possible the SVG was mistaken as an XML data file for some other application.

When you reported this my thought was that maybe if the icon was in use by a specific desktop environment with an SVG implementation which didn't recognise the file as valid (this has happened before with SVG compression settings we used to use) and that environment didn't have proper error handling for invalid/corrupt SVGs, then it could conceivably crash a system on boot. However from what you've said the file wouldn't have been in a place where it was being picked up as a theme icon so that can't be what happened. Another explanation I considered was if something on your system was doing SVG validity checks on all icon files in all theme folders on boot, but I'm not aware of any system that performs such checks. Even if it did it, there'd be major problems if it's recourse on finding an invalid file was to bork the whole system.

In terms of next steps, if you do want to debug this further it'd probably be a case of trying to find what program/process/boot-script/app was trying to read XML files from the icons directory. I don't suppose if around the error there were any more specifics about where it was coming from? It's a good few years since I've used Arch unfortunately though so I wouldn't be able to guide you through how to get to the bottom of this.

Foggalong commented 3 years ago

As an afterword, please be more careful with installing software and commands! Running system maintenance tools without knowing what they're doing could create even more problems, and when installing software manually (e.g. from GitHub) always check readmes and wikis for any specific information. Even with something basic like an icon theme, a lot now have install scripts which do extra steps to integrate them into the system rather than it being a simple copy paste job.

linuxgirl22 commented 3 years ago

Just some comments to add, as I disagree that bug is invalid. And I disagree with the implication that I should be more careful. Because of not being very tech, I'm extra careful.

I've just searched 'numix' on gnome-look and openDesktop; can't find what I used, as I lost links when had to reinstall system. I know, as for other themes/icons, I followed instructions to the letter and only chose high scoring items. Other themes/icons had no issues. Deliberately avoid anything requiring full install, incase of risk of breakage, and tend to stick to Cinnamon's Themes function. I didn't run any system maintenance commands except when already locked out of system and being instructed to do so, due to this issue. The icons had shown up fine independently, after extracting then placing folder in .local/share/icons, as per instructions ... I hadn't overwritten anything, as that would be stupid; the independent folder was added.

There are comments here: https://aur.archlinux.org/packages/numix-folders-git/ ... showing issues regarding gksu/password and a code error blocking launch re kde menu and console.

Bit confused that you're saying there's no such name as this svg, but then, yes, there is ... maybe the lack of a standard system directory name caused an issue?

I've searched 'svg icon' on Linux Mint's forum, and can't find anything about svg's causing issues; only references are people manually changing icons or removing an icon. I don't use Mint, so can't categorically say their Cinnamon desktop isn't erroring out about an svg file, and just changed over to it in the last week, so am still getting used to it and know very little except the basic settings. When I search 'svg' on my system, 100's of them come up, but no issues with any bar this orange-folder-cloud.svg. IF there's something the Cinnamon desktop is doing, maybe add a warning so others don't have the same happen as I have? There are a couple of references to numix-folders on the Mint forum, linking to here, so, if whoever has uploaded the folders to gnome-look or openDesktop hasn't included the right instructions, that could be relevant, but there wasn't a link to here for me to read at the time ... I had to search for orange-folder-cloud.svg after reinstalling, then found here.

I'm not able to debug this further ... I only use Anarchy, after having manually installed Arch a few times and understood nothing more than copy/paste, due to ill health and wanting to get on with art. Also, I find Arch the least bloated system to run, and Anarchy the best helper. I don't have tech DNA, so will just have to take from this to not risk installing things, even via gnome-look/openDesktop, unless something is being linked to by everywhere and everyone, and includes a large amount of feedback from various systems along with that recommendation. I feel now it's too risky, especially if installing simple local icons is being made too complex via install scripts.

palob commented 3 years ago

This sounds like your disk or the file system on the disk is broken. Or maybe the file wasn't successfully copied. I don't see any issue with orange-folder-cloud.svg with the potential of breaking your system. It is theoretically possible to inject malicious code into a SVG file and exploiting security issues of the renderer software but this is nothing which would result in what you are facing.

palob commented 3 years ago

You can't fsck mounted file systems. You can boot into a live system (e.g. fro a USB thumb drive) and do it from there. Many distros run fsck on boot before the file systems are mounted every number of boots but I'm not familiar with Linux Mint.

linuxgirl22 commented 3 years ago

I don't know @palob, but I'm certain my disk isn't broken and that all other icons/themes I installed the same way didn't have any issues. Also, that it was this file that blocked being able to boot up; the error message stated this one file as the issue, and to run fsck, so, from what you've said, it sounds like file systems must have been somehow being prevented from mounting.

I've provided a few links in posts above that turned up ideas on my travels, but not able to debug into those. Not using LM, but Anarchy/Cinnamon, and have formatted/reinstalled and set things up freshly now.

Maybe the file didn't successfully copy; the folders had worked on the system though, before rebooting, although not every single thing was clicked or tested out. There weren't any error messages before rebooting, from anything I clicked.

Don't know; without knowing what code is in such things, and with not being able to do more than the (careful!) basics, I can only go on what was experienced + any ideas of what it may be.

Foggalong commented 3 years ago

@linuxgirl22 Hey, just wanted to follow up on your original comment to clarify why I tagged it as invalid! It was very very much not meant as a slight against you :)

I know, as for other themes/icons, I followed instructions to the letter and only chose high scoring items. Other themes/icons had no issues

This repository isn't a theme but an application for modifying a specific numix theme which is why using a normal install method for themes (e.g. through Cinnamon's theme settings or copying to ~/.icons) won't work. For Arch-based distros in particular the only officially supported method would be downloading or cloning this repository and running the script. Anything else you find (like the AUR package, gnome-look, or openDesktop) is something a community member has setup in an unofficial capacity and not something we can control or update instructions for.

Bit confused that you're saying there's no such name as this svg, but then, yes, there is

I think you might have misunderstood; there is of course an icon file called orange-folder-cloud.svg but orange-folder-cloud isn't a standard icon name. Roughly speaking the way icon themes work is developers give any icons used in their app a name, and then any theme creators can change that icon by putting an image file with that name in their theme. orange-folder-cloud isn't such an icon name from an app, but just a file name specific to Numix used for organisation and this tool. That means no application on your system should be trying to access an icon called orange-folder-cloud as part of its interface. A knock-on to that is that even if the file did get corrupted while being copied as part of the script, it couldn't cause your system to crash unless there was either a) a wider issue of corrupt files on your system or b) some other app was accessing the file in error and didn't have proper error handling in place.

maybe the lack of a standard system directory name caused an issue?

You can in general give icon files any non-standard name in themes without it causing issues because they'll never be accessed by the look-up system. This practice is pretty ubiquitous among all themes in order to keep icons organised; you'll see it across Papirus, Mint-X, Moka, and many others. This also relates back to the first point too; this repo generally doesn't include files with standard icon names because it isn't itself a theme.


With those in mind, that's why I marked it as "invalid". It's not to say we think you're lying or that this issue isn't serious, but whatever caused the breakage is clearly coming from something outside this repository and outside our control. That's also not to say that this tool doesn't have serious issues because it definitely does, but corrupting file systems isn't one of them.