Hi,
Let me add some more information to this: when running Moses in gdb, I get the 
following backtrace:
#0  0x00000000006e3ba4 in 
Moses::PhraseDecoder::CreateTargetPhraseCollection(Moses::Phrase const&, bool, 
bool) ()
#1  0x00000000005cd2a7 in 
Moses::PhraseDictionaryCompact::GetTargetPhraseCollectionNonCacheLEGACY(Moses::Phrase
 const&) const ()
#2  0x000000000048efe4 in 
Moses::PhraseDictionary::GetTargetPhraseCollectionLEGACY(Moses::Phrase const&) 
const ()
#3  0x000000000048e6a0 in 
Moses::PhraseDictionary::GetTargetPhraseCollectionBatch(std::vector<Moses::InputPath*,
 std::allocator<Moses::InputPath*> > const&) const ()
#4  0x0000000000560948 in 
Moses::TranslationOptionCollection::GetTargetPhraseCollectionBatch() ()
#5  0x0000000000551a39 in 
Moses::TranslationOptionCollectionText::CreateTranslationOptions() ()
#6  0x00000000004bddfc in Moses::Manager::Decode() ()
#7  0x0000000000433bd4 in Moses::TranslationTask::Run() ()
#8  0x0000000000496088 in Moses::ThreadPool::Execute() ()
#9  0x00000000007cbdba in thread_proxy ()
#10 0x00007fffc210c182 in start_thread (arg=0x7ffc23a5d700) at 
pthread_create.c:312
#11 0x00007fffc1e3947d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111
This suggests the problem is somewhere in loading phrase translations from the 
compact phrase table.
I’m not sure why the LEGACY functions are called but I’m assuming that these 
are “future” legacy methods and that they are in fact still used by phrase 
dictionary implementations (?).
Best,
Ales
From: Ondrej Bojar
Sent: středa 13. dubna 2016 12:19
To: [email protected]
Cc: Roman Sudarikov; Ales Tamchyna
Subject: Random segfaults with alternative decoding paths


Hi,

we're experiencing random segfaults when we use two phrase tables in 
alternative decoding paths. The exact commit of moses we use is 
6a06e7776a58b09e4ed5b1cf11eb64fbdd6b02a2, from April 1.

We do have test runs on the exact same 200 input sentences, exact same 
moses.ini, on the very same machine, where one of the runs succeeds and the 
other dies after 45 sentences.


Would anyone have any idea what should we be chasing?

- it doesn't seem to be thread-related (segfault experienced with -threads 1 as 
well as -threads 8)
- not related to nbest-list construction (we first had this problem in mert 
tuning so we isolated this)
- not related to more LMs (we first had several LMs in the setup, we get the 
crash with just one as well)
- not related to -search, the bug is there with -search set to 0, 1 or 4
- seems related to data or data size: when we trained the first ttable on just 
a very small corpus, we did not get the segfault (yet)
- not related to translation options caching, the bug is there even with 
-no-cache
- not related to the specification of output-factors; left unspecified or set 
to 0<CR>1, the bug is there


Here is the moses.ini:

[input-factors]
0

[mapping]
0 T 0
1 T 1

[distortion-limit]
6

[feature]
Distortion
KENLM lazyken=0 name=LM0 factor=0 path=lm.1.trie.lm order=4
PhraseDictionaryCompact name=TranslationModel0 num-features=4 
path=phrase-table.0-0,1.1.1 input-factor=0 output-factor=0,1 table-limit=100
PhraseDictionaryCompact name=TranslationModel1 num-features=4 
path=phrase-table.0-0,1.2.1 input-factor=0 output-factor=0,1 table-limit=100
PhrasePenalty
UnknownWordPenalty
WordPenalty

[weight]
Distortion0= 0.3
LM0= 0.5
PhrasePenalty0= 0.2
TranslationModel0= 0.2 0.2 0.2 0.2
TranslationModel1= 0.2 0.2 0.2 0.2
UnknownWordPenalty0= 1
WordPenalty0= -1


The large setup that shows these crashes uses this big files:

-rw-r--r-- 1 bojar ufal 584M Apr 13 09:19 lm.1.trie.lm
-rw-r--r-- 1 bojar ufal 1.1G Apr 13 09:24 phrase-table.0-0,1.1.1.minphr
-rw-r--r-- 1 bojar ufal 5.7M Apr 13 09:24 phrase-table.0-0,1.2.1.minphr


Thanks,
  Ondrej.


-- 
Ondrej Bojar (mailto:[email protected] / [email protected])
http://www.cuni.cz/~obo
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support

Reply via email to