Dramas and a buggy world

This post would be about a few bugs that I was able to get help and get them fixed, and some which are in process and some which may take a long time to resolve.

I probably might have mentioned it quite a few times, I moved to GNU/Linux because at the time I was in MS-Windows I used to get confused and harassed by the unhelpful error messages that I used to get in MS-Windows. Look up ‘MS-Windows XP Blue Screen of Death’ to see a variety of messages that you can get with the user being non the wiser. I have not seen the newer iterations of MS-Windows in much detail to know if the experience is any different. Over the years on many different distributions, finally landed on Debian few years ago and the experience was in one word ‘boring’.

I was in the stable version for a year but then became so bored as there hardly anything went wrong that I felt stifled as there was no opportunity to learn anything about the system. I needed much more motivation to debug if I have an issue rather than without. A few recent examples will show that.

Example A :-

a. Coursera-dl – A little background here. Coursera is a MOOC (Massively Open Online Course) . See coursera.org to get some idea about it. A DD (Debian Developer) Roger Brito started coursera-dl, a command-line downloader where you can download the videos which are on the site. This proves invaluable especially if you are from a country like India where seeing a video takes something like double or more time to stream than if it were downloaded and then seen. I faced an issue because at least for me it was correctly or easily worded. It took me sometime to articulate the issue, try out different answers and then actually hit upon the solution as can be seen at issue 340

b. gtimelog :- As a free-lance consultant for some activities I have to make invoices for a process or set of processes, for some it is billing of hours. For the second option I have tried many over the years and have kinda settled on gtimelog for now. Whenever I ran it using CLI I came across the warnings which can be seen at issue 37 . Again time was a factor and I was able to point out a potential solution and with help from others we are able to fix that. I have to say that the potential of the app. is enormous and has potential for great heights, just need some more motivated developers behind it.

And for people who would jump and shout ‘hamster’ and ‘hamster-applet’ I have tried it number of times in the past but found it too much, too confusing. I like the simpler interface that gtimelog provides as well as the different commands which trigger different usages. I really hope that the application developer benefits from it one way or the other and he’s able to implement all that the application has potential of without dissolving the simpler roots it comes from.

c. mate-screensaver – Before I share the bug-report I need to give a background about it. The mate-pkg-team consists of only 2-3 developers, similar to what the pkg-kde team and pkg-gnome team was few years ago. While the pkg-gnome team has really grown a lot (they have something like 7-8 DD’s in-between them and so you see pretty frequent releases from them the moment a release happens upstream.) PKG-KDE-team is also in a somewhat similar boat, while they do not have a big a team as the GNOME guys have, they still are much stronger than they were just a year back where they actually had to put out a CFH (Call For Help) during the late jessie release cycle. Mate is almost a newcomer in the business as it came in during 2011 when GNOME shell was released. They still are in the process of setting shop as can be seen in this mailing list exchange . If the archives were open, there would have been probably a bit more people trying to figure out things. You wouldn’t find many people using gmane or marc.info to get mailing list archives if you just have a query or are trying to find something. If you see the traffic it also tells you that there is not much activity happening upstream as well.

Anyways, to the business at hand, see bug #785739 . Now what they have said is right but in the real world, you do not have the luxury of doing a clean install when one component fails or having it seen in virtual machine. I don’t see it getting fixed in a year or so till mate 1.12 doesn’t come in which from the way things seem to be, would take anything from 6 months to a year to come. So no real hopes therein.

I would have liked to have more pointers but there may be problems such as not having helper utilities which prevent debugging more. My own limited skill-set also plays part in the problem but then I’m also a relatively newbie to the mate eco-system. As the mate-developers have said they will only package the 1.12 version (which will have quite a bit of gtk3 support) possibly this issue will be fixed then (by then it’s also possible that gnome might have moved to gtk4 or something) so essentially it would be a catch-up game they will play till they don’t have enough upstream developers and hence the issue which plagues downstream as well (as shared above). So, while the problem may look straight-forward at times it isn’t.

d. Metacity – This was a bug which I easily saw, was able to report and get it fixed as the symptoms were easy to understand. See #785739 . Now if you look at the attachment, the output you see is actually of the second run. The main clue/culprit was this line which told me where to look :-

Unpacking metacity-common (1:3.17.1-1) over (1:3.14.3-1) ...
dpkg: error processing archive /var/cache/apt/archives/metacity-common_1%3a3.17.1-1_all.deb (--unpack):
trying to overwrite '/usr/share/themes/HighContrast/metacity-1/metacity-theme-3.xml', which is also in package gnome-accessibility-themes

It is the second run because of this :-

Preparing to unpack .../gnome-accessibility-themes_3.16.2-1_all.deb ...
D000001: process_archive oldversionstatus=installed
Unpacking gnome-accessibility-themes (3.16.2-1) over ( ...
D000001: ensure_diversions: same, skipping
D000001: process_archive updating info directory
D000001: generating infodb hashfile
Processing triggers for libglib2.0-0:amd64 (2.45.1-2) ...
D000001: ensure_diversions: same, skipping
Processing triggers for man-db ( ...
D000001: ensure_diversions: same, skipping
D000001: cmpversions a='0:1.17.25' b='0:1.16' r=1
D000001: cmpversions a='0:1.17.25' b='0:1.16' r=1

The first run told me that it’s because of gnome-accesibility-themes that this didn’t work, which probably meant there is a possibility that a newer version had come. A quick search revealed that sure there was a 3.16 version which had come. This is a list of that after updation of the package :-

[$] apt-cache policy gnome-accessibility-themes

Installed: 3.16.2-1
Candidate: 3.16.2-1
Version table:
*** 3.16.2-1 0
1 http://httpredir.debian.org//debian/ experimental/main amd64 Packages
100 /var/lib/dpkg/status 0
500 http://httpredir.debian.org//debian/ jessie/main amd64 Packages
1 http://httpredir.debian.org//debian/ testing/main amd64 Packages
1 http://httpredir.debian.org//debian/ unstable/main amd64 Packages
2.30.2-1 0
1 http://httpredir.debian.org//debian/ unstable/main amd64 Packages

The moment I realized that, updated the gnome-accessibility-theme package and re-ran to configure the packages, it worked out smoothly. Once I got that I realized I needed to report it and did it so others could benefit from it as Dmitry did it a day later. In the above case, familiarity with the packages and a big clue enabled me to fix it in my own installation as well as report to get it fixed for others.

e. usbmount, mount, permissions – This one is a pretty tricky one as I’m not really sure where the issue is or are there more than one issue. See #774149 as well as the debian forum thread . Now if you go through both the thread on the fora as well as the bug-report shared it seems there are three things which are actually at the core of the issue :-

[$] usbhid-dump

libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/005/004: Permission denied
libusb: error [_get_usbfs_fd] libusb requires write access to USB device nodes.
Failed to find and open the devices: Access denied (insufficient permissions) (ERROR_ACCESS)


[$] sudo mount -t ntfs-3g /dev/sdb1 /mnt -o rw,uid=shirish,umask=077 && ls /mnt

Mount is denied because the NTFS volume is already exclusively opened.
The volume may be already mounted, or another software may use it which
could be identified for example by the help of the 'fuser' command.

Both the bug and the post in the forum exhibit the same symptoms. Now I don’t know if it’s usbmount at fault, mount at fault, ntfs-3g driver at fault or something else altogether.

There also is a confusion that three packages, usbmount, pmount and udisks2. There aren’t any conflicts with each other which means all of them can happily with each other. In the unlikely case that all the three are installed, whose configuration files will take precedence ?

The last one took most of my time today as well as yesterday. Look forward to know.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.