More evidence (Re: JBuilder 2005 Foundation Corrupts My OSX Tiger System)

2005-06-15 01:55:39 PM
Here are the 2 best tests I could come up with. The evidence is
becoming fairly definite... something very major (like the design??)
of the JBuilder 2005 Foundation installer appears to be broken.
1) I create myself a "Hello World" executable and install it at
/usr/local/bin/test. Works fine. Then I run the JBuilder 2005
Foundation installer, and after the installer quits, the new
executable has become corrupted.
Full transcript:
% mkdir -p ~/test/cc
% cd ~/test/cc
% vi test.c
test.c reads as follows:
#include <stdio.h>
main() {
printf( "Hello World\n" );
% cc test.c -o test
% ./test
Hello World
% sudo cp test /usr/local/bin/test
% /usr/local/bin/test
Hello World
% ls -alg /usr/local/bin/test
-rwxr-xr-x 1 wheel 17332 Jun 14 20:19 /usr/local/bin/test
Now I double-click on from the jb2005_mac folder,
and follow the installer wizard. (authenticate as Administrator,
Introduction screen/Next, Accept terms of license/Next, leave the
default location/Next, Installation Warning/Invalid Directory
(because of the previous installation), I say OK, Pre-Installation
Summary/Install, I wait, Install Complete/Done, Installer quits.
Back to my shell ...
% ls -alg /usr/local/bin/test
-rwxr-xr-x 1 wheel 14488 Jun 14 20:23 /usr/local/bin/test
% /usr/local/bin/test
Bus error
Voila. 100% reproducable.
Further info:
% file /usr/local/bin/test
/usr/local/bin/test: Mach-O executable ppc
% ktrace /usr/local/bin/test
ktrace: exec of '/usr/local/bin/test' failed: Malformed Mach-o file
A manual inspection of the files shows substantial differences between
them ... not just the size is different.
2) I run the installer again, and attach ktrace to it (starting at
the first screen). It produces about 180MB of tracing information,
and weeding through it, I find some clear references to my file
being accessed, and (I think) being written. I'm not 100% definite
as I don't quite get the output of kdump. (Maybe somebody who
understands this better can help?)
Among other things, it says:
26222 install NAMI "/usr/local/bin/AAbbCCddEEffGG"
26222 install RET open 0x14
26222 install CALL write(0x14,0x1858800,0x2000)
26222 install GIO fd 20 wrote 8192 bytes
For this test, I called my Hello World file
as that way, it is easier to find in the logs.
In terms of which phase of the installer does it, that's hard
to pinpoint, but it looks like it happens while the installer
Modify Text File - Multiple Files: : bin
(whatever that is supposed to mean)
The only good news it that the corruption seems to be limited to
the /usr/local/bin folder ... a great big 'find' did not find
any other files that were modified at the same time as the
corrupted ones.
I hope somebody in Borland's installer group can respond to this
some time real soon. I don't think my setup is in any way special
as it relates to this issue. And please, don't tell me "Tiger is
not currently a supported OS version"... nothing should ever
corrupt -- or even touch! -- files that have nothing to do with
the software being installed, and certainly not at a standard
location such as /usr/local/bin, even if I tried to run an
MacOS 6 executable or pong ;-)