[Starkit] FreeBSD core dumps when wrapping big files!
Joey Mukherjee
joey at swri.edu
Fri Dec 15 11:15:31 CET 2006
On Dec 15, 2006, at 4:40 AM, Jean-Claude Wippler wrote:
> Joey Mukherjee wrote:
>> I have a file which is roughly 80mb that I include in the
>> starkit. With this file, I can never get the final "sdx.kit wrap"
>> to work - it will just dump core. This 80mb file is actually a
>> zip file that if I unzip it, it works fine so its not the size of
>> the kit I am creating, just the size of the individual file.
>
> This is very strange, the 80 Mb should not matter. All I can think
> of is a missing "fconfigure -translation binary" somewhere, i.e.
> that there is a data contents sensitivity somewhere (or perhaps a
> null-byte or some other encoding quirk).
>
> You may have to binary-search-split the problematic file to
> determine exactly when it fails and when it still works. Again, I
> can't think of a reason why *size* in itself would be a problem.
I have tried taking random files out and really the only difference
seems to be size. I have narrowed down to a magic number, though.
When the file in my starpack to be wrapped is greater than 67107626,
but smaller than 67117434, it will core regardless of the files
inside. I have tried with several different files removed and added
to get to this range. Its harder than it looks to narrow this down!
(As an aside: Does anyone know of an easy way to create a file of an
exact size?)
Anyway, here's an example log:
> Tcl/tclkit-freebsd6-x86 sdx.kit wrap setup -runtime ./tclkit
131 updates applied
> ls -l setup.vfs/
total 85728
-rw-r--r-- 1 joey joey 17806074 Dec 14 22:03 bin.zip
-rw-r--r-- 1 joey joey 67107626 Dec 14 22:22 bin2.zip
-rw-r--r-- 1 joey joey 3317 Mar 22 2006 boot.tcl
-rw-r--r-- 1 joey joey 37 Apr 19 2006 config.tcl
-rw-r--r-- 1 joey joey 818855 Nov 27 16:18 config.zip
-rw-r--r-- 1 joey joey 4628 Dec 1 21:53 eula.txt
-rw-r--r-- 1 joey joey 84312 Nov 27 16:18 graphics.zip
-rw-r--r-- 1 joey joey 1517155 Nov 27 16:18 html.zip
-rw-r--r-- 1 joey joey 222437 Nov 27 16:18 layouts.zip
drwxr-xr-x 7 joey joey 512 Dec 14 05:31 lib
-rw-r--r-- 1 joey joey 32370 Dec 1 21:53 main.tcl
-rw-r--r-- 1 joey joey 18976 Dec 1 21:53 sddas1.gif
-rw-r--r-- 1 joey joey 14575 Nov 27 16:18 svrcmds.zip
-rw-r--r-- 1 joey joey 10134 Aug 19 2003 tclkit.ico
> cd setup.vfs/
> zip -9 bin2.zip ../bin/db_merge
adding: ../bin/db_merge (deflated 63%)
> cd ..
> Tcl/tclkit-freebsd6-x86 sdx.kit wrap setup -runtime ./tclkit
Segmentation fault (core dumped)
> ls -l setup.vfs/
total 85744
-rw-r--r-- 1 joey joey 17806074 Dec 14 22:03 bin.zip
-rw-r--r-- 1 joey joey 67119608 Dec 14 22:26 bin2.zip
-rw-r--r-- 1 joey joey 3317 Mar 22 2006 boot.tcl
-rw-r--r-- 1 joey joey 37 Apr 19 2006 config.tcl
-rw-r--r-- 1 joey joey 818855 Nov 27 16:18 config.zip
-rw-r--r-- 1 joey joey 4628 Dec 1 21:53 eula.txt
-rw-r--r-- 1 joey joey 84312 Nov 27 16:18 graphics.zip
-rw-r--r-- 1 joey joey 1517155 Nov 27 16:18 html.zip
-rw-r--r-- 1 joey joey 222437 Nov 27 16:18 layouts.zip
drwxr-xr-x 7 joey joey 512 Dec 14 05:31 lib
-rw-r--r-- 1 joey joey 32370 Dec 1 21:53 main.tcl
-rw-r--r-- 1 joey joey 18976 Dec 1 21:53 sddas1.gif
-rw-r--r-- 1 joey joey 14575 Nov 27 16:18 svrcmds.zip
-
> I've just checked in some changes to kitgen to better support *BSD
> OS'es. One crucial bit of info is that you have to use GNU make,
> i.e. "gmake", not "make". A quick test on a FreeBSD machine on the
> SourceForge compile farm appears to work.
Hmm, I wonder how they are doing it. I still have problems, and I
don't think I have much more than a vanilla 6.1 install. Anyway,
here's end of the log after doing a "gmake small":
Creating package index /usr/home/joey/kitgen/8.4/kit-small/build/lib/
tk8.4/pkgIndex.tcl
Installing libtk8.4.so to /usr/home/joey/kitgen/8.4/kit-small/build/lib/
Installing wish as /usr/home/joey/kitgen/8.4/kit-small/build/bin/wish8.4
Installing tkConfig.sh to /usr/home/joey/kitgen/8.4/kit-small/build/lib/
Installing libtkstub8.4.a to /usr/home/joey/kitgen/8.4/kit-small/
build/lib/
Making directory /usr/home/joey/kitgen/8.4/kit-small/build/lib/tk8.4/
images
Making directory /usr/home/joey/kitgen/8.4/kit-small/build/lib/tk8.4/
msgs
Installing header files
Installing library files to /usr/home/joey/kitgen/8.4/kit-small/build/
lib/tk8.4
Installing library images directory
Installing translation directory
gmake[2]: Leaving directory `/usr/home/joey/kitgen/8.4/kit-small/
build/tkdyn'
cp kit-cli tclkit-dyn && strip tclkit-dyn
./kit-cli -init- ../../setupvfs.tcl tclkit-dyn dyn
application-specific initialization failed: error copying "build/lib/
libtk8.4.so]": no such file or directory
%
It says it can not find libtk8.4.so, but it is in the directory as
listed above (/usr/home/joey/kitgen/8.4/kit-small/build/lib/). It
also leaves me in the Tcl prompt.
A "gmake large" fails as well, but I'd swear it gets further:
-lX11 -lXss -lXext -L/usr/X11R6/lib -lXft -lX11 -L/usr/local/lib -
Wl,--rpath -Wl,/usr/local/lib -lfreetype -lz -L/usr/X11R6/lib -
lfontconfig -L/usr/X11R6/lib -lXrender -lX11 -lXext -lpthread -lm -L/
usr/home/joey/kitgen/8.5/kit-large/build/lib -ltclstub8.5 -rpath /
usr/home/joey/kitgen/8.5/kit-large/build/lib:/usr/X11R6/lib
ld: unrecognized option '-Wl,--rpath'
ld: use the --help option for usage information
gmake[2]: *** [libtk8.5.so] Error 1
gmake[2]: Leaving directory `/usr/home/joey/kitgen/8.5/kit-large/
build/tkdyn'
gmake[1]: *** [build/tkdyn] Error 2
gmake[1]: Leaving directory `/usr/home/joey/kitgen/8.5/kit-large'
gmake: *** [large] Error 2
If I keep rerun "gmake large":
> gmake large
sh config.sh 8.5/kit-large aqua univ thread allenc allmsgs tzdata
Configuring 8.5/kit-large/Makefile for FreeBSD.
cd 8.5/kit-large && gmake && gmake clean
gmake[1]: Entering directory `/usr/home/joey/kitgen/8.5/kit-large'
cp kit-cli tclkit-dyn && strip tclkit-dyn
./kit-cli -init- ../../setupvfs.tcl -t -e -m -z tclkit-dyn dyn
application-specific initialization failed: error copying "build/lib/
tk8.5/bgerror.tcl": no such file or directory
%
I feel like it is very close...
The only thing I changed was makefile.include:
cvs server: Diffing .
Index: makefile.include
===================================================================
RCS file: /home/cvs/tclkit/kitgen/makefile.include,v
retrieving revision 1.12
diff -r1.12 makefile.include
5c5
< #LDFLAGS = -L/usr/X11R6/lib -lX11 -ldl -lm # -lpthread
---
> LDFLAGS = -L/usr/X11R6/lib -lXft -lX11 -lm -lpthread
Thanks again!
Joey
More information about the Starkit
mailing list