Opened 15 years ago

Closed 13 years ago

Last modified 5 years ago

#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 Olly Betts)

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)

xapian_solaris_sun_c_build_20060830.txt (4.5 KB ) - added by Andreas Floeter 15 years ago.
Description of the fresh build of Python and Xapian with Sun C compiler.
xapian_core_dbx_20060830 (796 bytes ) - added by Andreas Floeter 15 years ago.
dbx core file analysis
xapian_core_pstack_20060830 (2.4 KB ) - added by Andreas Floeter 15 years ago.
pstack core file analysis
default-depend.inc (217 bytes ) - added by Andreas Flöter 14 years ago.
configuration file for "pkgbuild"
Solaris.inc.zip (2.2 KB ) - added by Andreas Flöter 14 years ago.
configuration file for "pkgbuild"
xapian-core.spec.zip (1.8 KB ) - added by Andreas Flöter 14 years ago.
.spec file for pkgbuild for xapian-core
xapian-bindings.spec.zip (1.0 KB ) - added by Andreas Flöter 14 years ago.
.spec file for pkgbuild for xapian-bindings

Download all attachments as: .zip

Change History (27)

comment:1 by Andreas Floeter, 15 years ago

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.

comment:2 by Olly Betts, 15 years ago

Operating System: Solaris
Status: newassigned

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 Andreas Floeter, 15 years ago

Description of the fresh build of Python and Xapian with Sun C compiler.

by Andreas Floeter, 15 years ago

Attachment: xapian_core_dbx_20060830 added

dbx core file analysis

by Andreas Floeter, 15 years ago

Attachment: xapian_core_pstack_20060830 added

pstack core file analysis

comment:3 by Andreas Floeter, 15 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 Olly Betts, 15 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 Olly Betts, 15 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 Andreas Floeter, 15 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 Andreas Floeter, 15 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 Andreas Floeter, 15 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 Olly Betts, 14 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 Olly Betts, 14 years ago

Description: modified (diff)
Resolution: incomplete
Status: assignedclosed

No feedback from the original reporter for 2 months, so resolving as "incomplete".

by Andreas Flöter, 14 years ago

Attachment: default-depend.inc added

configuration file for "pkgbuild"

by Andreas Flöter, 14 years ago

Attachment: Solaris.inc.zip added

configuration file for "pkgbuild"

by Andreas Flöter, 14 years ago

Attachment: xapian-core.spec.zip added

.spec file for pkgbuild for xapian-core

by Andreas Flöter, 14 years ago

Attachment: xapian-bindings.spec.zip added

.spec file for pkgbuild for xapian-bindings

comment:12 by Andreas Flöter, 14 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 Olly Betts, 14 years ago

Component: Xapian-bindingsBuild system
Description: modified (diff)
Milestone: 1.1.0
Priority: highnormal
Resolution: incomplete
Severity: normalminor
Status: closedreopened

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 Andreas Flöter, 13 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:15 by Olly Betts, 13 years ago

Milestone: 1.1.01.1.1

This doesn't need to block 1.1.0.

comment:16 by Olly Betts, 13 years ago

Milestone: 1.1.11.1.7

Triaging milestone:1.1.1 bugs.

comment:17 by Olly Betts, 13 years ago

Priority: normalhighest

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 Olly Betts, 13 years ago

Milestone: 1.1.71.1.0
Resolution: fixed
Status: reopenedclosed

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 Olly Betts, 11 years ago

Milestone: 1.1.01.2.4

In fact the -lm issue still exists in 1.2.3, but I've fixed it in r14919 (which will be in 1.2.4) and backported in r14927 (which will be in 1.0.22).

comment:20 by Olly Betts, 11 years ago

Milestone: 1.2.41.0.22

That should be milestone 1.0.22 according to our conventions.

comment:21 by Olly Betts, 5 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.

Note: See TracTickets for help on using tickets.