Category Archives: Uncategorized

Puppetserver failed to start after upgrading to 2.5.0

I upraded puppetserver from 2.4.0 to 2.5.0 on a server running Centos 6.8. Then, puppetserver no longer starts.

The log (I think it was puppetsrver-daemon.log) said:

Exception in thread "main" java.lang.IllegalArgumentException: Specified bootstrap config file does not exist: '/etc/puppetlabs/puppetserver/bootstrap.cfg'

As the error reported, /etc/puppetlabs/puppetserver/bootstrap.cfg was not there. The disappearance must have happened during the puppetserver upgrade. I can confirm this by looking at my backup directory and finding the boostrap.cfg file there: /srv/backup/etc/puppetlabs/puppetserver/bootstrap.cfg.

According to this issue #1247, the boostrap.cfg file is broken into 2 files and relocated to a different directories. This issue was raised sometimes in May, and the problem only happened on my server today in August. How is that possible? This should affect more people right? So far, I haven’t seen any one reported it yet.

I need to get puppetserver running again and fast. Here is a quick fix.

Edit /etc/sysconfig/puppetserver, and make change to BOOTSTRAP_CONFIG variable:


Start puppetserver and it is working again (for now).

# service puppetserver start
Starting puppetserver:                                     [  OK  ]

GDM Doesn’t Start on Fedora 23 Beta and VirtualBox

I just finished upgrading Fedora 22 to Fedora 23 Beta and upon rebooting, gdm no longer started. I tried to reinstall the VirtualBox Guest Additions; unfortunately it still didn’t fix.

To cut the story short, someone has given a working tip at this forum. The solution is to downgrade xorg-x11-server-Xorg package.

# dnf --showduplicates --allowerasing --releasever=22 downgrade xorg-x11-server-Xorg
# mount /dev/cdrom /mnt; cd /mnt
# ./
# reboot

After rebooting, I was able to login again.


Kinetis Design Studio crashes on Kubuntu 14.04

On Kubuntu 14.04, Kinetis Design Studio (KDS) could be started, but when I tried to create a new project, it’d crash with the following message displayed in the terminal:

$ kinetis-design-studio 
java: /build/buildd/gtk2-engines-oxygen-1.4.5/src/animations/oxygencomboboxdata.cpp:87: void Oxygen::ComboBoxData::setButton(GtkWidget*): Assertion `!_button._widget' failed.

KDS is a Eclipse-based IDE. So I suspect the issue is related to Eclipse IDE itself. (I can’t confirm this as I’m not running the Eclipse IDE on this machine. I know I could have just downloaded and test it; but I don’t have time.)

The (error) message above gave us some hints where the problem was originated from. According to this Eclipse bug report1, yes this bug is caused by a bug in gtk2 theme oxygen.

To change the GTK themes on Kubuntu 14.04, open System Settings window by clicking on: K -> Computer -> System Settings. Then under “Common Appearance and Behavior”, click on “Application Appearance”. Look for GTK on left window pane and click on it.

On the right side on GTK – System Settings window, you should be able to select a different theme for GTK2 from the drop down list. In my case, I selected “Raleigh”. Then click on “Apply” button.


Let’s try to run it and create a new project:


Voila, it worked! The only downside is that now it makes all applications that depends on GTK2 look ugly. 🙁

Is there anything we can do about it? Well, as it turned out we can actually ask Eclipse based applications to use GTK3 theme instead of GTK2.

$ export SWT_GTK3=1
$ kinetis-design-studio

Here’s KDS running using GTK3 theme:


(1) Bug 440660 – Several dialogs incompatible with GTK (Oxygen = default theme for Kubuntu)

PF firewall rule for DNS server

A reminder to readers, most of these blog posts are to remind me what I have done or fixed some problems. What works for me may not work for you. Most of the time, they aren’t even the best practice.

Here’s a snippet of the PF firewall rule on my FreeBSD box which acts as a DNS server. Basically, the firewall opens up UDP port 53 to allow LAN access it.

ext_if = "ue0"
pass in on $ext_if proto udp from to any port 53 keep state

Reference: IPFW rules for DNS Resolvers

R-tip: List installed R packages

> rownames(installed.packages())
 [1] "bitops"     "manipulate" "RCurl"      "rgl"        "rstudio"   
 [6] "scrapeR"    "XML"        "base"       "boot"       "class"     
[11] "cluster"    "codetools"  "compiler"   "datasets"   "foreign"   
[16] "graphics"   "grDevices"  "grid"       "KernSmooth" "lattice"   
[21] "MASS"       "Matrix"     "methods"    "mgcv"       "nlme"      
[26] "nnet"       "parallel"   "rpart"      "spatial"    "splines"   
[31] "stats"      "stats4"     "survival"   "tcltk"      "tools"     
[36] "utils"