2011-07-14 17 views
17

में जेपीएल और वाईएपी प्रोलॉग का उपयोग करने की कोशिश करते समय अपवाद फेंक दिया गया है, मैं जावा प्रोग्राम और वाईएपी प्रोलॉग के संपर्क के लिए जेपीएल का उपयोग करने की कोशिश कर रहा हूं।ओएस एक्स

Query query = new Query("consult", new Term[] { new Atom("test.pl") });

अपवाद नीचे दिखाया गया है:

मेरी जावा फ़ाइल में, इस लाइन के लिए एक अपवाद फेंक है

Exception in thread "main" jpl.JPLException: this Query's engine is not that which is attached to this thread 
at jpl.Query.close(Query.java:511) 
at jpl.Util.textToTerm(Util.java:165) 
at jpl.Query.Query1(Query.java:183) 
at jpl.Query.<init>(Query.java:176) 
at Test.main(Test.java:12) 

हालांकि मैं किसी YAP में एक ही समस्या रिपोर्टिंग नहीं मिला , कुछ लोगों को एसडब्ल्यूआई के साथ यह समस्या हो रही थी, और उन्हें यह सत्यापित करने की सलाह दी गई थी कि एसडब्ल्यूआई बहु-थ्रेडिंग समर्थन के साथ संकलित किया गया था। बस अगर मैंने मल्टीथ्रेडिंग के लिए समर्थन के साथ YAP संकलित किया, लेकिन इससे मदद नहीं मिली।

यह समस्या केवल ओएस एक्स में हो रही है, मैंने उबंटू में कोशिश की और सब कुछ ठीक काम करता है।

क्या किसी को ओएस एक्स में इस समस्या के लिए एक समाधान पता है?

+0

ओएस एक्स का कौन सा संस्करण? – trashgod

+0

आप किस जेवीएम का उपयोग करते हैं? – micfra

उत्तर

2

याप 6.2.2 के लिए JPL सही ढंग से काम कर रहा है अद्यतन करने के बाद। दुर्भाग्य से मैं पूरी तरह से यह सुनिश्चित नहीं कर सकता कि समस्या वास्तव में पिछले याप संस्करण (6.2.0) का उपयोग कर रही थी या यह किसी और चीज़ से संबंधित थी।

0

ऐसा लगता है कि आपको स्विई-प्रोलॉग में थ्रेडिंग का समर्थन करने के लिए एक विशेष उपयोग-ध्वज सेट करना होगा।

अधिक जानकारी के लिए यहाँ देखो:

http://comments.gmane.org/gmane.comp.ai.prolog.swi/5335

+0

हाय। हां, मैंने देखा कि कुछ लोग इस समस्या से संबंधित तर्क इंजन के साथ बहु थ्रेडिंग का समर्थन नहीं करते हैं। हालांकि बहु थ्रेडिंग समर्थन जोड़ने से मदद नहीं मिली (जैसा कि मैंने प्रश्न में लिखा था)। वैसे भी, मुझे खुशी है कि समस्या हल हो गई है, अगर मुझे लगता है कि यह क्यों हुआ, तो मैं इसे यहां अपडेट कर दूंगा। अभी मुझे लगता है कि शायद यह याप I के संस्करण में एक बग से संबंधित था, लेकिन मैं वास्तव में निश्चित नहीं हूं। – Sergio