A 2016-10-04 16:32, Francis Tyers escrigué: > A 2016-10-04 16:27, Tino Didriksen escrigué: >> In r73762 and r73763, I've partially worked around a segfault in >> apertium-transfer: >> >> https://apertium.projectjj.com/trac/changeset/73762 [1] , >> https://apertium.projectjj.com/trac/changeset/73763 [2] >> >> E.g., at times, the word[ti.getPos()]->target() call in case >> ti_clip_tl at >> https://apertium.projectjj.com/trac/browser/trunk/apertium/apertium/transfer.cc?rev=73762#L301 >> [3] would try to use an offset where there is no word. The array is >> big enough, but it's null at that spot. >> >> Observed segfault on OS X with pair sme-fin. It didn't segfault on >> Linux, but now it at least reports many of the errors, so the problem >> is not OS X specific. Debuggers are reporting use-after-free errors >> and other fun things. >> >> I don't know the code or transfer format well enough further figure >> out if there is an underlying problem or it really is down to >> malformed XML, so I'm leaving it for others to work on. >> >> Linux log: http://codepad.org/vPl3cjqn [4] >> OS X log: http://codepad.org/frgruttt [5] , >> http://codepad.org/p4qY5Klk [6] >> > > Thanks Tino! Does this mean that Apertium on Trond's machine won't > segfault now ? If so, what should the behaviour be ?
Ok, I found the bug in the XML. I was calling a two-parameter macro with only one parameter: - <call-macro n="handle-nominal-derivation1"><with-param pos="1"/></call-macro> - <call-macro n="handle-nominal-derivation2"><with-param pos="2"/></call-macro> + <call-macro n="handle-nominal-derivation2"><with-param pos="2"/><with-param pos="1"/></call-macro> The new debug/warning output is great, thanks. F. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Apertium-stuff mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/apertium-stuff
