Solved: no iKVM64 in java.library.path on SuperMicro IP KVM

Posted in Technical on September 30th, 2011 by p14nd4

I recently purchased a Super Micro X7SPA-HF-D525 motherboard, and was excited to try out the IP-KVM feature. While I was able to log into the web interface fine, launching the console redirection java webapplet partially proceeded, but eventually failed for me with an error no iKVM64 in java.library.path. I was able to experiment a bit and developed a patch (below) for the launch.jnlp file served for the iKVM applet that enabled this to run on my system (i.e. downloaded the launch.jnlp, patched it, then ran with javaws launch.jnlp). When run without the patch, Java fails to download liblinux_x86_64.jar for me, because it only tries the following two URLs, which don’t contain the relevant file: and (while the actual path is something like /liblinux_x86_64__V1.0.3.jar.pack.gz).

Read more »

Tags: ,

[protobuf] Solved: Invalid file descriptor data passed to EncodedDescriptorDatabase::Add()

Posted in Technical on September 23rd, 2011 by p14nd4

I’ll make this brief, but wanted to document my fix to potentially save someone else some aggravation in the future.

I’ve been working on a c++ project utilizing Google protobuf, and at one point ran into an error during application startup (static initialization):

libprotobuf ERROR google/protobuf/] Invalid file descriptor data passed to EncodedDescriptorDatabase::Add().
libprotobuf FATAL google/protobuf/] CHECK failed: generated_database_->Add(encoded_file_descriptor, size):
Abort (core dumped)

Read more »

Tags: , ,

Solved: Debugger:: An unhandled non-continuable exception was thrown during process load “0xc0000022”

Posted in Technical on November 22nd, 2010 by p14nd4

I recently developed a new application on my local machine (in Visual Studio/C++ 2008), and then moved it into our source/revision control system at work, IBM/Rational ClearCase (cc). The new app uses some third-party libraries for which we only have DLLs (no source), so I checked those into ClearCase, too. Unfortunately, the first time I made any changes to the version in cc and tried to step through the app in the debugger, I was immediately presented with an unfriendly error and app termination:

Debugger:: An unhandled non-continuable exception was thrown during process load

along with some return code (0xc0000022).

Read more »

Tags: , ,

WordPress vBulletin Bridge (vbridge) disabling WP Super Cache

Posted in Technical, TechwareLabs on September 7th, 2010 by p14nd4

As mentioned in my previous post, I’ve been playing with WordPress, vBulletin, vBridge, and some other stuff as part of my work for my other site, TechwareLabs. One of the other plugins I utilize on that site is WP Super Cache, which I discovered was an easier way to accomplish basic static caching instead of trying to jump into the deep end of learning mod_cache, memcache, and other sorts of fancy things for an actual elegant solution.

Unfortunately, these are complicated systems, and vbridge in particular seems slightly less polished than some more widely utilized components (though, in fairness, its user base is considerably smaller than most wordpress plugins).

Read more »

Tags: , ,

WordPress vBulletin Bridge & NextGEN Gallery Error

Posted in Technical, TechwareLabs on August 17th, 2010 by p14nd4

I’m the webmaster (and co-founder) of TechwareLabs, which gives me opportunities to play with some technology, software, and code that I otherwise likely wouldn’t have the motivation (or occasion) to pursue on my own. (This isn’t the main point of the post, but one of the coolest in recent history was using Xdebug profiling in PHP with KCachegrind to debug a performance problem on the live site. Flipped the profiler on for a few seconds, sent a few requests to the server, disabled the profiler, and loaded the output in KCachegrind to immediately get an awesome graphical overview of all the calls made to render the page, and how long they took. I don’t get to use fancy software like that at my day job, so this was very cool to use, and even cooler that it actually helped solve my problem so quickly.)

