jum is currently certified at Master level.

Name: Jens-Uwe Mager
Member since: 2000-11-11 21:42:48
Last Login: 2007-02-22 01:52:18

FOAF RDF Share This

Notes:

From the end of 1988 to the end of 2001 I did work for

Projects

Recent blog entries by jum

Syndication: RSS 2.0

Today I did work the last day at HELIOS and left early in the afternoon, taking the last few personal things with me. It was a sad feeling to say good bye to all the people that I have worked with for so long.

Today we got the Alpha box running Tru64 5.1 and surely we do need to do an update to our AppleTalk kernel module as they added an additional argument to the ifp->if_output() function. Otherwise the MacOS X release appears to be in pretty good shape and we hope to freeze the golden master by the end of this week.

I must take things from my office back home, I started with the stereo equipment. By the end of the week I will need to be ready to give my office to my successor. It is a strange feeling to leave a job after 12 years leading the technical part of the company. I am at one point happy to have lots of free time in the near future but I will surely also miss the daily stress that I wanted to get rid off in the first place by leaving HELIOS.

The setitimer problem of yesterday probably appearently can be worked around by rounding the minimum interval given to be at least 20ms, two clock ticks. We are still testing this.

Meanwhile another strange problem that we were looking at for a few days appears to be resolved. In our PCShare product which contains SMB file sharing we do have a complete netbios naming service. This netbios name service did not properly start up if it is the sole computer in a workgroup. First findings appeared to point to packet length problems, as choosing an odd length netbios machine name made things going (not completely, but it did get further along). Thinking a bit more about that I tried turning off hardware checksumming, and voila, it appears to work fine. The hardware checksumming feature was a recent addition to MacOS X, and appearently depending upon if a broadcast packet is an even or odd number of bytes in size has some weird problems.

As the last preparations for the MacOS X final release take place the one or other show stopper bug pops up. One particular nasty one was in reality rearing its ugly head in July for the first time. The problem is that if an app does pretty heavily use setitimer sometimes SIGALRM get lost. If the app is waiting on some timed event the app will stall and if a kill with SIGALRM is used from the command line the app will continue. The very same problem did appear years ago on SunOS 4.1.3 and was fixed by Sun with a patch. Unfortunately SunOS is closed source and thus I do not know exactly what the fix was, but looking through the FreeBSD cvs I believe that I may have found the culprit. There appears to be rare case that the setitimer mechanism might inccur a race condition with the hardware tick timer, the fix was at 1.9 of kern_time.c.

The AIX 5 fix download mechanism does work now, I downloaded the latest versions of system components. The result has not been encouaging so far, as if I leave the start of httpd in /etc/inittab AIX 5 in 64 bit mode will now always crash upon boot. I turned httpd off to be able to continue work in 64 bit mode.

I have fixed one strange bug that was causing multicast address add/delete fail if used via the AppleTalk socket ioctl interface. I did introduce this special ioctl interface as not all systems sport an SIOCADDMULTI/SIOCDELMULTI style interface. And to be exact on AIX this is translated on AIX to the proper ndd_ctl NDD_ENABLE_ADDRESS/NDD_DISABLE_ADDRESS calls. And here the problem came in, I used a statment like this:

err = aa_ndd->ndd_ctl(aa_ndd, cmd == ATIOCADDMULTI?
NDD_ENABLE_ADDRESS : NDD_DISABLE_ADDRESS, buf, len);

The problem here is the comparison cmd == ATIOCADDMULTI, cmd is a parameter that explicetely contains the unsigned int from the upper levels and ATIOCADDMULTI is a define using the standard sys/ioctl.h macros as _IOW('A', 5, struct ifreq). _IOW() contains some pretty obscure shifting and on AIX 64 bit does actually produce a sign extended 64 bit value that is negative (having the top 32 bits set to one). This will never compare to the plain 32 bit cmd value, casting using unsigned makes it work (cmd == (unsigned)ATIOCADDMULTI). Go figure.

39 older entries...

 

jum certified others as follows:

  • jum certified wsanchez as Master
  • jum certified ben as Master
  • jum certified werner as Master
  • jum certified wrowe as Master
  • jum certified rasmus as Master
  • jum certified jimjag as Master
  • jum certified fielding as Master
  • jum certified stoddard as Master
  • jum certified alan as Master
  • jum certified jum as Master
  • jum certified ask as Master
  • jum certified thies as Master

Others have certified jum as follows:

  • JoshO certified jum as Journeyer
  • jrf certified jum as Apprentice
  • jum certified jum as Master
  • jbowman certified jum as Apprentice
  • dneighbors certified jum as Journeyer
  • ask certified jum as Journeyer
  • thies certified jum as Master
  • jono certified jum as Master
  • Ilan certified jum as Master
  • fxn certified jum as Journeyer
  • larsu certified jum as Master
  • dannu certified jum as Master

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page