Loud ramblings of a Software Artisan

Friday 11 October 2019

Getting a stack trace out of a Flatpak

So, the flatpak application you use just crashed

How do you report it? If you file a bug just saying it crashed, the developers will probably ask for some stack trace. On Fedora 30, for example, abrt (the crash reporting system) doesn't provide any useful information. Let's see if we can extract that information.

We are gonna have to use the terminal to use some command line tools. Flatpak has a tool flatpak-coredumpctl to use the core dump in the flatpak sandbox. The core dump is an image of the program memory when it crashed that will contain a lot about the crash. But by default the tool will not be able to provide much useful info. There is some initial setup need to be able to have a better output.

First you must make sure that you have the right Debug package for the right version of the Flatpak runtime. Well, actually, for the corresponding SDK.

To check the runtime and version:

$ flatpak info org.gnome.MyApp

Check the line that starts with Sdk:

Sdk: org.gnome.Sdk/x86_64/3.34

What is after Sdk: could be a different value, and that's what is important here. This is what we are looking for

You can use the command flatpak install --user org.gnome.Sdk.Debug (in our example, just put the one found above) to install it. WARNING: it's likely big. For example the debug package for Gnome 3.34 is 3.4GB here. I recommend installing it for the user as unless you have a lot of space on your system filesystem (if separate) it will fail.

Then you need to install the debug info for the app. It is the app ID suffixed with .Debug. In that case org.gnome.MyApp.Debug.

Both will provide the debug info that is necessary to see where in the code things crashed.

$ flatpak-coredumpctl org.gnome.MyApp

This is gdb being launched inside the flatpak. It will take a while to process, and use quite a good chunk of memory. What follows is mostly for people that are not familiar with `gdb` ; if you are, just go ahead, you know what to do.

When it is ready, something like this will be printed in the terminal:

Program terminated with signal SIGSEGV, Segmentation fault.

And then at the end, the prompt: (gdb)

You can type where and press "Enter". This is the stack trace: lines starting with #NNN where NNN is an increasing number. You can copy that output to provide it to the developers in the bug report.

Then you can type quit followed by "Enter" when you are done.

Hope that's useful to you.

Monday 10 November 2008

Smith's Law

Smith's Law says this:

Murphy was optimistic

You bet! This morning, my "micro" server light was solid blue, server whose disk I had just replaced ; the console (still connected) was not responding. Reboot hard, freeze after 5 minutes (with a weird click when it happen). Disassemble, clean up the fans, check, as I suspected overheating, let cool down. Retry. Blast! Still the same, but with an even shorter uptime. I still hope it is not the hard drive that is DOA.

The problem is now, what to run the server on. I have a spare PIII that works well, but I want the hard drive as is. Problem it is a 2.5" IDE, I need the adapter. Problem, I need a car. The closest electronic store is La Source by Circuit City née Radio Shack[1], but they haven't had anything I need or want to buy in forever. Ah yes, because my car has been towed at the shop and I don't have a loaner yet, I can't get the needed adapter.

Update later, I can get a car, the dealership still has to work on mine, send the courtesy shuttle over, drive me there and provide me with a car. In the end I have the adapter, the "new server" is now more silent. It was not without pain. Old BIOS that can't boot on just any drive, grub that fail on said machine (know issue, I still know LILO, so no biggie), and udev mysteries that I solved by forcing to regenerate the "binding" to eth0 by MAC address.


[1] Hint: they just filed for bankruptcy in both the US and Canada

Thursday 4 September 2008

EEE, etc.

Dear lazyweb,

I have this EEE PC 2GB, and I'd like to install something I can be productive with, not the clunky s*** that come with it[1].

So far I tried the following:

  • Mandriva Flash: would be good, but the Live flash from GUADEC does not install on the 2GB model as it needs more space. *sigh* FAIL
  • openSUSE 11.0: installed from the DVD after reducing the packages and end up with a non-functionnal system: YaST does not start, no wifi[2], no Ethernet, etc. Gotta have to debug it and fix it. FAIL
  • EEE-Ubuntu Ubuntu-EEE: I don't like their statement bashing open solutions. Sorry guys I use Linux for the freedom. Anyway it seems to not like to be installed on 2GB either. FAIL
  • EEEdora: the long list of hacks did deter me.
  • Debian: they upstream broke the kernel. Not a good sign idea.