Anyway, back to the main point of this post! We’re currently working on an integration between the site backend (WordPress) and our forum software (vBulletin). I found a slick plugin for WordPress that’s supposed to accomplish most of this: Complete WordPress/Vbulletin Bridge and a guide explaining that vBulletin’s own utility, ImpEx, already has the ability to import users from WordPress. (Side note: ImpEx is available only to current vBulletin license holders, and can be downloaded from the same page where you can download vBulletin, after logging into the members area on their site. This wasn’t immediately apparent to me from reading that guide.) Woo! I can follow instructions!

Things went pretty smoothly, other than the hiccup I had trying to use the WordPress or WordPress CMS importers in vBulletin ImpEx. I eventually realized I had to click some start over link to get ImpEx to clear my session before I could continue with the BBpress importer, as the guide mentioned above recommended. Things seemed to be working pretty well in my testing, aside from a few pesky PHP errors about headers already being sent on some pages in the WordPress admin control panel, and a few slightly more concerning vBulletin-generated emails about insufficient database connections (yet to be resolved).

The bad news came when someone actually tried to publish a live article, and discovered that the Add media button for uploading images wasn’t working, and was instead presenting an error:

Are you sure you want to do this?

Please try again.

I poked around in media-upload.php, and first noticed that $_GET[‘inline’] wasn’t being defined, so I thought this was the problem. Not so fast! I guess the staff’s been using the NextGEN Gallery Plugin for WordPress, so this does something fancy for the media upload links, so that wasn’t the problem. My google-fu was apparently a little weak, since although I found other people reporting the issue immediately, I had to read through about twenty pages of the plugin thread before I found a solution (which, in retrospect, I wish I would’ve thought to check, myself, earlier).

User ‘skariko’ posted a [possible?] solution for folks having a problem with the WordPress flash-based image uploader, and while this wasn’t exactly what I needed, it was the Eureka! moment I needed to solve it, myself with a few keystrokes of modification. He suggested modifying the following line in vbbridge.php:
[code lang=”php”]#if (basename($_SERVER[‘SCRIPT_NAME’]) == ‘upload.php’) { return; }[/code]
[code lang=”php”]if (basename($_SERVER[‘SCRIPT_NAME’]) == ‘async-upload.php’) { return; }[/code]
I’m guessing that async-upload.php is the file that the flash uploader posts to, and for whatever reason needs to be unaffected by the vbbridge code. Anyway, I wasn’t even getting that far, so I just changed it to
[code lang=”php”]if (basename($_SERVER[‘SCRIPT_NAME’]) == ‘media-upload.php’) { return; }[/code]
and everything magically worked!

It turns out that someone else posted this exact same solution on another page of the thread, but I wanted to share it here, too, so maybe someone else in the future can have better luck googling for a solution (or in case I forget how I fixed it, and have to fix it again :-p).

Tags: ,

VMware Server Hangs on ‘Mount ISO’ Browsing smbmount

Posted in Technical on March 24th, 2008 by p14nd4

Hahaha. So I’ll try to keep this brief, but I just wanted to post the problem I recently found with VMware Server (1.0.4, 1.0.5) on linux (perhaps others), and what I eventually found to be the cause and workaround.


Running VMware server on linux, I edit virtual machine settings, open the CD-ROM device, select Use ISO image, and Browse. I navigate to my smbmount (actually a cifs mount line in my /etc/fstab), and VMware hangs for about three or four minutes before displaying the contents of the directory. The following lines are written to /var/log/syslog:

Read more »

Ridiculous Account Requirements on

Posted in General, Technical on March 5th, 2008 by p14nd4

This is a break from my regular vein of [not] posting, but I’m livid enough that I need to write this. I’ve had SprintPCS cell phone service since 2003, and have been generally pleased with the service. It’s all subjective, of course, but I haven’t had real issues with dropped calls, and their data services (1xrtt, evdo) have been quite good to me. I log in to their web site regularly to check my account, pay bills etc, and it’s worked perfectly for the past several years. Apparently that was unsatisfactory for Sprint.

