Closed bjascob closed 11 months ago
Hi, thanks, I'm always looking for such examples. The "philosophy" of Smatch++ is to treat all parser fairly and rescue as many triples as possible. However, the specific AMR that causes this problem seems really broken (see at "op2")
(o / offer-01
:ARG0 (c / country
:name (n / name
:op1 "France"))
:ARG1 (a / and
:op1 (a2 / aircraft-type
:name (n2 / name
:op1 "Mirage"
:op2 " ) :poss country_0 :ARG1-of ( upgrade-01 ) ) :op2 ( transfer-01 :ARG0 country_0 :ARG1 ( technology ) :ARG2 ( country_1 :name ( name_2 :op1 "))))
Still the script shouldn't crash. I suppose in these cases we could still rescue all triples up unto :op1 "Mirage", and issue a warning. What dou you think?
Update, it should be fixed with commit ff4e5d6
I.e., there won't be a runtime error anymore but a warning is issued that the graph is broken.
Closing this issue, thanks @bjascob for filing the issue and providing examples.
I tried this and it crashed on one dataset but worked on another. Here's the test set that crashed test-gold.txt and test-pred.txt.
With the traceback..
Looks like you've got an array indexing error.
I don't need this fixed, but since I spotted the issue I thought I'd pass it along.