i think the main problem is in Vocab, which accesses the m_vocab map in 
multiple threads. It's exactly the same situation as FactorCollection.

marcin - can you git pull and try again. I've tried to make it 
thread-safe but the problem doesn't occur with me so i can't test it
    
https://github.com/moses-smt/mosesdecoder/commit/153e80053c4319501323bc15ea66bb668f1ef542

On 26/06/2012 03:58, Barry Haddow wrote:
> Hi
>
> The problem is caused by the use of the Singleton class - which is marked as
> thread-unsafe in the header.
>
> In MergeScorer, a local instance of BleuScorer is created and then destroyed.
> BleuScorer descends from Scorer, which has a handle to the thread-unsafe
> "singleton" Vocabulary.
>
> There's been a lot of code changes since I last looked at this, but I would
> question whether MergeScorer needs to create and destroy a BleuScorer every
> time it does the scoring. Can't it just re-use the same instance? I also
> wonder why code known to be thread-unsafe is in a multi-threaded application,
>
> cheers - Barry
>
> On Tuesday 26 June 2012 08:50:59 Marcin Junczys-Dowmunt wrote:
>> Hi Tom,
>> Yes, checked a few minutes ago with the latest changes. Error still
>> occurring. I have prepared a tarball with the necessary files (*.dat
>> *.opt merge.init) and put it here:
>>
>> http://junczys.ayz.pl/mertsegfault.tgz
>>
>> The error occurs with the following command:
>>
>> mert -d 14 --scconfig case:true --sctype MERGE --ffile run1.features.dat
>> --scfile run1.scores.dat --ifile run1.init.opt -n 20 --threads 8
>>
>> Or any other number of threads above 1, works with 1 thread, though.
>>
>> 26/6/2012, "Tom Hoar"<[email protected]>  napisaƂ/a:
>>> Marcin,
>>>
>>> There have been some very recent changes to mert. Are you using an
>>> update after the changes below?
>>>
>>> Tom
>>>
>>>
>>> -------- Original Message --------
>>> Subject:    Re: [Moses-support] mert failure
>>> Date:       Mon, 25 Jun 2012 09:52:12 -0400
>>> From:       Hieu Hoang<[email protected]>
>>> To:         [email protected]
>>>
>>>
>>> thanks. gcc version-specific error. Fixed
>>>
>>> https://github.com/moses-smt/mosesdecoder/commit/8498b17a41e403020897b491
>>> fa63a2c2845ab088
>>>
>>>
>>> On Mon, 25 Jun 2012 20:25:25 +0200, Marcin Junczys-Dowmunt
>>>
>>> <[email protected]>  wrote:
>>>> Yes, I do.
>>>>
>>>> W dniu 25.06.2012 20:11, Christophe Servan pisze:
>>>>> Hi Marcin,
>>>>> Do you use the script mert-moses-multi.pl when you use the option
>>>>> "-sctype MERGE" ?
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Christophe
>>>> _______________________________________________
>>>> Moses-support mailing list
>>>> [email protected]
>>>> http://mailman.mit.edu/mailman/listinfo/moses-support
>> _______________________________________________
>> Moses-support mailing list
>> [email protected]
>> http://mailman.mit.edu/mailman/listinfo/moses-support
>>
>
> --
> Barry Haddow
> University of Edinburgh
> +44 (0) 131 651 3173
>
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support

Reply via email to