So what else?

I'm not installing on an external SD card as I want to keep that for useful removable storage


Update: I got ahold of an iso for EEEdora from this howto. It did install almost without glitch (I actually had to make a symlink for the live CD to find the DVD drive, go figure). Did install but I get a functional but akward system without login and without a proper user (it can't even sudo), where either logout or reboot do an actual shutdown.

Update 2: it is Ubuntu-EEE I tried not EEE-Ubuntu. How confusing!

Update 3: kernel is broken in upstream no Debian.


[1] I'll keep that rant for later

[2] almost expected

Thursday 1 November 2007

Desktop on server?

"GNOME is attractive to some seasoned Linux users because it one of the few complete desktop environments that is more lightweight than KDE, which makes GNOME more appropriate for use on servers." -- Nicholas Petreley, November 1st 2007

Mr Petreley, you are the reason why I did not renew my subscription to Linux Journal and stopped reading the only dead-tree magazine I considered worthwhile. Not that its content was less good, just that your rants as Editor in Chief were always missing the point.

That was last year.

The question today would be: What would a desktop environement, whether it is KDE, Gnome or any other, have to do on a server? Beside wasting resources. I think it is time for you to stop writing about Linux and start using it.

OK, now I put away the rotten tomatoes.

Tuesday 16 October 2007

Spam Filtering

Thomas, for my spam filtering I use Bogofilter in combination with maildrop on my server. I followed this recipe that I improved with my own setup and since I mostly forgot I was receiving spam.

The only caveat is training the filter for false negative, what I just to is move them to a "Spambox" folder and run bogofilter -s -B * in there. And for those who wonder, I didn't feel the CPU usage on my P2 @266MHz. Beside patching courier IMAP to have hooks for the Junk/NonJunk flag and have Evolution actually set them (Thunderbird does it) I don't see another easy solution.

Saturday 15 September 2007

Free Software lock out

Apple has never been Free Software friendly with their iPod. The whole business is based on the vendor and application lock-in of iTunes.

But this time it is apparently worse. Apparently Apple has decided that the database file for the song has to be validated with some cryptographic hash, or it appears to be. If the hash is not valid, the iPod refuse to playback any music (source). Read also BoingBoing's Cory Doctorow rant. This make gtkpod, Rhythmbox, Amarok and all these fabulous tools no longer working with the new devices.

How long before it get cracked? No idea. But one thing is sure. If you use Linux, don't buy an iPod. If you use OpenSolaris, don't buy an iPod. If you use BSD, don't buy an iPod. If you don't like this way of doing things, don't buy an iPod. I'm actually surprised that this didn't happen sooner, or maybe I'm like seeing too much evil or a giant conspiracy in what is an implementation detail...

Update: Lennart remind us some facts. I guess I might not be that wrong.

Thursday 26 July 2007

Freedom is the goal

tbf, I agree with what you said. Another thing that made me cough during the keynote is when Alex[1] said that Flash did address the problem of video codecs. I'm sorry it does not. It just move it in the wrong direction, away from freedom.

The main problem with video (and sound) codecs is that they are patent encumbered. Therefore most of them can't be redistributed without violating some obscure patents in some obscure country. That's what Ogg (Vorbis and Theora) is addressing, the problem with Ogg being that no proprietary vendor has the courage nor the interest to push it forward[2]. As for moving to Flash it is even worse: there is no reliable Free Software implementation of the technology[3], the video codecs are even more encumbered (hello VP6), not solving the distribution problem (actually the Free Software implementations relies on the same code as the one I mentionned above, causing the same headache) And the current non-Free implementation of Flash is not even re-distribuable in its binary form, nor does it run on more than one variety of Linux arch: x86[4]. And given how reliable Adobe have been providing non-Free Linux support for Flash in the past[5], I'd guess pushing Flash is like putting all your eggs in the basket whose handles are about to break.

I don't use Linux because it is cool, I use Linux for the freedom it provides me. If I wanted to be cool, I would use MacOS X on a MacBookPro, have an iPod video with the latest "cool" song and video DRM'ed purchase on iTMS, would have bought a locked iPhone I couldn't use as a phone, and spend my time on MySpace, youtube, instead of trying push Free Software forward with all the other Free Software hackers.


[1] nothing personal, really, I just happen to disagree

[2] lot of examples to be given, but mostly the major two are just pushing their own agenda to try to keep people prisonner to their system

[3] neither gnash nor swfdec are complete and stable at the moment

[4] you all know the hack involved in making it run on x86_64: SuSE for example ship Firefox in 32bits just to run the proprietary plugins

[5] remember Flash 8 on Linux?

Thursday 19 July 2007

Mandriva Flash

In the bag of swag (actually it was out of the bag, but that's just splitting hair), there was a 2GB USB flash. Beside holding the whole conference material, it also has a Mandriva live system. Unlike other LiveCD this is actually a persistent one as the flash drive is used to store the user's data.

I hadn't tried Mandriva for over half a decade and I must admit that Mandriva has done an awesome job. This time I'm impressed. It is simple to install and it works, almost. The only problem came out of the 915resolution hack to have the LCD panel in something else than 800x600. Not that I had to tweak, but I had to configure manual in the clicky-UI and reboot.

Monday 25 June 2007

OLS 2007

OLS 2007 is being held in town starting this Wednesday. I won't attend the conference, but I was wondering if I should join one of the out-of-conference beer BOFs. If you are in town and owe me a beer, leave a message here :-) (not obligated if I owe you one).

Wednesday 14 February 2007

Thin clients

Another Linux thin client. This time it is the Canadian company Koolu (just ignore the proprietary Flash like I did). The interesting thing is that they run Ubuntu and OLPC (choice) on it, booting via PXE. OLPC is potentially the biggest deployment of AbiWord. The machine is still able to run big software like OpenOffice, and even has an optional hard drive.

Another interesting thing is that they have John "maddog" Hall as a CTO.

Update (02/15/07): the demo video is available in Ogg

See also: Linutop. BTW, about Linutop, if you are interested in it and are around Montreal, there will be a presentation of Linutop at the monthly meeting of FACIL. Info in French

Linux phone

The OpenMoko software platform has been released. OpenMoko is the the project initiated by FIC in Taiwan. Apparently the hardware is late, but they released the software still.

On the other hand, the Access Linux Platform has been released, and its openness looks much less appealing. ALP is the successor of PalmOS and is based on Linux.

They are both based on Gtk+ for their toolkit. That open more deployments for AbiWord.

Thursday 11 January 2007

CES season

It is "CES season", and it comes with a bunch of new devices.

First of all, the N800, successor of the Nokia 770, running Maemo 3.0 (code name bora) has be released. From the information gatherer, it bump from 64 to 128MB of RAM, get more chutzpah with a more powerful OMAP processor, get 2 MicroSD instead of a RS-MMC, and has an embedded orientable camera for video chat. Otherwise it share the same form factor, no keyboard. Maemo 3.0 does not run on the Nokia 770 but Ari Jaaski discuss about the options like what are the possibilities to provide a developer image for the 770 to test applications for the new Maemo.

Second, a Linux-based media player apparently sponsored by AOL (or one of it subsidiaries) that will sell music online. It does not play open format like Ogg-Vorbis, but MP3 and WMA (with Digital Restrictions Management). Since it runs Linux, it might be possible to provide other features through a custom firmware... SmartScreen, the "framework" used for the device firmware, seems to be more smartphone oriented. Unfortunately, it does not seem to be as open as Maemo. Interestingly its SDK appear to also be running on Linux although not everything... (the whitepaper from 2004 has old screenshots with Gnome 1.4)

This show how Linux on embedded device is really growing.

Oh, and one more thing. A lot of people have noticed iPhone announced by Apple at MacWorld. It does not run Linux (but MacOS X) and does not even seem to be open to third-party development. On the other hand, its user experience, still in a demo stage, sort of raise the bar[1] for future developments.

Update: it is actually SD card slots on the N800. That is very welcome.


[1] no pun, I swear!

Saturday 18 November 2006

Sony and Linux

Sometime the world is full of contradiction. On one side you have Sony that fight on the ground of DRM and put spyware on their music discs, and the other hand you can run Linux on their devices. I think it is more related to the organization of the company and how they are business driven. In that case Linux is business driven.

  • Running Linux on Playstation 3. The Playstation was rumored to include lot of anti-freedom features, include one that would mark the game media to not play it in another machine after the first time (to avoid the used game market). I don't know what happened to it, but apparently it is gone. But you can run Linux on the Playstation 3 and it is supported by Sony. Note that Playstation 2 had a similar option as well. But the Playstation 3 might be able to provide a decent hardware platform for distributed computing with its cell-processor.
  • Mylo to ship, and it runs Linux and Qtopia. Not cheap either: USD$350.

Monday 23 October 2006

Laptop software suspend and Linux

There seems to be a bit of misinformation spreading about Linux and software suspend not working reliably on Linux. Let me quote:

After running Linux on a variety of different systems, I have to say, it's utterly amazingly refreshing to use something whose software was designed specifically for its hardware. I close it and it goes to sleep. I open it and it wakes up. In almost four years with my previous laptop, I never got power management working well enough that I would trust it.


He's "amazingly refreshed" at finally having working power management, after suffering through years and years of crap. I remember the first little while with my Powerbook, where I'd pray a bit every time I'd close the lid, only to eventually be enlightened: it won't crash on me a few times a day! The uptime on my Powerbook is basically "how long since the last kernel upgrade", like it bloody should be.

Guys! Which dimension have you been living in? Or are you suffering from a reality distorsion field. Software suspend has been working for a long time reliably on Linux, on reliable hardware. Let me summarize:

  • 1999: Pentium 166 based Toshiba Satellite. apm -s works fine with Debian/Linux for i386
  • 1999: PowerBook 3400 with hand installed Debian/Linux for PowerPC (no installer by the time I installed it). Worked fine by closing the lid (or something like that). Much more stable than the MacOS 8.x that came with it.
  • 1999: Compaq Armada 1700: apm -s works fine with Debian/Linux for i386
  • 2000: IBM ThinkPad 600E: closing the lid suspends to RAM. With Debian/Linux for i386
  • 2001: Toshiba Tecra: apm -s works fine. RedHat Linux 6.0
  • 2004: PowerBook G3/400 finally moved to Debian/Linux for PowerPC, then later in late 2004 to Ubuntu. Closing the lid suspends to RAM. Much like it was doing on MacOS X.
  • Dec. 2005: IBM ThinkPad Z60t: suspend works great out of the box with Ubuntu Dapper Flight 2 (2nd pre-release of 06.06 LTS). This machine end up beating the uptime of my server at home because of its universal UPS. Well it was until I upgraded to Edgy... and it is back on a new cycle.

I must admit that sometime things are not completely white. For example Dapper final release kernel, break the resume horribly on my laptop, since 2.6.15-21. Kernel 2.6.15-25 still has the problem, I don't know for -27. -19 works fine, I'm sticking to it. Malone #49078. Edgy kernels are broken a bit worse with 2.6.17: Malone #63967, this is not with other boot-related breakage like the console messup (update: that last one have had a huge improvement) or grub not working properly.

But these are not worse than suspend not working on PC laptop with the Operating System you are forced to purchase that is supposed to be supported by the manufacturer... (and sometime it works way better in Linux) given that most of the time you are never getting this fixed... unlike for Linux. And for MacOS X, it better be working given the very narrow hardware range it supports.

Thanks pcolijn for contributing into rectifying the truth. The dark side is always more attractive and easier, but in the long run will NOT win.

Update: I forgot about that Toshiba Tecra I had from work in 2001.

Monday 16 October 2006

And you want to run binary X drivers?

Are you sure want to run a binary X driver as root[1]? Think twice


[1] X runs as root