lucene-pylucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Koch <k...@orbiteam.de>
Subject PyLucene@Mac AWT issue (blocker) on Mac OSX
Date Thu, 20 Jun 2013 12:16:21 GMT
Hi,
I just came across a strange issue on my Macbook where I built PyLucene3.6.2 a while ago and
am using it since then (i.e. today) without any problems:

as of today I always get an error message

java.lang.InternalError: Can't start the AWT because Java was started on the first thread.
 
Make sure StartOnFirstThread is not specified in your application's Info.plist or on the command
line

when I call lucene.initVM() or jcc.initVM()

I found several pages mentioning the error message but no hint how to resolve- except of this
one:

The "Apple AWT Java VM was
loaded on first thread -- can't start AWT." message appears to be a red herring.
 What is relevant is apparently not the thread on which the VM was created (via
JNI_CreateJavaVM), but rather the thread on which any Java AWT/Swing
functionality is actually triggered.  This interpretation would be in line with
what <http://developer.apple.com/library/mac/#technotes/tn2005/tn2147.html> "JNI
Development on Mac OS X - Thread-Safe JNI Programming - Calling AWT/Swing From
AppKit" says---the AppKit thread (i.e., the OOo main thread) must call AWT/Swing
only asynchronously (e.g., via javax.swing.SwingUtilities.inovkeLater).
(from https://issues.apache.org/ooo/show_bug.cgi?id=92926) could help, but I don't get where
PyLucene is using anything related to AWT/Swing.

Has anyone encountered this issue and can provide a solution or workaround? Thx.

I thought it's related to some java updates … but could also be some system settings. My
env is

Darwin  12.4.0 Darwin Kernel Version 12.4.0
Python 2.7.2 (default, Oct 11 2012, 20:14:37) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin

/usr/bin/java -version
java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-456-11M4508)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-456, mixed mode)
pylucene-3.6.2-1



regards
Thomas
--
full error message

2013-06-20 13:43:27.151 Python[89821:1207] Apple AWT Java VM was loaded on first thread --
can't start AWT.
Exception in thread "main" java.lang.InternalError: Can't start the AWT because Java was started
on the first thread.  Make sure StartOnFirstThread is not specified in your application's
Info.plist or on the command line
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1827)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1724)
	at java.lang.Runtime.loadLibrary0(Runtime.java:823)
	at java.lang.System.loadLibrary(System.java:1045)
	at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Toolkit.loadLibraries(Toolkit.java:1605)
	at java.awt.Toolkit.<clinit>(Toolkit.java:1627)
	at sun.awt.AppContext$2.run(AppContext.java:237)
	at sun.awt.AppContext$2.run(AppContext.java:226)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.awt.AppContext.initMainAppContext(AppContext.java:226)
	at sun.awt.AppContext.access$200(AppContext.java:112)
	at sun.awt.AppContext$3.run(AppContext.java:299)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.awt.AppContext.getAppContext(AppContext.java:280)
	at com.sun.jmx.trace.Trace.out(Trace.java:180)
	at com.sun.jmx.trace.Trace.isSelected(Trace.java:88)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.isTraceOn(DefaultMBeanServerInterceptor.java:1830)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:929)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:916)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)
	at com.sun.jmx.mbeanserver.JmxMBeanServer$2.run(JmxMBeanServer.java:1195)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.initialize(JmxMBeanServer.java:1193)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.<init>(JmxMBeanServer.java:225)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.<init>(JmxMBeanServer.java:170)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.newMBeanServer(JmxMBeanServer.java:1401)
	at javax.management.MBeanServerBuilder.newMBeanServer(MBeanServerBuilder.java:93)
	at javax.management.MBeanServerFactory.newMBeanServer(MBeanServerFactory.java:311)
	at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:214)
	at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:175)
	at sun.management.ManagementFactory.createPlatformMBeanServer(ManagementFactory.java:302)
	at java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504)
	at org.apache.lucene.util.RamUsageEstimator.<clinit>(RamUsageEstimator.java:225)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
lucene.JavaError
>>> 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message