Closed yuki617 closed 4 years ago
I'm having trouble understanding why this can cause a segmentation fault. What's the architecture, compiler, OS? Is the script something you can share or cut out something to reproduce?
Good afternoon Ian, I was using Ubuntu for OS, gnu-gcc for compiler and x86_64-linux for architecture. The script I used is ''trec_eval -m rbp.p=0.5 qrels_file run_file". But even if I used "trec_eval -h qrels_file run_file", it still gave me segmentation fault error. I found the problem might be those global variables like te_num_trec_measures are defined in measure.c as an int, if we used data type long to declare them in trec_eval.c, they cannot be recognized anymore because of the type change. Therefore, it caused segmentation fault(core dumped). I also checked the trec_eval.c file in other released versions of trec_eval, they are declared as int, so I felt that might be the case. Does this make sense? PLease correct me if you think there's another reason for the segmentation fault. Thanks a lot for your patience and time. Best Regards, Yuqi Liu
Could you please attach the run and qrels file?
Sorry for the late reply. Here are the qrels and run files. The run file is not a txt format, but git only allows me to upload txt files. Please remove the .txt in the run file name. active_learning.txt qrels.covid-round3.txt Thank you!
I tried
"trec_eval -m rbp.p=0.5 qrels_file run_file"
But got
trec_eval: illegal measure 'rbp'
Changed the data type of extern variables like te_num_trec_measures, te_num_trec_measure_nicknames, te_num_rel_info_format, te_num_results_format, te_num_form_inter_procs from long to int to avoid segmentation fault error when running script.