加入机器人自由开放源码项目 BotLibre.org
Help

Exception [EclipseLink-4002]

通过 igolubev 发布 Jan 3 2016, 11:26

Could you please help me with my bot, instance=11736722

I have prepared and imported an AIML-script. It works, but in several interaction the following error appears and my script starts working incorrect (I can attach my script if it's needed.) What can I try to do my script working well?

Thank you in advance!

 

2016-01-03 10:49:14.585 - FINE -- DatabaseNetwork(219):Saving

2016-01-03 10:49:14.616 - SEVERE -- Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.0.v20130919-377691b): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.BatchUpdateException: Batch entry 2 INSERT INTO VERTEX (ID, ACCESSCOUNT, ACCESSDATE, CREATIONDATE, DATATYPE, DATAVALUE, DIRTY, GROUPID, HASRESPONSE, NAME, PINNED, WORDCOUNT) VALUES (9044, 1, '2016-01-03 10:49:14.241000 -05:00:00', '2016-01-03 10:49:14.241000 -05:00:00', 'String', 'ОВА', '0', 0, '0', NULL, '0', 0) was aborted. Call getNextException to see the cause. Error Code: 0 Call: INSERT INTO VERTEX (ID, ACCESSCOUNT, ACCESSDATE, CREATIONDATE, DATATYPE, DATAVALUE, DIRTY, GROUPID, HASRESPONSE, NAME, PINNED, WORDCOUNT) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [9059, 1, 2016-01-03 10:49:14.585, 2016-01-03 10:49:14.585, null, null, false, 0, false, Верно ли написано 'чищеная морская рыба'?, false, 14]

Query: UpdateObjectQuery(<19 #instantiation a:1,c:0,p> [0] (1.0)-> <31 #word a:1,c:0,p>) javax.persistence.RollbackException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.0.v20130919-377691b): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.BatchUpdateException: Batch entry 2 INSERT INTO VERTEX (ID, ACCESSCOUNT, ACCESSDATE, CREATIONDATE, DATATYPE, DATAVALUE, DIRTY, GROUPID, HASRESPONSE, NAME, PINNED, WORDCOUNT) VALUES (9044, 1, '2016-01-03 10:49:14.241000 -05:00:00', '2016-01-03 10:49:14.241000 -05:00:00', 'String', 'ОВА', '0', 0, '0', NULL, '0', 0) was aborted. Call getNextException to see the cause. Error Code: 0 Call: INSERT INTO VERTEX (ID, ACCESSCOUNT, ACCESSDATE, CREATIONDATE, DATATYPE, DATAVALUE, DIRTY, GROUPID, HASRESPONSE, NAME, PINNED, WORDCOUNT) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [9059, 1, 2016-01-03 10:49:14.585, 2016-01-03 10:49:14.585, null, null, false, 0, false, Верно ли написано 'чищеная морская рыба'?, false, 14] Query: UpdateObjectQuery(<19 #instantiation a:1,c:0,p> [0] (1.0)-> <31 #word a:1,c:0,p>) at org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:159) at org.botlibre.knowledge.database.DatabaseNetwork.save(DatabaseNetwork.java:183) at org.botlibre.knowledge.database.DatabaseMemory.save(DatabaseMemory.java:189) at org.botlibre.thought.language.Language.think(Language.java:1083) at org.botlibre.thought.BasicMind.processConsciousThoughts(BasicMind.java:343) at org.botlibre.thought.BasicMind$1$1.run(BasicMind.java:270) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)


by admin posted Jan 3 2016, 16:18
The error seems to be a database concurrency issue. The bot's mind is a concurrent system, so sometimes a background task will conflict with a conscious task (chat message).

Background tasks include looking up words on Wiktionary, data on Freebase, processing Comprehension, and Twitter, Facebook, and Email processing. Normally concurrency errors are just trapped, and the transaction retried, so they normally do not cause an issue other than appearing in your log.

Did you bot stop working, or just have a single bad response, or did you just notice the error in the log?

Looking at your bot, you can turn off Wiktionary, as your bot is Russian, and the Wiktionary lookup is only for English right now, and Wiktionary is only useful for the Self Understanding script, which you are not using anyway.

Your AIML script seems very complex, you might consider using Self instead, as it is more programtic, so you can do things in a simpler fashion instead of having so many nested redirects.

I tested your bot, and could not recreate the issue. If you have a conversation sequence that recreates it, please post it, or email [email protected]

Thumbs up: 0, thumbs down: 0, stars: 0.0
Views: 1883, today: 0, week: 2, month: 8

by igolubev posted Jan 4 2016, 3:02

Thank you very much!

I've switched off "Wiktionary" (actually I've done it before - I think, this option is switching on automatically). Now I can't reproduce the error.

If it appears again, I'll try to prepare a test scenario with less copmlex logic.

(After this error, I think, some variables weren't saved - and the following bot's answers were incorrect because of missing right values of variables like "topic".)

Now AIML is easier for me, so I use it to proove some concepts via chatbots. Maybe later I'll use SELF too.


Thumbs up: 0, thumbs down: 0, stars: 0.0
Views: 2029, today: 1, week: 5, month: 9

by igolubev posted Jan 27 2016, 8:52

The problem is that after this error each question to my bot causes the same error.
You can try to say to my bot "hello" now.

If I delete all the knowledges and reload my scripts, it works agains.


Thumbs up: 0, thumbs down: 0, stars: 0.0
Views: 1857, today: 0, week: 1, month: 12

by admin posted Jan 27 2016, 9:41
I tested your bot, and "hello" responded with "hello" (from your * pattern).
I tried several other patterns from your script, and could not recreate any errors.

If you have a sequence of phrases that cause to error, please included them so I can recreate the issue.

If this error causes further chats to give the same error, my guess would be the bot's cache is some how corrupted. You can try clicking on the "Clear Cache" button from the Knowledge page to reset its cache.

Thumbs up: 0, thumbs down: 0, stars: 0.0
Views: 1947, today: 0, week: 1, month: 10

Id: 11940536
标签: aiml, exception
发布: Jan 3 2016, 11:26
答复: 4
的风景: 3737, 今天: 1, 周: 2, 一个月: 9
0 0 0.0/5