Some operations cause the editor to freeze
Closed this issue · 10 comments
We (with @abishekjs) have conllueditor installed on a server and access it remotely. We observed that sometimes an action causes the editor to freeze and it has to be restarted on the server. The error seems to be connected to joining of tokens – at least the last occurrence was.
We have the following sentence:
# sent_id = indiccorp14 # text = സൗമ്യയുടെ മാതാപിതാക്കളായ കുഞ്ഞിക്കണ്ണൻ, കമല എന്നിവരും സൗമ്യയുടെ രണ്ടാമത്തെ മകൾ ഐശ്വര്യയും ദുരൂഹസാഹചര്യത്തിൽ മരിച്ചിരുന്നു. # translit = saumyayuṭe mātāpitākkaḷāya kuññikkaṇṇan̕, kamala ennivaruṁ saumyayuṭe raṇṭāmatte makaḷ̕ aiśvaryayuṁ durūhasāhacaryattil̕ mariccirunnu. # text_en = Soumya's parents Kunhikannan and Kamala and Soumya's second daughter Aishwarya died under mysterious circumstances. 1 സൗമ്യയുടെ സൗമ്യയുടെ PROPN _ Animacy=Anim|Case=Gen|Number=Sing 2 nmod:poss _ Translit=saumyayuṭe|LTranslit=saumyayuṭe 2 മാതാപിതാക്കളായ മാതാപിതാക്കളായ ADJ _ _ 3 amod _ Translit=mātāpitākkaḷāya|LTranslit=mātāpitākkaḷāya 3 കുഞ്ഞിക്കണ്ണൻ കുഞ്ഞിക്കണ്ണൻ PROPN _ Animacy=Anim|Case=Nom|Number=Sing 7 nsubj _ SpaceAfter=No|Translit=kuññikkaṇṇan̕|LTranslit=kuññikkaṇṇan̕ 4 , , PUNCT _ _ 5 punct _ Translit=,|LTranslit=, 5 കമല കമല PROPN _ Animacy=Anim|Case=Nom|Number=Sing 3 conj _ Translit=kamala|LTranslit=kamala 6-8 എന്നിവരും _ _ _ _ _ _ _ Translit=ennivaruṁ 6 എന്ന് എന്ന് SCONJ _ _ 3 mark _ Translit=ennivara|LTranslit=ennivara 7 ഇവർ ഇവർ PRON _ Case=Nom|Deixis=Prox|Number=Plural|Person=3|PronType=Prs 15 ccomp _ Translit=ennivara|LTranslit=ennivara 8 ഉം ഉം PART _ _ 6 cc _ Translit=uṁ|LTranslit=uṁ 9 സൗമ്യയുടെ സൗമ്യയുടെ PROPN _ Animacy=Anim|Case=Gen|Number=Sing 10 nmod:poss _ Translit=saumyayuṭe|LTranslit=saumyayuṭe 10 രണ്ടാമത്തെ രണ്ടാമത്തെ NUM _ NumForm=Word|NumType=Ord 11 nummod _ Translit=raṇṭāmatte|LTranslit=raṇṭāmatte 11 മകൾ മകൾ NOUN _ Animacy=Anim|Case=Nom|Number=Sing 12 nmod _ Translit=makaḷ̕|LTranslit=makaḷ̕ 12-13 ഐശ്വര്യയും _ _ _ _ _ _ _ Translit=aiśvaryayuṁ 12 ഐശ്വര്യ ഐശ്വര്യ PROPN _ Animacy=Anim|Case=Nom|Number=Sing 15 conj _ Translit=aiśvarya|LTranslit=aiśvarya 13 ഉം ഉം PART _ _ 12 cc _ Translit=uṁ|LTranslit=uṁ 14 ദുരൂഹസാഹചര്യത്തിൽ ദുരൂഹസാഹചര്യം NOUN _ Animacy=Inan|Case=Loc|Number=Sing 15 obl _ Translit=durūhasāhacaryattil̕|LTranslit=durūhasāhacaryaṁ 15 മരിച്ചിരുന്നു മരിക്കുക VERB _ Aspect=Imp|Mood=Ind|Polarity=Pos|Tense=Pres|VerbForm=Fin|Voice=Act 0 root _ SpaceAfter=No|Translit=mariccirunnu|LTranslit=maricciruka 16 . . PUNCT _ _ 15 punct _ SpacesAfter=\n|Translit=.|LTranslit=.
When trying to join two tokens, the editor said "token 11 constitutes a cycle" and froze. The tokens to be merged are 6 and 7, they are now split mistakenly. The log on the server (before I manually killed the editor process) contains this:
2022/12/10 14:33:15 POST EditHandler request from /10.10.24.254:63129 COMMAND [mod join 6] sid: 43 java.lang.NullPointerException at com.orange.labs.conllparser.ConllSentence.normalise(ConllSentence.java:399) at com.orange.labs.conllparser.ConllSentence.joinWords(ConllSentence.java:1435) at com.orange.labs.editor.ConlluEditor.process(ConlluEditor.java:1740) at com.orange.labs.httpserver.ServeurHTTP$EditHandler.handle(ServeurHTTP.java:239) at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82) at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:848) at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:817) at jdk.httpserver/sun.net.httpserver.ServerImpl$DefaultExecutor.execute(ServerImpl.java:201) at jdk.httpserver/sun.net.httpserver.ServerImpl$Dispatcher.handle(ServerImpl.java:560) at jdk.httpserver/sun.net.httpserver.ServerImpl$Dispatcher.run(ServerImpl.java:526) at java.base/java.lang.Thread.run(Thread.java:829) 2022/12/10 14:33:27 POST EditHandler request from /10.10.24.254:63129 COMMAND [mod join 6] sid: 43 2022/12/10 14:34:00 POST EditHandler request from /10.10.24.254:63129 COMMAND [mod delete 6] sid: 43 2022/12/10 14:34:12 POST EditHandler request from /10.10.24.254:63129 COMMAND [mod join 7] sid: 43
Thanks for signalling this. I can reproduce it.
Strangely if you reattach token 8 to a new head (7), joining 6 and 7 works without problem. You can use this as a workaround, I'll fix the error these days
Apparently an easy one. git pull
version 2.19.4 and run mvn install
. I'll update the docker image and the release bundle later ASAP.
git pull
version 2.19.4 and runmvn install
Thanks. I did it but it says that some tests failed, hence the build failed. I was not the one who performed the previous installation, so I do not know if they had to solve anything similar, or if this is specific to the new version.
[INFO] Running TestConlluComparator [ERROR] Tests run: 8, Failures: 6, Errors: 0, Skipped: 0, Time elapsed: 0.058 s <<< FAILURE! - in TestConlluComparator [ERROR] TestConlluComparator.test01OneGroupForm0 Time elapsed: 0.016 s <<< FAILURE! org.junit.ComparisonFailure: CoNLL-U comparison ref: file:/home/conlluadmin/conllueditor/target/test-classes/sim-form-0.txt res: testoutput/sim-form-0.txt expected:<...tences (Form) 0/4 0[,]0% > but was:<...tences (Form) 0/4 0[.]0% > at TestConlluComparator.test01OneGroupForm0(TestConlluComparator.java:98) [ERROR] TestConlluComparator.test01OneGroupForm1 Time elapsed: 0.01 s <<< FAILURE! org.junit.ComparisonFailure: CoNLL-U comparison ref: file:/home/conlluadmin/conllueditor/target/test-classes/sim-form-1.txt res: testoutput/sim-form-1.txt expected:<...tences (Form) 0/4 0[,]0% FORM 1 similar.co...> but was:<...tences (Form) 0/4 0[.]0% FORM 1 similar.co...> at TestConlluComparator.test01OneGroupForm1(TestConlluComparator.java:115) [ERROR] TestConlluComparator.test01OneGroupForm2 Time elapsed: 0.006 s <<< FAILURE! org.junit.ComparisonFailure: CoNLL-U comparison ref: file:/home/conlluadmin/conllueditor/target/test-classes/sim-form-2.txt res: testoutput/sim-form-2.txt expected:<...tences (Form) 0/4 0[,]0% FORM 1 similar.co...> but was:<...tences (Form) 0/4 0[.]0% FORM 1 similar.co...> at TestConlluComparator.test01OneGroupForm2(TestConlluComparator.java:132) [ERROR] TestConlluComparator.test01OneGroupFormUpos2 Time elapsed: 0.004 s <<< FAILURE! org.junit.ComparisonFailure: CoNLL-U comparison ref: file:/home/conlluadmin/conllueditor/target/test-classes/sim-form-0-upos-2.txt res: testoutput/sim-form-0-upos-2.txt expected:<...tences (Form) 0/4 0[,]0% FORM 1 similar.co...> but was:<...tences (Form) 0/4 0[.]0% FORM 1 similar.co...> at TestConlluComparator.test01OneGroupFormUpos2(TestConlluComparator.java:166) [ERROR] TestConlluComparator.test02TwoForm0 Time elapsed: 0.002 s <<< FAILURE! org.junit.ComparisonFailure: CoNLL-U comparison ref: file:/home/conlluadmin/conllueditor/target/test-classes/sim2-form-0.txt res: testoutput/sim2-form-0.txt expected:<...ences (Form) 2/4 50[,]0% FORM 0 Aviator, u...> but was:<...ences (Form) 2/4 50[.]0% FORM 0 Aviator, u...> at TestConlluComparator.test02TwoForm0(TestConlluComparator.java:183) [ERROR] TestConlluComparator.test02TwoForm2 Time elapsed: 0.007 s <<< FAILURE! org.junit.ComparisonFailure: CoNLL-U comparison ref: file:/home/conlluadmin/conllueditor/target/test-classes/sim2-form-2.txt res: testoutput/sim2-form-2.txt expected:<...ences (Form) 2/4 50[,]0% FORM 0 Aviator, u...> but was:<...ences (Form) 2/4 50[.]0% FORM 0 Aviator, u...> at TestConlluComparator.test02TwoForm2(TestConlluComparator.java:198) [INFO] Running TestConllFile [INFO] Tests run: 46, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.432 s - in TestConllFile [INFO] Running TestConllSentence [INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 s - in TestConllSentence [INFO] Running TestConlluPlus [INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.119 s - in TestConlluPlus [DEBUG] Closing the fork 1 after saying GoodBye. [INFO] [INFO] Results: [INFO] [ERROR] Failures: [ERROR] TestConlluComparator.test01OneGroupForm0:98 CoNLL-U comparison ref: file:/home/conlluadmin/conllueditor/target/test-classes/sim-form-0.txt res: testoutput/sim-form-0.txt expected:<...tences (Form) 0/4 0[,]0% > but was:<...tences (Form) 0/4 0[.]0% > [ERROR] TestConlluComparator.test01OneGroupForm1:115 CoNLL-U comparison ref: file:/home/conlluadmin/conllueditor/target/test-classes/sim-form-1.txt res: testoutput/sim-form-1.txt expected:<...tences (Form) 0/4 0[,]0% FORM 1 similar.co...> but was:<...tences (Form) 0/4 0[.]0% FORM 1 similar.co...> [ERROR] TestConlluComparator.test01OneGroupForm2:132 CoNLL-U comparison ref: file:/home/conlluadmin/conllueditor/target/test-classes/sim-form-2.txt res: testoutput/sim-form-2.txt expected:<...tences (Form) 0/4 0[,]0% FORM 1 similar.co...> but was:<...tences (Form) 0/4 0[.]0% FORM 1 similar.co...> [ERROR] TestConlluComparator.test01OneGroupFormUpos2:166 CoNLL-U comparison ref: file:/home/conlluadmin/conllueditor/target/test-classes/sim-form-0-upos-2.txt res: testoutput/sim-form-0-upos-2.txt expected:<...tences (Form) 0/4 0[,]0% FORM 1 similar.co...> but was:<...tences (Form) 0/4 0[.]0% FORM 1 similar.co...> [ERROR] TestConlluComparator.test02TwoForm0:183 CoNLL-U comparison ref: file:/home/conlluadmin/conllueditor/target/test-classes/sim2-form-0.txt res: testoutput/sim2-form-0.txt expected:<...ences (Form) 2/4 50[,]0% FORM 0 Aviator, u...> but was:<...ences (Form) 2/4 50[.]0% FORM 0 Aviator, u...> [ERROR] TestConlluComparator.test02TwoForm2:198 CoNLL-U comparison ref: file:/home/conlluadmin/conllueditor/target/test-classes/sim2-form-2.txt res: testoutput/sim2-form-2.txt expected:<...ences (Form) 2/4 50[,]0% FORM 0 Aviator, u...> but was:<...ences (Form) 2/4 50[.]0% FORM 0 Aviator, u...> [INFO] [ERROR] Tests run: 113, Failures: 6, Errors: 0, Skipped: 0 [INFO] [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 36.247 s [INFO] Finished at: 2022-12-12T20:55:28Z [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test (default-test) on project ConlluEditor: There are test failures.
I figured out that I can do mvn install -DskipTests
and it worked, the editor is running again. But perhaps the failing comparison test deserves to become another issue?
Strange, this is a localisation error (0.0
vs 0,0
) no idea why this occurs now, since the test has been there for ages. I'll try to find the cause
try 2.19.5 :-)
Thanks! We got futher :-) but not to the successful end, yet.
[ERROR] Failures: [ERROR] TestConllFile.test40conditionvalidation:574 validation incorrect ref: file:/home/conlluadmin/conllueditor/target/test-classes/validrules.result.txt res: testoutput/validrules.result.txt expected:<...ud-train-767 Om du k[?per en halv liter mj?lk f?r 0:78, en limpa f?r 2:57 och ett halvt kilo margarin f?r 2:87 g?r detta sammanlagt 6:22. Applying rule 5: Upos:NUM == Deprel:nummod ERROR 9 0:78 0:78 NUM RG|NOM Case=Nom|NumType=Card 3 obl 3:obl:f?r SpaceAfter=No ERROR 14 2:57 2:57 NUM RG|NOM Case=Nom|NumType=Card 12 orphan 10.1:obl:f?r Enhanced=obl ERROR 21 2:87 2:87 NUM RG|NOM Case=Nom|NumType=Card 19 orphan 15.1:obl:f?r Enhanced=obl Sentence gl_ctg-ud-dev.conllu 625 D?selle nova redacci?]n a o punto 2 App...> but was:<...ud-train-767 Om du k[?per en halv liter mj?lk f?r 0:78, en limpa f?r 2:57 och ett halvt kilo margarin f?r 2:87 g?r detta sammanlagt 6:22. Applying rule 5: Upos:NUM == Deprel:nummod ERROR 9 0:78 0:78 NUM RG|NOM Case=Nom|NumType=Card 3 obl 3:obl:f?r SpaceAfter=No ERROR 14 2:57 2:57 NUM RG|NOM Case=Nom|NumType=Card 12 orphan 10.1:obl:f?r Enhanced=obl ERROR 21 2:87 2:87 NUM RG|NOM Case=Nom|NumType=Card 19 orphan 15.1:obl:f?r Enhanced=obl Sentence gl_ctg-ud-dev.conllu 625 D?selle nova redacci?]n a o punto 2 App...> [INFO] [ERROR] Tests run: 113, Failures: 1, Errors: 0, Skipped: 0 [INFO] [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------
Looks again like a Locale error. Try to set export LC_ALL=C.UTF-8
. In fact the utf8 bit is the crucial thing. I do not yet understand why nobody saw this before
in fact there was a missing in this test, I fixed and pushed it. Should be OK for any LC_ALL/LANG value.