On Wed, 1 Oct 2014, Aric Coady wrote:

On Oct 1, 2014, at 11:49 AM, Andi Vajda <va...@apache.org> wrote:
On Tue, 30 Sep 2014, Andi Vajda wrote:


On Tue, 30 Sep 2014, Aric Coady wrote:

I?ve found a regression involving Python* classes.  If the overridden methods 
raise an error, it?s causing a crash instead of propagating the error.  Here?s 
a simple example:
from org.apache.pylucene.search import PythonFilter
class Filter(PythonFilter):
  "Broken filter to test errors are raised."
  def getDocIdSet(self, *args):
      assert False

I added the same 'assert False' line at line 69 in test/test_FilteredQuery.py 
and this test fails (as expected) but I get no crash.

In other words (I should have been clearer), can you please help me reproduce 
this by sending in a self-contained piece of code that causes the crash.

The crash reproduced in the (modified) test for me.  And it is only reproducing 
with icc 2.21 / lucene 4.10.  So that means it is related to the change, but 
also almost certainly another symptom of mismatched compilers (re the other 
recent thread about linking errors).  I gave up on shared builds awhile ago 
because of Xcode tools updating the compiler.  It reproduces with a NO_SHARED 
build, with both the system python and homebrew's python, which as you can see 
below were built with older compiler versions.

Ah ha. I dropped --shared from the JCC command line and rebuilt.
This time the test_PythonException.py test failed as reported, with a crash.

Ok, reproduced, thanks !

Andi..


$ /usr/bin/python (system)
Python 2.7.5 (default, Mar  9 2014, 22:15:05)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin

$ /usr/local/bin/python (homebrew)
Python 2.7.8 (default, Aug 24 2014, 21:26:19)
[GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)] on darwin

$ gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr 
--with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

Or could it be that you're running a mixture of JCCs ?
The area of your crash, Python error reporting, did change between JCC 2.20 and 
JCC 2.21.

Andi..


Andi..

Run any search using an instance of that filter and it should reproduce.
On Sep 29, 2014, at 7:05 PM, Andi Vajda <va...@apache.org> wrote:
The PyLucene 4.10.1-0 release tracking today's release of Apache Lucene 4.10.1 
is ready.
******* <ATTENTION> *******
Starting with release 4.8.0, Lucene now requires Java 1.7 at the minimum.
Using Java 1.6 with Lucene 4.8.0 and newer is not supported.
On Mac OS X, Java 6 is still a common default, please upgrade if you haven't 
done so already. A common upgrade is Oracle Java 1.7 for Mac OS X:
http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html
On Mac OS X, once installed, a way to make Java 1.7 the default in your bash 
shell is:
$ export JAVA_HOME=`/usr/libexec/java_home`
Be sure to verify that this JAVA_HOME value is correct.
On any system, if you're upgrading your Java installation, please rebuild
JCC as well. You must use the same version of Java for both JCC and PyLucene.
******* </ATTENTION> *******
A release candidate is available from:
http://people.apache.org/~vajda/staging_area/
A list of changes in this release can be seen at:
http://svn.apache.org/repos/asf/lucene/pylucene/branches/pylucene_4_10/CHANGES
PyLucene 4.10.1 is built with JCC 2.21 included in these release artifacts.
A list of Lucene Java changes can be seen at:
http://svn.apache.org/repos/asf/lucene/dev/tags/lucene_solr_4_10_1/lucene/CHANGES.txt
Please vote to release these artifacts as PyLucene 4.10.1-0.
Anyone interested in this release can and should vote !
Thanks !
Andi..
ps: the KEYS file for PyLucene release signing is at:
http://svn.apache.org/repos/asf/lucene/pylucene/dist/KEYS
http://people.apache.org/~vajda/staging_area/KEYS
pps: here is my +1




Reply via email to