Read more »

Ubuntu Feisty (7.04) + Compiz + Thinkpad T41

Posted in Technical on May 23rd, 2007 by p14nd4


As some of you may know, I bought a refurbished IBM ThinkPad T41 (2373-5U2, iirc) during fall 2005, and have been dual booting it with Windows XP Professional and Ubuntu Linux. The hard drive is only 40 GB, which I partitioned as:

  • 26.5 GB Windows (NTFS)
  • 5 GB Ubuntu / (ext3)
  • 1 GB swap
  • 4 GB /home (ext3)
  • 3.5 GB unusable/recovery partition

Windows and Visual Studio 2005 Professional managed to eat up about 8 GB, plus another 1.2 GB for the installers I left on the hard drive, and miscellaneous other crap put the Windows partition near its capacity, and I had nearly 1 GB free on the Ubuntu / partition, but when it came time to upgrade to Feisty, I was informed that I needed over 1.1 GiB free. Even after some housecleaning, I still came up short, so I decided to wipe / and perform a fresh Feisty (Ubuntu 7.04) install. I figured I was probably about due anyway, since I’d been dist-upgrading since at least Breezy. The installation went fine (I did it during a meeting here at work), but when I went to enable “Desktop Effects” (compiz), I got some odd results. Actually, immediately after enabling it, the right section of the screen was displaying odd banded/corrupt artifacts (leftovers, I presume, from switching video modes, etc). I disabled the effects for the time being, and went about my life.

Fixing Compiz Display

As I noted above, I had problems getting Compiz working from Ubuntu 7.04 Feisty on my ThinkPad T41 with an ATI Mobility Radeon 7500 (01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M7 LW [Radeon Mobility 7500]). One or two Ubuntu version ago, I had some OpenGL performance issues with xmoto (a game), which I kind of resolved by changing my xorg.conf file to explicitly use the ‘radeon’ driver instead of ‘ati’ and forcing AGPMode 2 (and maybe something else, I don’t remember for sure). I hoped that would solve my current problem, but alas, it did not. Perhaps resulting from my inability to accurately describe the results I was seeing, I was unable to immediately find any quick fixes to my problem. I guess that’s why it’s still beta, huh?

Update! I reinstalled Feisty (fresh) on my new laptop hard drive, and spent some time isolating the line that fixed the display rendering. It wasn’t the original line I thought, but rather:

Option "AGPSize" "32"

Fixing Compiz Performance

After getting compiz working, I was still getting weird performance hits, where I could hear my hard drive click, whirr, and see CPU spikes during really any display updates (even scrolling a man page in a gnome terminal window would spike the CPU). I thought this was somehow related to the new IDE device handling by the SCSI subsystem, and possibly not having the drive using DMA. I followed that hunch for a while, since it seemed that other people were indeed reporting issues of that nature in Feisty. The information I could glean from dmesg suggested that the drive was in fact in DMA mode, but during the course of the investigation, I noticed some questionable SMART values, so I decided that maybe my hard drive was just dying, and bought a replacement. However, I wasn’t entirely convinced that was the problem, so I kept poking around. I tried many combinations of options, but eventually found a winner. Again, I’m not 100% sure which line was the actual solution, but I think it may have been the following line in my Device section of xorg.conf:

Option "RenderAccel" "true"
Along the way I also modified my dric (/etc/dric or ~/.dric) to enable hyperz as follows (alternatively accomplished with the package driconf):

dric file »

Full xorg.conf Devicesection:

Full xorg.conf Device section »

Minor Front Page Redesign

Posted in Technical on February 23rd, 2006 by p14nd4

