something random

nyoro~

Java Debugging

Posted on July 31st, 2008 in Programming |

The past couple days I was stuck trying to debug a certain segfault with Java when trying to compile with idlj binary. While trying to build java-access-bridge in koji/mock, idlj would segfault for no apparent (clear) reason.

OK.

Lillian was able to reproduce it inside a mock build, so the first thing I tried to do was to reproduce it on my local work machine. I installed mock, copied over the right config files, and ran a `make mockbuild` in java-1.6.0-openjdk/devel. Unfortunately, I wasn’t able to reproduce the error. That’s weird, I thought, but I assumed it was something I did wrong, or something was different in my environment. At this point I wasn’t very familiar with mock … I had an idea of it’s chroot, but I still wasn’t too confident.

I stopped working on that local machine, and tried to reproduce the problem on my home machine — another i386 box. It was easily reproducible this time. How odd…

Since this was a segfault, I figured that perhaps some debuginfo and gdb would give me a nice stacktrace. A run with gdb said that I needed zlib and glibc debuginfo packages, so I installed those, and I was finally able to get a nice stack trace. It pointed to the HotSpot compiler which did sort of make sense, but looking at where the actual segfault happened didn’t seem to give any insight (Or it could also be my really really bad C++ skills …).

On Lillian’s end, apparently updating glibc from F9 to Rawhide seemed to make her segfaults more reproducible.

So we thought, well, perhaps some change in glibc is causing the fail. F9 has glibc-2.8.8 while Rawhide is currently at glibc-2.8.90-10 giving me around 11 versions of glibc RPMs to test for failure. I did a clean start and rebuilt a ‘broken’ jdk that I could reproduce the segfaults with. I then tested that jdk against 11 versions of glibc and /still/ wasn’t able to find one that fixed the problem. What the hell.

Andrew then casually pointed out that perhaps, just maybe, it was that -client/-server Java flag that was getting in the way. And sure enough, passing -J-client to idlj on Lillian’s machine got rid of the segfault :(

It turns out that for whatever reason, idlj would segfault on i386 machines with dual cores only. Java also thinks dual core machines are server types, so without specifying -client, it was running in server mode. It also explains why my single core i386 work machine was not segfaulting, since it was running in -client mode. In the end, I really shouldn’t have ignored the fact that my local build machine was actually doing the right thing, or that it offered a really vital clue.

Also, funnily enough, this isn’t the first time that we’ve been bitten with the whole -server/-client issue. A Sun bug was filed 3 months ago, accepted as a bug, but not yet resolved. Sigh.

RHCE

Posted on June 18th, 2008 in |

SECTION I:    TROUBLESHOOTING AND SYSTEM MAINTENANCE
RHCE requirements:  completion of compulsory items (50 points)
                    overall section score of 80 or higher
RHCT requirements:  completion of compulsory items (50 points)

Compulsory Section I score:                        50.0
Non-compulsory Section I score:                    50.0
Overall Section I score:                           100

SECTION II:  INSTALLATION AND CONFIGURATION
RHCE requirements: score of 70 or higher on RHCT components (100 points)
                   score of 70 or higher on RHCE components (100 points)

RHCT requirement:  score of 70 or higher on RHCT components (100 points)

RHCT components score:                             100.0
RHCE components score:                             100.0

RHCE Certification:                                PASS

Congratulations -- you are now certified as a Red Hat Certified
Engineer!

nandeya~n

Posted on May 9th, 2008 in |

osakachuruya.png

Yomi! Hey, Yomi! Is there any melon pan left?

You ate it all…

nandeya~n

mudkips

Posted on March 16th, 2008 in |

 * Gem` (~thewittle@daIRC-B122EF89.sip.ags.bellsouth.net) has joined #mudkips
* ChanServ gives voice to Gem`

<Gem`> hey
<lunacy> o.O
<lunacy> hi
<Gem`> I need some info about why my diff’d exe keeps crashing
<Gem`> lol
<Gem`> like
<Gem`> i have data file correct
<Gem`> and
<Gem`> i enabled multi grf
<Gem`> but
<Gem`> when i run it
<Gem`> it gives a gravity error
<Gem`> any ideas?
<Gem`> heya eleric
<lunacy> why are you asking that here? o.o
<Gem`> eleric told me to
<Gem`> …
<Gem`> lmmao
<Gem`> what is this anyways?
<Gem`> …
<lunacy> it’s #mudkips.
<lunacy> i heard you like them
<Gem`> what?
<lunacy> <lunacy> i heard you like them <–
<Gem`> like who?
<Gem`> …
<lunacy> mudkips
<Gem`> what are mudkips?
<lunacy> ? mudkips
<Mudkips> mudkips: so i herd u liek them. | http://en.wikipedia.org/wiki/Axolotls
<Gem`> ….

* Gem` has quit (Quit: Gem`)

dodge

Posted on March 14th, 2008 in |

<Reno> !kb Sam-Ho LulzMomJokesForFailTrolling
* Reno sets ban on *!*SamHo@Cleanse.Purge.Kill
* Sam-Ho is now known as dodge
* dodge sets ban on *!*@corner.store.bomb.factory
* dodge has kicked Reno from #mudkips (dodge)
* dodge is now known as Sam-Ho
* Sam-Ho removes ban on *!*SamHo@Cleanse.Purge.Kill