#88 closed defect (fixed)
Python tests fails with a core dump when xapian available as a module and compile with Sun cc
Reported by: | Andreas Floeter | Owned by: | Olly Betts |
---|---|---|---|
Priority: | highest | Milestone: | 1.0.22 |
Component: | Build system | Version: | 0.9.6 |
Severity: | minor | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Operating System: | Solaris |
Description (last modified by )
Building Python 2.4.3 on Solaris 9 with the Sun Studio 11 (Sun C 5.8) and additional modules pysqlite 1.1.7, Xapian 0.9.6 crashes the Python "make test" in several tests. Below first the instructions how Python, pysqlite and Xapian was build are given, then the output of the Python "make test" and finally the stack trace. The effective of this core dump is, that the application roundup 1.1.2 will not run because the generation of the Xapian based index fails.
[build instructions] ##-- building Python 2.4.3
##[
URL="http://www.python.org/ftp/python/2.4.3/Python-2.4.3.tar.bz2"
SRCDIR=/home/zamiz/admin/sources/python
STAR=Python-2.4.3.tar.bz2
PKG=echo $STAR | sed -e 's@\.tar\.gz@@' -e 's@\.tgz@@' -e 's@\.tar\.bz2@@'
BUILDDIR=/builddir
TIMESTAMP=date +%Y%m%d%H%M%S
LOGFILE=/tmp/$PKG.$TIMESTAMP
cd $BUILDDIR pwd bunzip2 -d -c "${SRCDIR}"/"${STAR}" | gtar xvf - cd $PKG pwd
# Sun ONE Studio 11 installed CC="cc"; export CC CXX=CC; export CXX PATH=/opt/SUNWspro/bin:/usr/ccs/bin:/usr/sbin:/usr/bin; export PATH
./configure --prefix=/usr --without-cxx --without-gcc make | tee /var/tmp/"${PKG}"-"${VERSION}"_make_${TIMESTAMP} make test | tee /var/tmp/"${PKG}"-"${VERSION}"_make_test_${TIMESTAMP}
## done as user 'root'; resource the above variables cd "$BUILDDIR"/"$PKG" make install | tee /var/tmp/"${PKG}"-"${VERSION}"_make_install_${TIMESTAMP} ## done as regular user cd $BUILDDIR; test -d "$BUILDDIR" && rm -rf "$BUILDDIR/$PKG" ##]
##-- installing pysqlite 1.1.7
##[
## next step done as user 'root'
URL="http://initd.org/tracker/pysqlite"
SRCDIR=/home/zamiz/admin/sources/python
STAR=pysqlite-1.1.7.tar.gz
PKG=echo $STAR | sed -e 's@\.tar\.gz@@' -e 's@\.tgz@@' -e 's@\.tar\.bz2@@'
PKG=pysqlite
BUILDDIR=/builddir
PREFIX=/usr
CC=cc; export CC
CXX=CC; export CXX
LDFLAGS='-R/opt/sqlite/lib -L/opt/sqlite/lib'; export LDFLAGS
CFLAGS='-I/opt/sqlite/include'; export CFLAGS
PATH=/opt/SUNWspro/bin:/usr/ccs/bin:/usr/sbin:/usr/bin
TIMESTAMP=date +%Y%m%d%H%M%S
cd $BUILDDIR /usr/sfw/bin/gtar -zxvf $SRCDIR/$STAR
cd $PKG
cp -p setup.py setup.py.orig # sed -e 's@\(include_dirs=\).*$@\1/opt/sqlite/include@' \ # -e 's@\(library_dirs=\).*$@\1/opt/sqlite/lib@' setup.cfg.orig > setup.cfg
python setup.py build 2>&1 | tee /var/tmp/"${PKG}"-"${VERSION}"_build_${TIMESTAMP}
#- run tests python test/all_test.py
python setup.py install --prefix=$PREFIX 2>&1 | tee /var/tmp/"${PKG}"-"${VERSION}"_install_${TIMESTAMP}
#- sqlite 1.x is loadable, done as a regular user python import sqlite dir(sqlite)
##]
##-- installing Xapian
##[
SRCDIR=/home/zamiz/admin/sources/xapian
STAR=xapian-core-0.9.6.tar.gz
PKG=echo $STAR | sed -e 's@\.tar\.gz@@' -e 's@\.tgz@@' -e 's@\.tar\.bz2@@'
STAR1=omega-0.9.6.tar.gz
PKG1=echo $STAR1 | sed -e 's@\.tar\.gz@@' -e 's@\.tgz@@' -e 's@\.tar\.bz2@@'
STAR2=xapian-bindings-0.9.6.tar.gz
PKG2=echo $STAR2 | sed -e 's@\.tar\.gz@@' -e 's@\.tgz@@' -e 's@\.tar\.bz2@@'
BUILDDIR=/builddir
TIMESTAMP=date +%Y%m%d%H%M%S
LOGFILE=/tmp/$PKG.$TIMESTAMP
cd $BUILDDIR pwd
CC=cc; export CC CXX=CC ; export CXX
## use Sun C++ compiler but GNU gmake PATH=/opt/SUNWspro/bin:/usr/ccs/bin:/usr/bin:/bin:/opt/sfw/bin cd $BUILDDIR
##- xapian-core /usr/sfw/bin/gtar -zxvf $SRCDIR/$STAR cd $PKG
LDFLAGS="-lm"; export LDFLAGS ./configure --prefix=/usr --without-gcc make # done as user 'root' PATH=/opt/SUNWspro/bin:/usr/ccs/bin:/usr/bin:/bin; export PATH LDFLAGS="-lm"; export LDFLAGS make install
##- omega # done as regular user cd .. /usr/sfw/bin/gtar -zxvf $SRCDIR/$STAR1 cd $PKG1 ./configure --prefix=/usr --without-gcc make
# done as user 'root' PATH=/opt/SUNWspro/bin:/usr/ccs/bin:/usr/bin:/bin; export PATH LDFLAGS="-lm"; export LDFLAGS make install
##- xapian-bindings # done as regular user cd .. /usr/sfw/bin/gtar -zxvf $SRCDIR/$STAR2 cd $PKG2 ./configure --prefix=/usr --without-gcc make
# done as user 'root' PATH=/opt/SUNWspro/bin:/usr/ccs/bin:/usr/bin:/bin; export PATH LDFLAGS="-lm"; export LDFLAGS make install
##]
[output of Python 'make test'] bash-2.05$ python run_tests.py Running unit tests at level 1
Running unit tests from /export/home/builddir/roundup-1.1.2/. Including anydbm tests Skipping metakit tests Skipping mysql tests Skipping postgresql tests Including sqlite tests Skipping tsearch2 tests testDontRetireAdminOrAnonymous (test.test_actions.RetireActionTestCase) ... ok testNoPermission (test.test_actions.RetireActionTestCase) ... ok testRetireAction (test.test_actions.RetireActionTestCase) ... ok testNoPermission (test.test_actions.StandardSearchActionTestCase) ... ok testQueryName (test.test_actions.StandardSearchActionTestCase) ... ok testEmptyKey (test.test_actions.FakeFilterVarsTestCase) ... ok testEmptyMultilink (test.test_actions.FakeFilterVarsTestCase) ... ok testNonEmptyMultilink (test.test_actions.FakeFilterVarsTestCase) ... ok testStandardKey (test.test_actions.FakeFilterVarsTestCase) ... ok testStringKey (test.test_actions.FakeFilterVarsTestCase) ... ok testTokenizedStringKey (test.test_actions.FakeFilterVarsTestCase) ... ok testShowAction (test.test_actions.ShowActionTestCase) ... ok testShowActionNoType (test.test_actions.ShowActionTestCase) ... ok testCollision (test.test_actions.CollisionDetectionTestCase) ... ok testLastNodeActivity (test.test_actions.CollisionDetectionTestCase) ... ok testLastUserActivity (test.test_actions.CollisionDetectionTestCase) ... ok testCorrectLogin (test.test_actions.LoginTestCase) ... ok testInvalidPassword (test.test_actions.LoginTestCase) ... ok testInvalidUsername (test.test_actions.LoginTestCase) ... ok testNoUsername (test.test_actions.LoginTestCase) ... ok testNoWebAccess (test.test_actions.LoginTestCase) ... ok testActorProperty (test.test_anydbm.anydbmDBTest) ... Segmentation Fault (core dumped)
[stack trace] ## I produce a stack trace with the command 'pstack'. The output is attached. ## bash-2.05$ pstack core > core_stack_trace_20060607 core 'core' of 17445: python run_tests.py
fe7ccee0
1cDstdMbasic_string4Ccn0ALchar_traits4Ccn0AJallocator4Cc_2t6Mrk1_v_ (ffbfb378, feac54d0, 0, 1ec00, ffbfb378, 0) + 1c
fe951364 1cOQdDuartzMetaFileGcreate6M_v_ (75b8d0, ffbfb470, ffbfb46f,
2add38, 0, 15) + 34
fe91d6d4 1cOQdDuartzDatabaseWcreate_and_open_tables6MI_v_ (75b8bc, 2000,
fea64f62, 424b18, ffbfb64c, e) + 7c
fe91c95c
1cOQdDuartzDatabase2t5B6MrknDstdMbasic_string4Ccn0BLchar_traits4Ccn0BJallocator4CciI_v_ (75b8bc, 750740, 1, 2000, 0, 0) + ab4
fe920928
1cWQdDuartzWritableDatabase2t5B6MrknDstdMbasic_string4Ccn0BLchar_traits4Ccn0BJallocator4Ccii_v_ (75b850, 750740, 1, 2000, fec3a780, 75b850) + 120
fe919344
1cGXapianIInternalWopen_writable_database6Fpn0AIDatabase_rknDstdMbasic_string4Ccn0DLchar_traits4Ccn0DJallocator4Cci_v_ (6ec510, 750740, 1, 0, 0, 0) + 1e4
fea2656c
1cGXapianQWritableDatabase2t5B6MrknDstdMbasic_string4Ccn0CLchar_traits4Ccn0CJallocator4Cci_v_ (6ec510, 750740, 1, 13798, fec3a780, 6ec510) + 74
feb67700 ???????? (0, 2, ffbfb97c, 2, ffbfb97c, 3588) feb67d2c ???????? (0, 69c030, 0, c4c00, 0, feb67c28) 000237d8 PyNumber_Power (6b4c60, 69c030, 0, 104b50, 1, 2) 00081d88 PyEval_EvalFrame (0, ffbfbaf4, 2, 0, 69c030, 6b46e8) + 2e50 0007e1e8 UnicodeDecodeErrorstr (4, 0, 1e3318, e7b18, 0, 1) + 400 0007f998 PyEval_EvalFrame (6ae460, 1, 1, 4a3, 0, 1e3318) + a60 000c475c local_clear (693930, 5dc030, 0, 0, 4084c, 0) + b0 000237d8 PyNumber_Power (693930, 5dc030, 0, 1043f4, 3, 3) 00029b34 instance_rshift (5dc030, 5dc030, 0, 610238, fadc8, 2) + 8 000237d8 PyNumber_Power (610238, 69c2b0, 0, e65b0, 57fb, 4000) 0005edec tp_new_wrapper (60b170, 69c2b0, 0, 60b160, 115000, 610238) + 194 00053128 rsplit_whitespace (5edb8, 69c2b0, 0, 4, 2, 60b170) + 160 000237d8 PyNumber_Power (6aa558, 69c2b0, 0, ebdc0, 5582ec, 2) 00081b30 PyEval_EvalFrame (6aa558, ffbfc198, 2, 0, 0, 69c2b0) + 2bf8 0008138c PyEval_EvalFrame (ffbfc198, 2, 2, 2aa2ac, 0, 6aa558) + 2454 0007e0e0 UnicodeDecodeErrorstr (208, 0, 2aa158, e7b18, 0, 1) + 2f8 00081584 PyEval_EvalFrame (fffffffd, 2aa2a8, 2adaac, 2aa158, 0, 1) + 264c 00081370 PyEval_EvalFrame (ffbfc320, 5, 1, 2adaa8, 0, 6999b0) + 2438 0007e0e0 UnicodeDecodeErrorstr (208, 0, 2ad920, e7b18, 0, 1) + 2f8 0007f998 PyEval_EvalFrame (56e760, 56f030, 4, 1, 1, 2ad920) + a60 00081608 PyEval_EvalFrame (c, 2a9208, 3, 0, 0, 68ec50) + 26d0 00081370 PyEval_EvalFrame (ffbfc518, 3, 3, 2a91fc, 0, 6ae4b0) + 2438 0007e0e0 UnicodeDecodeErrorstr (208, 0, 2a9080, e7b18, 0, 1) + 2f8 0007f998 PyEval_EvalFrame (52d5e0, eb838, 118b60, 1, 0, 2a9080) + a60 000c4710 local_clear (6b2670, 5dbb70, 2, 2ad488, 0, 5dbb80) + 64 000237d8 PyNumber_Power (6b2670, 5dbb70, 60e9c0, 1043f4, 5, 1e3278) 00081d88 PyEval_EvalFrame (0, ffbfc774, 0, 1, 5dbb70, 0) + 2e50 0007e1e8 UnicodeDecodeErrorstr (606c88, 0, 1e3118, e7b18, 0, 1) + 400 0007f998 PyEval_EvalFrame (52d4e0, eb838, 118b60, 1, 0, 1e3118) + a60 00081608 PyEval_EvalFrame (c, 27d80c, 3, 0, 8, 0) + 26d0 00081370 PyEval_EvalFrame (ffbfc970, 4, 1, 27d800, 2, 6b2630) + 2438 0007e0e0 UnicodeDecodeErrorstr (208, 0, 27d6a8, e7b18, 0, 1) + 2f8 00081584 PyEval_EvalFrame (fffffffd, 27d7f8, 2b1518, 27d6a8, 0, 1) + 264c 00081370 PyEval_EvalFrame (ffbfcaf8, c, 1, 2b1514, 0, 528070) + 2438 0007e0e0 UnicodeDecodeErrorstr (208, 0, 2b13b8, e7b18, 0, 1) + 2f8 0007f998 PyEval_EvalFrame (1fade0, 1fd030, 2, 6b1604, 1, 2b13b8) + a60 000c4710 local_clear (2029f0, 6b15f8, 0, 2ad458, 0, 6b1604) + 64 000237d8 PyNumber_Power (2029f0, 6b15f8, 5daed0, 1043f4, 0, 1) 00081d88 PyEval_EvalFrame (0, ffbfcd54, 1, 1, 6b15f8, 5db950) + 2e50 0007e1e8 UnicodeDecodeErrorstr (4a0210, 0, 27d300, e7b18, 0, 1) + 400 0007f998 PyEval_EvalFrame (1fae20, 1, 1, 13, 0, 27d300) + a60 000c475c local_clear (202a30, 6ad3a0, 0, 0, 4084c, 0) + b0 000237d8 PyNumber_Power (202a30, 6ad3a0, 0, 1043f4, 2, 6) 00029b34 instance_rshift (6ad3a0, 6ad3a0, 0, 587620, fadc8, 1) + 8 000237d8 PyNumber_Power (587620, 5db8f0, 0, e65b0, 5db7e0, 1) 0005e740 richcmp_le (4a0210, 5db8f0, 0, 115000, 587620, 0) + 8 000237d8 PyNumber_Power (4a0210, 5db8f0, 0, 6ebba0, 48ea8c, 1) 00081b30 PyEval_EvalFrame (4a0210, ffbfd398, 1, 0, 0, 5db8f0) + 2bf8 0008138c PyEval_EvalFrame (ffbfd398, 1, 1, 2b1314, 0, 4a0210) + 2454 0007e0e0 UnicodeDecodeErrorstr (208, 0, 2b11b8, e7b18, 0, 1) + 2f8 0007f998 PyEval_EvalFrame (255360, 1fd030, 2, 6b19ec, 0, 2b11b8) + a60 000c4710 local_clear (202e70, 6b19e0, 0, 750730, 0, 6b19ec) + 64 000237d8 PyNumber_Power (202e70, 6b19e0, 5dae40, 1043f4, 0, 1) 00081d88 PyEval_EvalFrame (0, ffbfd5f4, 1, 1, 6b19e0, 5db710) + 2e50 0007e1e8 UnicodeDecodeErrorstr (5a6cf0, 0, 27cf58, e7b18, 0, 1) + 400 0007f998 PyEval_EvalFrame (2553a0, 1, 1, e, 0, 27cf58) + a60 000c475c local_clear (202eb0, 6af030, 0, 0, 4084c, 0) + b0 000237d8 PyNumber_Power (202eb0, 6af030, 0, 1043f4, 2, 6) 00029b34 instance_rshift (6af030, 6af030, 0, 5746e8, fadc8, 1) + 8 000237d8 PyNumber_Power (5746e8, 5db630, 0, e65b0, 5db540, 1) 0005e740 richcmp_le (5a6cf0, 5db630, 0, 115000, 5746e8, 0) + 8 000237d8 PyNumber_Power (5a6cf0, 5db630, 0, 28c088, 48ea8c, 1) 00081b30 PyEval_EvalFrame (5a6cf0, ffbfdc38, 1, 0, 0, 5db630) + 2bf8 0008138c PyEval_EvalFrame (ffbfdc38, 1, 1, 27db9c, 0, 5a6cf0) + 2454 0007e0e0 UnicodeDecodeErrorstr (208, 0, 27da40, e7b18, 0, 1) + 2f8 0007f998 PyEval_EvalFrame (255360, 1fd030, 2, 6b44ec, 0, 27da40) + a60 000c4710 local_clear (202e70, 6b44e0, 0, 2ad428, 0, 6b44ec) + 64 000237d8 PyNumber_Power (202e70, 6b44e0, 5dadb0, 1043f4, 0, 1) 00081d88 PyEval_EvalFrame (0, ffbfde94, 1, 1, 6b44e0, 5db230) + 2e50 0007e1e8 UnicodeDecodeErrorstr (2102d0, 0, 290080, e7b18, 0, 1) + 400 0007f998 PyEval_EvalFrame (2553a0, 1, 1, 9, 0, 290080) + a60 000c475c local_clear (202eb0, 69ac88, 0, 0, 4084c, 0) + b0 000237d8 PyNumber_Power (202eb0, 69ac88, 0, 1043f4, 2, 6) 00029b34 instance_rshift (69ac88, 69ac88, 0, 49b620, fadc8, 1) + 8 000237d8 PyNumber_Power (49b620, 5db810, 0, e65b0, 5db800, 5d0ed0) 0005e740 richcmp_le (2102d0, 5db810, 0, 115000, 49b620, 0) + 8 000237d8 PyNumber_Power (2102d0, 5db810, 0, 28c088, 48ea8c, 1) 00081b30 PyEval_EvalFrame (2102d0, ffbfe4d8, 1, 0, 0, 5db810) + 2bf8 0008138c PyEval_EvalFrame (ffbfe4d8, 1, 1, 2903dc, 0, 2102d0) + 2454 0007e0e0 UnicodeDecodeErrorstr (208, 0, 290280, e7b18, 0, 1) + 2f8 0007f998 PyEval_EvalFrame (255360, 1fd030, 2, 696b7c, 0, 290280) + a60 000c4710 local_clear (202e70, 696b70, 0, 2ad448, 0, 696b7c) + 64 000237d8 PyNumber_Power (202e70, 696b70, 5da8a0, 1043f4, 0, 1) 00081d88 PyEval_EvalFrame (0, ffbfe734, 1, 1, 696b70, 5c75b0) + 2e50 0007e1e8 UnicodeDecodeErrorstr (204e50, 0, 16a328, e7b18, 0, 1) + 400 0007f998 PyEval_EvalFrame (2553a0, 1, 1, 4, 0, 16a328) + a60 000c475c local_clear (202eb0, 6ad030, 0, 0, 4084c, 0) + b0 000237d8 PyNumber_Power (202eb0, 6ad030, 0, 1043f4, 2, 9) 00029b34 instance_rshift (6ad030, 6ad030, 0, 5875f8, fadc8, 1) + 8 000237d8 PyNumber_Power (5875f8, 5ad2d0, 0, e65b0, 5, e8fc8) 0005e740 richcmp_le (204e50, 5ad2d0, 0, 115000, 5875f8, 0) + 8 000237d8 PyNumber_Power (204e50, 5ad2d0, 0, 28c088, 284d7c, 1) 00081b30 PyEval_EvalFrame (204e50, ffbfed78, 1, 0, 0, 5ad2d0) + 2bf8 0008138c PyEval_EvalFrame (ffbfed78, 1, 1, 2ba460, 0, 204e50) + 2454 0007e0e0 UnicodeDecodeErrorstr (208, 0, 2ba2f0, e7b18, 0, 1) + 2f8 0007f998 PyEval_EvalFrame (2020e0, 1fd030, 2, 69c4ec, 0, 2ba2f0) + a60 000c475c local_clear (2036f0, 69c4e0, 0, 0, 740838, 0) + b0 000237d8 PyNumber_Power (2036f0, 69c4e0, 0, 1043f4, 1, eb9ec) 00029b34 instance_rshift (49b5f8, 69c4e0, 0, 28e3b8, 2, 0) + 8 000237d8 PyNumber_Power (49b5f8, 69c4e0, 0, e65b0, 4084c, 2) 00081b30 PyEval_EvalFrame (49b5f8, ffbff2f8, 2, 0, 0, 69c4e0) + 2bf8 0008138c PyEval_EvalFrame (ffbff2f8, 2, 2, 1d54e4, 0, 49b5f8) + 2454 0007e0e0 UnicodeDecodeErrorstr (208, 0, 1d5390, e7b18, 0, 1) + 2f8 00081584 PyEval_EvalFrame (fffffffe, 1d54e4, 1d4860, 1d5390, 1, 2) + 264c 00081370 PyEval_EvalFrame (ffbff480, 3, 2, 1d4858, 0, 20b030) + 2438 0007e0e0 UnicodeDecodeErrorstr (208, 0, 1d46e8, e7b18, 0, 1) + 2f8 00081584 PyEval_EvalFrame (ffffffff, 1d4840, 177918, 1d46e8, 2, 3) + 264c 00081370 PyEval_EvalFrame (ffbff608, 3, 3, 177908, 0, 20b330) + 2438 0007e0e0 UnicodeDecodeErrorstr (208, 0, 177798, e7b18, 0, 1) + 2f8 00081584 PyEval_EvalFrame (ffffffff, 1778f0, 1641c0, 177798, 2, 3) + 264c 00081370 PyEval_EvalFrame (ffbff790, 3, 3, 1641b0, 0, 20b430) + 2438 0007e0e0 UnicodeDecodeErrorstr (208, 0, 163ff8, e7b18, 0, 1) + 2f8 0007f998 PyEval_EvalFrame (265be0, 131a50, 1, 1, 1, 163ff8) + a60 00081608 PyEval_EvalFrame (0, 1582b0, 0, 0, 0, 204370) + 26d0 00081370 PyEval_EvalFrame (ffbff988, 0, 0, 1582ac, 0, 20b470) + 2438 0007e0e0 UnicodeDecodeErrorstr (208, 0, 158160, e7b18, 0, 1) + 2f8 0007f998 PyEval_EvalFrame (265c20, 131a50, 131a50, 0, 1582ac, 158160) + a60 0007aaa8 _PyExc_Init (265c20, 131a50, 131a50, 1179b0, 121230, 121000) + bc 000a17d0 com_list_if (121230, ffbffdc3, 131a50, 131a50, 0, 265c20) + f0 000a07d0 parsestrplus (1176e0, ffbffdc3, 1, ffbffc64, ffbffdcb, 10f800) + 98 0001d1e4 parsetok (4, ffbffcd4, ffbffdc3, 0, 1, 0) + e4 0001c1e0 Py_Main (0, 0, 0, 0, 0, 0) + 50
## Furthermore I created a stack trace via 'dbx', which looks slightly ## different. ## bash-2.05$ dbx /usr/bin/python core For information about new features see `help changes' To remove this message, put `dbxenv suppress_startup_message 7.5' in your .dbxrc Reading python core file header read successfully Reading ld.so.1 Reading libresolv.so.2 Reading libsocket.so.1 Reading libnsl.so.1 Reading librt.so.1 Reading libdl.so.1 Reading libpthread.so.1 Reading libm.so.1 Reading libc.so.1 Reading libmp.so.2 Reading libaio.so.1 Reading libmd5.so.1 Reading libc_psr.so.1 Reading libthread.so.1 Reading strop.so Reading itertools.so Reading cStringIO.so Reading time.so Reading collections.so Reading struct.so Reading array.so Reading _socket.so Reading math.so Reading binascii.so Reading _random.so Reading fcntl.so Reading _weakref.so Reading datetime.so Reading _locale.so Reading libintl.so.1 Reading sha.so Reading md5.so Reading crypt.so Reading libcrypt_i.so.1 Reading libgen.so.1 Reading cPickle.so Reading _csv.so Reading operator.so Reading _bisect.so Reading _heapq.so Reading dbm.so Reading _xapian.so Reading libxapian.so.11.1.0 Reading libCstd.so.1 Reading libCrun.so.1
Reading libCstd_isa.so.1 Reading libmd5_psr.so.1 Reading _sqlite.so Reading libsqlite3.so.0.8.6 t@1 (l@1) program terminated by signal SEGV (no mapping at the fault address) 0xfe7ccee0: basic_string+0x001c: ld [%l7 - 16], %i2 Current function is QuartzMetaFile::create
96 string data = metafile_magic;
(dbx) (dbx)where current thread: t@1
[1] std::basic_string<char,std::char_traits<char>,std::allocator<char>
::basic_string(0xffbfb378, 0xfeac54d0, 0x0, 0x1ec00, 0xffbfb378, 0x0), at
0xfe7ccee0 =>[2] QuartzMetaFile::create(this = 0x75b8d0), line 96 in "quartz_metafile.cc"
[3] QuartzDatabase::create_and_open_tables(this = 0x75b8bc, block_size =
8192U), line 200 in "quartz_database.cc"
[4] QuartzDatabase::QuartzDatabase(this = 0x75b8bc, quartz_dir = CLASS,
action = 1, block_size = 8192U), line 128 in "quartz_database.cc"
[5] QuartzWritableDatabase::QuartzWritableDatabase(this = 0x75b850, dir =
CLASS, action = 1, block_size = 8192), line 677 in "quartz_database.cc"
[6] Xapian::Internal::open_writable_database(db = 0x6ec510, path = CLASS,
action = 1), line 296 in "database.cc"
[7] Xapian::WritableDatabase::WritableDatabase(this = 0x6ec510, path = CLASS,
action = 1), line 336 in "omdatabase.cc"
[8] _wrap_new_WritableDatabaseSWIG_1(_ARG1 = (nil), nobjs = 2, swig_obj =
0xffbfb97c), line 17104 in "xapian_wrap.cc"
[9] _wrap_new_WritableDatabase(self = (nil), args = 0x69c030), line 17185
in "xapian_wrap.cc"
[10] PyObject_Call(0x6b4c60, 0x69c030, 0x0, 0x104b50, 0x1, 0x2), at 0x237d8 [11] ext_do_call(0x0, 0xffbfbaf4, 0x2, 0x0, 0x69c030, 0x6b46e8), at 0x81d88 [12] PyEval_EvalFrame(0x4, 0x0, 0x1e3318, 0xe7b18, 0x0, 0x1), at 0x7e1e8 [13] PyEval_EvalCodeEx(0x6ae460, 0x1, 0x1, 0x4a3, 0x0, 0x1e3318), at 0x7f998 [14] function_call(0x693930, 0x5dc030, 0x0, 0x0, 0x4084c, 0x0), at 0xc475c [15] PyObject_Call(0x693930, 0x5dc030, 0x0, 0x1043f4, 0x3, 0x3), at 0x237d8 [16] instancemethod_call(0x5dc030, 0x5dc030, 0x0, 0x610238, 0xfadc8, 0x2), at
0x29b34
[17] PyObject_Call(0x610238, 0x69c2b0, 0x0, 0xe65b0, 0x57fb, 0x4000), at
0x237d8
[18] slot_tp_init(0x60b170, 0x69c2b0, 0x0, 0x60b160, 0x115000, 0x610238), at
0x5edec
[19] type_call(0x5edb8, 0x69c2b0, 0x0, 0x4, 0x2, 0x60b170), at 0x53128 [20] PyObject_Call(0x6aa558, 0x69c2b0, 0x0, 0xebdc0, 0x5582ec, 0x2), at
0x237d8
[21] do_call(0x6aa558, 0xffbfc198, 0x2, 0x0, 0x0, 0x69c2b0), at 0x81b30 [22] call_function(0xffbfc198, 0x2, 0x2, 0x2aa2ac, 0x0, 0x6aa558), at 0x8138c [23] PyEval_EvalFrame(0x208, 0x0, 0x2aa158, 0xe7b18, 0x0, 0x1), at 0x7e0e0 [24] fast_function(0xfffffffd, 0x2aa2a8, 0x2adaac, 0x2aa158, 0x0, 0x1), at
0x81584
[25] call_function(0xffbfc320, 0x5, 0x1, 0x2adaa8, 0x0, 0x6999b0), at 0x81370 [26] PyEval_EvalFrame(0x208, 0x0, 0x2ad920, 0xe7b18, 0x0, 0x1), at 0x7e0e0 [27] PyEval_EvalCodeEx(0x56e760, 0x56f030, 0x4, 0x1, 0x1, 0x2ad920), at
0x7f998
[28] fast_function(0xc, 0x2a9208, 0x3, 0x0, 0x0, 0x68ec50), at 0x81608 [29] call_function(0xffbfc518, 0x3, 0x3, 0x2a91fc, 0x0, 0x6ae4b0), at 0x81370 [30] PyEval_EvalFrame(0x208, 0x0, 0x2a9080, 0xe7b18, 0x0, 0x1), at 0x7e0e0 [31] PyEval_EvalCodeEx(0x52d5e0, 0xeb838, 0x118b60, 0x1, 0x0, 0x2a9080), at
0x7f998
[32] function_call(0x6b2670, 0x5dbb70, 0x2, 0x2ad488, 0x0, 0x5dbb80), at
0xc4710
[33] PyObject_Call(0x6b2670, 0x5dbb70, 0x60e9c0, 0x1043f4, 0x5, 0x1e3278), at
0x237d8
[34] ext_do_call(0x0, 0xffbfc774, 0x0, 0x1, 0x5dbb70, 0x0), at 0x81d88 [35] PyEval_EvalFrame(0x606c88, 0x0, 0x1e3118, 0xe7b18, 0x0, 0x1), at 0x7e1e8 [36] PyEval_EvalCodeEx(0x52d4e0, 0xeb838, 0x118b60, 0x1, 0x0, 0x1e3118), at
0x7f998
[37] fast_function(0xc, 0x27d80c, 0x3, 0x0, 0x8, 0x0), at 0x81608 [38] call_function(0xffbfc970, 0x4, 0x1, 0x27d800, 0x2, 0x6b2630), at 0x81370 [39] PyEval_EvalFrame(0x208, 0x0, 0x27d6a8, 0xe7b18, 0x0, 0x1), at 0x7e0e0 [40] fast_function(0xfffffffd, 0x27d7f8, 0x2b1518, 0x27d6a8, 0x0, 0x1), at
0x81584
[41] call_function(0xffbfcaf8, 0xc, 0x1, 0x2b1514, 0x0, 0x528070), at 0x81370 [42] PyEval_EvalFrame(0x208, 0x0, 0x2b13b8, 0xe7b18, 0x0, 0x1), at 0x7e0e0 [43] PyEval_EvalCodeEx(0x1fade0, 0x1fd030, 0x2, 0x6b1604, 0x1, 0x2b13b8), at
0x7f998
[44] function_call(0x2029f0, 0x6b15f8, 0x0, 0x2ad458, 0x0, 0x6b1604), at
0xc4710
[45] PyObject_Call(0x2029f0, 0x6b15f8, 0x5daed0, 0x1043f4, 0x0, 0x1), at
0x237d8
[46] ext_do_call(0x0, 0xffbfcd54, 0x1, 0x1, 0x6b15f8, 0x5db950), at 0x81d88 [47] PyEval_EvalFrame(0x4a0210, 0x0, 0x27d300, 0xe7b18, 0x0, 0x1), at 0x7e1e8 [48] PyEval_EvalCodeEx(0x1fae20, 0x1, 0x1, 0x13, 0x0, 0x27d300), at 0x7f998 [49] function_call(0x202a30, 0x6ad3a0, 0x0, 0x0, 0x4084c, 0x0), at 0xc475c [50] PyObject_Call(0x202a30, 0x6ad3a0, 0x0, 0x1043f4, 0x2, 0x6), at 0x237d8 [51] instancemethod_call(0x6ad3a0, 0x6ad3a0, 0x0, 0x587620, 0xfadc8, 0x1), at
0x29b34
[52] PyObject_Call(0x587620, 0x5db8f0, 0x0, 0xe65b0, 0x5db7e0, 0x1), at
0x237d8
[53] slot_tp_call(0x4a0210, 0x5db8f0, 0x0, 0x115000, 0x587620, 0x0), at
0x5e740
[54] PyObject_Call(0x4a0210, 0x5db8f0, 0x0, 0x6ebba0, 0x48ea8c, 0x1), at
0x237d8
[55] do_call(0x4a0210, 0xffbfd398, 0x1, 0x0, 0x0, 0x5db8f0), at 0x81b30 [56] call_function(0xffbfd398, 0x1, 0x1, 0x2b1314, 0x0, 0x4a0210), at 0x8138c [57] PyEval_EvalFrame(0x208, 0x0, 0x2b11b8, 0xe7b18, 0x0, 0x1), at 0x7e0e0 [58] PyEval_EvalCodeEx(0x255360, 0x1fd030, 0x2, 0x6b19ec, 0x0, 0x2b11b8), at
0x7f998
[59] function_call(0x202e70, 0x6b19e0, 0x0, 0x750730, 0x0, 0x6b19ec), at
0xc4710
[60] PyObject_Call(0x202e70, 0x6b19e0, 0x5dae40, 0x1043f4, 0x0, 0x1), at
0x237d8
[61] ext_do_call(0x0, 0xffbfd5f4, 0x1, 0x1, 0x6b19e0, 0x5db710), at 0x81d88 [62] PyEval_EvalFrame(0x5a6cf0, 0x0, 0x27cf58, 0xe7b18, 0x0, 0x1), at 0x7e1e8 [63] PyEval_EvalCodeEx(0x2553a0, 0x1, 0x1, 0xe, 0x0, 0x27cf58), at 0x7f998 [64] function_call(0x202eb0, 0x6af030, 0x0, 0x0, 0x4084c, 0x0), at 0xc475c [65] PyObject_Call(0x202eb0, 0x6af030, 0x0, 0x1043f4, 0x2, 0x6), at 0x237d8 [66] instancemethod_call(0x6af030, 0x6af030, 0x0, 0x5746e8, 0xfadc8, 0x1), at
0x29b34
[67] PyObject_Call(0x5746e8, 0x5db630, 0x0, 0xe65b0, 0x5db540, 0x1), at
0x237d8
[68] slot_tp_call(0x5a6cf0, 0x5db630, 0x0, 0x115000, 0x5746e8, 0x0), at
0x5e740
[69] PyObject_Call(0x5a6cf0, 0x5db630, 0x0, 0x28c088, 0x48ea8c, 0x1), at
0x237d8
[70] do_call(0x5a6cf0, 0xffbfdc38, 0x1, 0x0, 0x0, 0x5db630), at 0x81b30 [71] call_function(0xffbfdc38, 0x1, 0x1, 0x27db9c, 0x0, 0x5a6cf0), at 0x8138c [72] PyEval_EvalFrame(0x208, 0x0, 0x27da40, 0xe7b18, 0x0, 0x1), at 0x7e0e0 [73] PyEval_EvalCodeEx(0x255360, 0x1fd030, 0x2, 0x6b44ec, 0x0, 0x27da40), at
0x7f998
[74] function_call(0x202e70, 0x6b44e0, 0x0, 0x2ad428, 0x0, 0x6b44ec), at
0xc4710
[75] PyObject_Call(0x202e70, 0x6b44e0, 0x5dadb0, 0x1043f4, 0x0, 0x1), at
0x237d8
[76] ext_do_call(0x0, 0xffbfde94, 0x1, 0x1, 0x6b44e0, 0x5db230), at 0x81d88 [77] PyEval_EvalFrame(0x2102d0, 0x0, 0x290080, 0xe7b18, 0x0, 0x1), at 0x7e1e8 [78] PyEval_EvalCodeEx(0x2553a0, 0x1, 0x1, 0x9, 0x0, 0x290080), at 0x7f998 [79] function_call(0x202eb0, 0x69ac88, 0x0, 0x0, 0x4084c, 0x0), at 0xc475c [80] PyObject_Call(0x202eb0, 0x69ac88, 0x0, 0x1043f4, 0x2, 0x6), at 0x237d8 [81] instancemethod_call(0x69ac88, 0x69ac88, 0x0, 0x49b620, 0xfadc8, 0x1), at
0x29b34
[82] PyObject_Call(0x49b620, 0x5db810, 0x0, 0xe65b0, 0x5db800, 0x5d0ed0), at
0x237d8
[83] slot_tp_call(0x2102d0, 0x5db810, 0x0, 0x115000, 0x49b620, 0x0), at
0x5e740
[84] PyObject_Call(0x2102d0, 0x5db810, 0x0, 0x28c088, 0x48ea8c, 0x1), at
0x237d8
[85] do_call(0x2102d0, 0xffbfe4d8, 0x1, 0x0, 0x0, 0x5db810), at 0x81b30 [86] call_function(0xffbfe4d8, 0x1, 0x1, 0x2903dc, 0x0, 0x2102d0), at 0x8138c [87] PyEval_EvalFrame(0x208, 0x0, 0x290280, 0xe7b18, 0x0, 0x1), at 0x7e0e0 [88] PyEval_EvalCodeEx(0x255360, 0x1fd030, 0x2, 0x696b7c, 0x0, 0x290280), at
0x7f998
[89] function_call(0x202e70, 0x696b70, 0x0, 0x2ad448, 0x0, 0x696b7c), at
0xc4710
[90] PyObject_Call(0x202e70, 0x696b70, 0x5da8a0, 0x1043f4, 0x0, 0x1), at
0x237d8
[91] ext_do_call(0x0, 0xffbfe734, 0x1, 0x1, 0x696b70, 0x5c75b0), at 0x81d88 [92] PyEval_EvalFrame(0x204e50, 0x0, 0x16a328, 0xe7b18, 0x0, 0x1), at 0x7e1e8 [93] PyEval_EvalCodeEx(0x2553a0, 0x1, 0x1, 0x4, 0x0, 0x16a328), at 0x7f998 [94] function_call(0x202eb0, 0x6ad030, 0x0, 0x0, 0x4084c, 0x0), at 0xc475c [95] PyObject_Call(0x202eb0, 0x6ad030, 0x0, 0x1043f4, 0x2, 0x9), at 0x237d8 [96] instancemethod_call(0x6ad030, 0x6ad030, 0x0, 0x5875f8, 0xfadc8, 0x1), at
0x29b34
[97] PyObject_Call(0x5875f8, 0x5ad2d0, 0x0, 0xe65b0, 0x5, 0xe8fc8), at
0x237d8
[98] slot_tp_call(0x204e50, 0x5ad2d0, 0x0, 0x115000, 0x5875f8, 0x0), at
0x5e740
[99] PyObject_Call(0x204e50, 0x5ad2d0, 0x0, 0x28c088, 0x284d7c, 0x1), at
0x237d8
[100] do_call(0x204e50, 0xffbfed78, 0x1, 0x0, 0x0, 0x5ad2d0), at 0x81b30
(dbx)
Attachments (7)
Change History (27)
comment:1 by , 18 years ago
comment:2 by , 18 years ago
Operating System: | → Solaris |
---|---|
Status: | new → assigned |
Could you try to cut this down to something which doesn't involve sqllite or roundup? i.e. just a simple python script using the xapian python bindings.
by , 18 years ago
Attachment: | xapian_solaris_sun_c_build_20060830.txt added |
---|
Description of the fresh build of Python and Xapian with Sun C compiler.
comment:3 by , 18 years ago
Calling the example
chmod +x /usr/share/doc/xapian-bindings/python/examples/simpleindex.py
/usr/share/doc/xapian-bindings/python/examples/simpleindex.py dada
creates a core dump. See the details "xapian_solaris_sun_c_build_20060830.txt" how I build it. The analysis of the core file is in the attachments "xapian_core_dbx_20060830" and "xapian_core_pstack_20060830".
comment:4 by , 18 years ago
Two initial comments:
./configure --prefix=/usr --without-gcc
There is no "--without-gcc" option (but configure ignores any --with-X, --without-X, --enable-X, or --disable-X which it doesn't recognise so this doesn't give an error).
##- Fix the trailing commas in version.h cp -p include/xapian/version.h include/xapian/version.h.orig sed 's/ ,$' include/xapian/version.h.orig > include/xapian/version.h
This shouldn't be necessary (and I've just committed a fix) - please report build problems rather than just working around them!
I'm looking at the other files now.
comment:5 by , 18 years ago
It's failing trying to assign from a static std::string to a std::string.
I suspect the issue is that the constructors on static objects aren't getting called so the static std::string is never initialised. This should happen when python loads the xapian shared library, but I guess it doesn't when compiled with the Sun C++ compiler. I'm afraid I don't know much about how the Sun C++ compiler handles such things. In this case, we could rework to avoid the static string, but I suspect there other instances we can't easily get rid of.
You could try linking python using the C++ compiler. Or if that doesn't help, perhaps try statically linking Xapian and the SWIG glue into python.
comment:6 by , 18 years ago
Thanks for your help. I am currently applying the latest Sun patches for Solaris 10 x86. There are some patches related to the compiler
119964-07 SunOS 5.10_x86: Shared library patch for C++_x86 120759-08 Sun Studio 11_x86: Sun Compiler Common patch for x86 backend 121018-04 Sun Studio 11_x86: Patch for Sun C++ 5.8 compiler 121016-03 Sun Studio 11_x86: Patch for Sun C_x86 5.8 Compiler 121616-02 Sun Studio 11_x86: Patch for Sun dbx 7.5_x86 Debugger 120762-02 Sun Studio 11_x86: Patch for Performance Analyzer Tools
I let you know if this changes things.
You say, the Sun c++ compiler does not correctly initialise constructors for static objects. If I would open a call to Sun service, do you have a small example code that would explain this behavior?
comment:7 by , 18 years ago
Updating the system with the mentioned patches did not change the behavior. I re-compiled everthing from scratch and still it core dumps the same way.
comment:8 by , 18 years ago
One comment on the work-arounds I used for the build on Solaris 9 or 10. It would be great if the reference to the standard library '-lm' could be included by the configure script. I used
LDFLAGS="-lm"; export LDFLAGS
instead.
comment:10 by , 17 years ago
Description: | modified (diff) |
---|
Does this problem still occur with 1.0.6?
The "-lm" issue should be fixed when we move to libtool 2.2.x (probably with Xapian 1.1.0) as that has better support for Sun C++, including fixing this particular issue.
comment:11 by , 17 years ago
Description: | modified (diff) |
---|---|
Resolution: | → incomplete |
Status: | assigned → closed |
No feedback from the original reporter for 2 months, so resolving as "incomplete".
by , 17 years ago
Attachment: | xapian-bindings.spec.zip added |
---|
.spec file for pkgbuild for xapian-bindings
comment:12 by , 17 years ago
This was the feedback given in April 2008 to the status of the reported problem.
The problem is fixed indeed with version 1.0.6. Still '-lm' has to be added, as you mention. This is easily added, but to a rushing user it is an extra burdon.
I compiled the sources on Solaris 9 with Sun Studio 12. This might has helped too, since Sun claims that Sun Studio 12 is more gcc compliant. Since I do not have the knowledge I really can't tell. Basically the compilation is now
PATH=/opt/SUNWspro/bin:/usr/ccs/bin:/usr/sbin:/usr/bin; export PATH CC=cc; export CC CXX=CC; export CXX LDFLAGS="%_ldflags -lm"; export LDFLAGS
./configure --prefix=%{_prefix} \
--bindir=%{_bindir} \ --libdir=%{_libdir} \ --sysconfdir=%{_sysconfdir} \ --includedir=%{_includedir} \ --mandir=%{_mandir} \ --infodir=%{_infodir} \ --disable-static \ --docdir=%{_docdir}/%{name}/ \ --without-gcc \ --enable-shared
make
Details you can find in the attach two .spec files which I have used on Solaris to build the Solaris packages for xapian-core and xapian-bindings. I used pkgbuild, which is a tool developed and used for the JDK on OpenSolaris. Pkgbuild takes an RPM spec file and produces a Solaris Sys V package, which is quite handy.
comment:13 by , 16 years ago
Component: | Xapian-bindings → Build system |
---|---|
Description: | modified (diff) |
Milestone: | → 1.1.0 |
Priority: | high → normal |
Resolution: | incomplete |
Severity: | normal → minor |
Status: | closed → reopened |
I'd not seen this feedback before - thanks for resending it.
We're going to use libtool 2.2 for Xapian 1.1 which should fix the -lm issue, but I'm reluctant to upgrade the 1.0.x branch to a new major libtool release at this point in the release cycle.
It would probably be useful to other users if we could make these build files available, but they say they are (C) Sun with no licence so we can't really assume we are able to distribute them. I think the references to Gnome need replacing too, but I'm not sure what section the package should have as I don't know what the available values are.
"--without-gcc" doesn't mean anything to our configure scripts incidentally, but it will just be ignored, so it's not harmful.
comment:14 by , 16 years ago
Sorry for the late reply. But I was on vacation and then quite busy.
I did contact Sun about the copyrights in the spec or inc files. Their reply was, since those files are on the openSolaris repository they are free software under the COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) and an OSI-approved open source license. Any removal of Copyright or the reference to GNOME, JDK, etc. they didn't want to accept.
Since the '.inc' are created in the context of the JDK desktop (GNOME-based) those files have the reference to this environment as you have seen.
To give you a chance to publish those files without those copyrights and reference, I have created '.spec'-files which are without any reference to the JDK environment. Those are limited adapted for x86 Solaris. The compile and linker options for SPARC would be different. In the file "installing_build_xapian_solaris10.txt" I explain how I did set up a Solaris 10 05/8 x86 machine with Studio 12. Furthermore it includes the building and installation of pkgbuild (the building tool for .spec files) and the building and installation of xapian.
I have also added a howto for your wiki. Since I didn't know exactly where and how to add a new wiki page (it does not fit as a FAQ), I just add it here in case you want to use it.
The mentioned information I have sent to nobody@…. I don't see how I can add attachment in this interface.
comment:17 by , 15 years ago
Priority: | normal → highest |
---|
Hmm, just looking at why this was still open and I discovered I have the mail referred to above - odd, as I would have thought mail to user nobody would just be ignored.
Anyway, I'll create a wiki page for this shortly.
comment:18 by , 15 years ago
Milestone: | 1.1.7 → 1.1.0 |
---|---|
Resolution: | → fixed |
Status: | reopened → closed |
Wiki page created:
wiki:BuildInstallXapianOnSolaris
The actual remaining bug here (the -lm issue) should have been fixed by moving to libtool 2.2 in Xapian 1.1.0, so setting that as the milestone.
comment:19 by , 14 years ago
Milestone: | 1.1.0 → 1.2.4 |
---|
comment:20 by , 14 years ago
Milestone: | 1.2.4 → 1.0.22 |
---|
That should be milestone 1.0.22 according to our conventions.
comment:21 by , 8 years ago
Just a note for anyone reading the bug history here - the wiki page mentioned above hadn't been updated since Xapian 1.0.x, and the links to sun.com now end up on a generic Sun page at Oracle, so it seems unlikely to be a useful resource at this point so we've removed it from the wiki.
I forgot to mention, build everything with gcc works fine. But it creates issues distributing the binaries to other machines. The behavior is identical on Solaris 9 Sparc and Solaris 10 HW 01/6 x86.