GrammarSoft / cg3

Tools for the 3rd edition of the Constraint Grammar formalism.
https://visl.sdu.dk/cg3.html
GNU General Public License v3.0
21 stars 7 forks source link

long SETVAR's lead to malloc failure on mac? #140

Open unhammer opened 9 months ago

unhammer commented 9 months ago
$ echo "dette er en test" | AP_SETVAR="" apertium -f none -d. nob-nno
dette er ein test

$ echo "dette er en test" | AP_SETVAR="ansikt_andlet.syn,enkelt_einskild.syn,bli_verte.vb-bli2verte,eigentleg_eigenleg.stav,barna_borna.vok-o2a,trost_trast.vok-o2a,alter_altar.vok-a2e,jern_jarn.vok-a2e,kvalp_kvelp.vok-a2e,spenn_span.vok-a2e,drikk_drykk.vok-i2y,segle_sigle.vok-e2i,lys_ljos.vok-y2jo,allmenn_ålmenn.vok-a2å,mogleg_mogeleg.vok-2e,sommar_sumar.vok-o2u,jul_jol.vok-u2o,høvding_hovding.vok-ø2o,så_so.vok-o2å,først_fyrst.vok-ø2y,søndag_sundag.vok-ø2u,lykke_lukke.vok-y2u" apertium -f none -d. nob-nno
cg-proc(43893,0x1dbe4d000) malloc: Corruption of free object 0x14df725c0: msizes 48/0 disagree
cg-proc(43893,0x1dbe4d000) malloc: *** set a breakpoint in malloc_error_break to debug
Error: Input is null - nothing to parse!
unhammer commented 9 months ago

Seems to happen at the nob-nno-biprefs step, but not the preceding nob-nno-biltrans step, but we haven't been able to find the exact input to cg-proc that reproduces it yet, strangely this works fine:


echo '[<STREAMCMD:SETVAR:ansikt_andlet.syn,enkelt_einskild.syn,bli_verte.vb-bli2verte,eigentleg_eigenleg.stav,barna_borna.vok-o2a,trost_trast.vok-o2a,alter_altar.vok-a2e,jern_jarn.vok-a2e,kvalp_kvelp.vok-a2e,spenn_span.vok-a2e,drikk_drykk.vok-i2y,segle_sigle.vok-e2i,lys_ljos.vok-y2jo,allmenn_ålmenn.vok-a2å,mogleg_mogeleg.vok-2e,sommar_sumar.vok-o2u,jul_jol.vok-u2o,høvding_hovding.vok-ø2o,så_so.vok-o2å,først_fyrst.vok-ø2y,søndag_sundag.vok-ø2u,lykke_lukke.vok-y2u>]^denne<det><dem><nt><sg><aa><@subj>/denne<det><dem><nt><sg><aa><@subj>$ ^være<vblex><pres><aa><@fv>/vere<vblex><pres><aa><@fv>/ha<vblex><pres><aa><@fv>$ ^en<det><qnt><m><sg><aa><@det→>/ein<det><qnt><GD><sg><aa><@det→>$ ^test<n><m><sg><ind><aa><@subj>/test<n><m><sg><ind><aa><@subj>$' | cg-proc nob-nno.biprefs.rlx.bin
[<STREAMCMD:SETVAR:ansikt_andlet.syn,enkelt_einskild.syn,bli_verte.vb-bli2verte,eigentleg_eigenleg.stav,barna_borna.vok-o2a,trost_trast.vok-o2a,alter_altar.vok-a2e,jern_jarn.vok-a2e,kvalp_kvelp.vok-a2e,spenn_span.vok-a2e,drikk_drykk.vok-i2y,segle_sigle.vok-e2i,lys_ljos.vok-y2jo,allmenn_ålmenn.vok-a2å,mogleg_mogeleg.vok-2e,sommar_sumar.vok-o2u,jul_jol.vok-u2o,høvding_hovding.vok-ø2o,så_so.vok-o2å,først_fyrst.vok-ø2y,søndag_sundag.vok-ø2u,lykke_lukke.vok-y2u>]^denne<det><dem><nt><sg><aa><@subj>/denne<det><dem><nt><sg><aa><@subj>$ ^være<vblex><pres><aa><@fv>/vere<vblex><pres><aa><@fv>/ha<vblex><pres><aa><@fv>$ ^en<det><qnt><m><sg><aa><@det→>/ein<det><qnt><GD><sg><aa><@det→>$ ^test<n><m><sg><ind><aa><@subj>/test<n><m><sg><ind><aa><@subj>$