You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pylucene-dev@lucene.apache.org by "Andi Vajda (JIRA)" <ji...@apache.org> on 2009/06/19 04:47:08 UTC
[jira] Commented: (PYLUCENE-1) On unhandled exception into Python,
the Java stack trace should be included, and vice/versa
[ https://issues.apache.org/jira/browse/PYLUCENE-1?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12721628#action_12721628 ]
Andi Vajda commented on PYLUCENE-1:
-----------------------------------
In rev 786355, I fixed half of this issue by including the java stacktrace into the string representation of the object wrapping java errors, instances of JavaError.
The second half of this bug, including a Python stacktrace when reporting an error to Java remains to be considered.
> On unhandled exception into Python, the Java stack trace should be included, and vice/versa
> -------------------------------------------------------------------------------------------
>
> Key: PYLUCENE-1
> URL: https://issues.apache.org/jira/browse/PYLUCENE-1
> Project: PyLucene
> Issue Type: Improvement
> Reporter: Michael McCandless
> Priority: Minor
>
> Spinoff from this thread:
> http://markmail.org/message/lupg3umtwl6wopoj
> When an unhandled exception escapes Java into python, you get a JavaError python object. When this exception is unhandled in Python, you get something like this printed to your stderr:
> You are able to get the stack trace from java:
> {code}
> Traceback (most recent call last):
> File "testFieldReuse.py", line 22, in <module>
> go()
> File "testFieldReuse.py", line 18, in go
> writer.addDocument(doc)
> lucene.JavaError: java.lang.NullPointerException
> {code}
> But if you call JavaError.getJavaException().printStackTrace(), you see the full trace:
> {code}
> java.lang.NullPointerException
> at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:81)
> at org.apache.lucene.index.DocFieldConsumersPerField.processFields(DocFieldConsumersPerField.java:36)
> at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:234)
> at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:765)
> at org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:743)
> at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1917)
> at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1895)
> {code}
> Ideally, somehow (and I'm quite hazy on that), we want better integration so that you'll see the java part of the traceback, and vice/versa when a Python exception escapes into Java.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.