After leaving my front page (visually) the same for about two years now (you can check it out for yourself at, I recently felt somewhat compelled (obligated) to actually do something useful after receiving repeated praises from Josh about my site (though, to be honest, I’m not sure what makes my site particularly any better than his … whatever). The idea actually struck me around 4:30 AM, right after I had lain down for bed; I knew that if I didn’t get up immediately to get the idea down on paper, it would be forever forgotten by the time I awoke. While that same situation plagues me with relative frequency, I almost never actually get up to ensure the idea’s survival.

I missed my first (11:15 AM) class the next morning, but was on time to my 12:45 lecture, where I quickly went to work coding up the idea. The idea is by no means particularly complex, just efficient and elegant. With about six lines of xhtml constituting five objects, and maybe three css id’s, the layout worked perfectly in Opera and Firefox (both boasting W3C standards compliance), and the code was fully compliant to the xhtml 1.0 strict standard. Unfortunately, Internet Explorer was another story. (Duh.) Here was the original xhtml code:

<div id="title">
<a href="/resources/" title="resources">/resources</a>
<a href="/gallery2/" title="gallery">/gallery</a>
<a href="/blog/" title="blog">/blog</a>

And the CSS basically consisted of:

div#title { position: absolute; top: 40px; left: 40px; color/border stuff; }
div#title a { display: block; position: relative; bottom: 7px; right: 0px; float: right; margin-right: 15px; color/border stuff; }
div#title a:hover { color stuff; }

Internet Explorer didn’t render the <div id="title"> the correct height, aligned the h1 to the top instead of middle, and didn’t have the links in the correct place. I was able to fix the link placement with moderate ease, by enclosing them all inside another nested <div>, which had position: absolute; right: 0px; bottom: -9px; and then just did float: right; margin-right: 15px; for the <a> tags. I believe this fixed the main div’s vertical size rendering issue as well, in IE. Getting the <h1> to vertical-align: middle; within the main div was another story, though. I probably worked on that issue alone for another hour or more. I tried various combinations of nested elements and other css attributes without success, until I tried nesting the h1 inside a div, with a border enabled. I stumbled across this solution because I start putting borders on all my objects to debug where certain boxes are ending, beginning, hitting each other, etc. Regardless, I figured that just another nested div was the solution, so I immediately went to remove the testing borders, so the site would be suitable for public display (having half a dozen dashed red borders running through the header wasn’t particularly attractive). To my great confusion and horror, though, the h1 regressed to vertical-align: top after removing the borders. Sure enough, adding the border back onto the div re-fixed its alignment. I tried just setting a top border, so there wouldn’t be much visual evidence of this hack, but IE wouldn’t behave with just a top border; it needed all four. Eventually I conceded that it just wasn’t going to look quite right in IE, and moved on for the evening.

Today I finally got around to moving the new header to the main page, but again grew displeased with how it looked in IE. Another idea struck me, though, which managed to elude me yesterday evening. If you were to look at the code, you would again see an additional div containing only the <h1> element, with a style="border: 1px solid black; … which would normally result in an ugly visible border along the bottom of the header… I remedied this situation by overriding the border shorthand property immediately after declaring it, and eliminating the left, right, and bottom borders. In full, the code for that div tag reads as <div style="border: 1px solid black; border-bottom: 0; border-right: 0; border-left: 0;">. Don’t ask me why this happens to fix IE’s rendering, but I’ll live with it, I suppose.

BSD Bootloader ‘Read Error’

Posted in Technical on February 17th, 2006 by p14nd4

As part of my home network, I have been using an HP Vectra VL5/166 Series 5 DT Pentium 166 MHz computer as my NAT router for several years now. I used IPCop (Linux-based) since its 1.3 release, followed by 1.4 for quite a while, and then decided I should give m0n0wall (BSD-based) a try, starting at the 1.2b9 release. m0n0wall was originally designed to run on embedded / SBC systems, especially Soekris boards, which boot off a CF card. It was later [easily] adapted to run on generic PCs, though there’s no real method provided to install it, other than performing a ~5 MiB disk image copy to the hard drive. I tried this (using Knoppix textmode, wget the image, then dd), but was plagued by a Read error after loading the BIOS. I worked on trying to fix this for quite a while, to no avail. Eventually I conceded defeat and just used the m0n0wall LiveCD to boot the system, and stored the configuration on a floppy disk. I later experimented with pfSense very briefly, which is a modification of m0n0wall with a somewhat different target audience and different goals in mind. Of particular interest to me was the fact that after booting from the LiveCD, it provides an actual [optional] installer, which I hoped would avoid the problems I ran into with m0n0wall. Long story short, after about 6 attempted installs, it still didn’t work, so once again, I conceded defeat, and kept on truckin’ with the m0n0wall LiveCD.

Fast forward about five months…

m0n0wall (1.2b9, LiveCD + floppy for config) was very stable … no lockups or reboots (planned or unplanned) for the whole time. One night, I decided to reboot all my computers including the m0n0wall router. Anyway, after it booted back up, it was acting strange … and then started telling me errors like no XML object found, etc. I pulled out the floppy disk, and checked it in my desktop, which spent about 10 minutes trying to read the ~12 KiB file, and later chkdisk confirmed that there were 512 bytes in bad sectors. Crap. Rather than just rebuilding my configuration, though, I decided to go all out and try the new pfSense Beta (finally out of alpha), which put me back in the situation of fixing the Read error once the system actually hit the BSD bootloader.

Read error THIS, bitches!

I googled briefly, and came across a page Why does FreeBSD’s boot loader display Read error and stop after the BIOS screen? Well, that seemed to capture the essense of my problem fairly well, so I gave it a go. There was some confusion to this issue, though, as my BIOS initially reported the disk was 16,383 cylinders, whereas the BSD bootloader installer [correctly] recognized that it was 39,703 cylinders. I tried various combinations of either using the BIOS’s wrong value in the bootloader installer, or entering the right value in the bios and bootloader, or entering a third value in both (somewhere between what the BIOS thought and what the hard drive thought); none of these approaches worked. I also tried most of these combinations without the default ‘packet mode’ selected when installing the bootloader; again, no success. I even tried partitioning the disk into ~1 GiB partitions, in case the issue was with using a partition sized greater than a 32bit address; still no luck. Eventually, I pulled out my trusty Ultimate Boot CD (UBCD), and started going through the boot loaders provided on there. I didn’t make it through the whole list, because when I got to GAG, I was easily able to go into setup -> add operating system -> select FreeBSD from the list and name it/pick an icon, then configure Boot timer to ~2 seconds (so that it will boot without my interaction, since the router is almost always headless / keyboardless), and pick the OS that I just added as the default choice. Lastly, selecting Save in Hard disk immediately installed the bootloader to the drive, and I was able to boot like a charm! It’s frustrating how quickly and easily GAG worked after I spent hours trying more complicated solutions…

Anyway, I’m glad it works. I’ve mostly reconfigured my router with pfSense installed to the hard drive now, and it seems to be working fairly well. I haven’t checked out the Beta1 known bugs yet, but the first bug I’ve observed seems too obvious to even imagine someone hasn’t posted. I guess the pfSense logo is set as a background image (css, presumably … I haven’t actually looked at the code), so they use a transparent image statically placed above it for the actual linking (to the main page). For me, this image (http://arvin.local:446/themes/pfsense/images/transparent.gif) is missing (404 – Not Found) in each of the three themes provided with pfSense, so I get a nice little rectangle with the word Transparent (the alt text) above the pfSense logo. Aside from that, everything else has been sweet like candy. There’s rumor that I can even get more info than just traffic stats from SNMP (for use on my cacti box), but I haven’t looked into that very much yet. Anyway, I hope this can help someone else with a similar problem to mine. I don’t just write these technical posts because I like to regale myself with stories of grueling troubleshooting and frustration ;). Good luck, and have fun.