Hi,

A bug appeared in mosesserver that used not to be there in an older version.
I'm running the latest git version. I get a segmentation fault which appears
underministically (underlying memory issue perhaps?). The bug only appears with
the server and not with the normal moses.

I start Mosesserver as follows:

    mosesserver --server-port 8080 -xml-input inclusive -f 
ep7os12-mosesbaseline/fallback.moses.ini -n-best-list 
ep7os12-mosesbaseline/nbest.txt 25

Then I provide Moses input with XML markup, only one small L1 fragment in L2 
context
is to be translated. Moses is trained to translate English to German:

    <w translation="Oft">Oft</w><wall/><w translation="gibt">gibt</w><wall/><w 
translation="es">es</w><wall/>various<wall/>reasons<wall/><w 
translation="für">für</w><wall/><w translation="das">das</w><wall/><w 
translation="Dilemma">Dilemma</w><wall/><w translation=".">.</w><wall/>

This often goes well for a few sentences but then breaks. Here's a gdb trace of
when it fails:


[contrib/server/mosesserver.cpp:708] Listening on port 8080
[contrib/server/mosesserver.cpp:234] Input: <w 
translation="Oft">Oft</w><wall/><w translation="gibt">gibt</w><wall/><w 
translation="es">es</w><wall/>various<wall/>reasons<wall/><w 
translation="für">für</w><wall/><w translation="das">das</w><wall/><w 
translation="Dilemma">Dilemma</w><wall/><w translation=".">.</w><wall/>
Translating: Oft gibt es various reasons für das Dilemma . 
Line 0: Collecting options took 0.000134339 seconds at moses/Manager.cpp:110
Line 0: Search took 0.00144825 seconds
[contrib/server/mosesserver.cpp:340] Output: Oft  gibt  es  verschiedene Gründe 
 für  das  Dilemma  .  
[Thread 0x7ffff7ff1300 (LWP 29516) exited]
[New Thread 0x7ffff7ff1300 (LWP 29559)]
[contrib/server/mosesserver.cpp:234] Input: <w 
translation="Oft">Oft</w><wall/><w translation="gibt">gibt</w><wall/><w 
translation="es">es</w><wall/>various<wall/>reasons<wall/><w 
translation="für">für</w><wall/><w translation="das">das</w><wall/><w 
translation="Dilemma">Dilemma</w><wall/><w translation=".">.</w><wall/>
Translating: Oft gibt es various reasons für das Dilemma . 
Line 0: Collecting options took 0.000134644 seconds at moses/Manager.cpp:110
Line 0: Search took 0.00143984 seconds
[contrib/server/mosesserver.cpp:340] Output: Oft  gibt  es  verschiedene Gründe 
 für  das  Dilemma  .  

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe97ec700 (LWP 27461)]
0x000000000055f9c7 in Moses::ThreadPool::Execute (this=0x22fc5f28) at 
moses/ThreadPool.cpp:59
59            if (task->DeleteAfterExecution()) {
(gdb) bt
#0  0x000000000055f9c7 in Moses::ThreadPool::Execute (this=0x22fc5f28) at 
moses/ThreadPool.cpp:59
#1  0x00000000006aa964 in thread_proxy ()
#2  0x00007ffff73a7e9a in start_thread (arg=0x7fffe97ec700) at 
pthread_create.c:308
#3  0x00007ffff648e31d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()


You see in this example I passed the same input twice, the first time it went 
fine, and the second time it segfaulted. In a prior version all was fine.

I'm hoping somebody more familiar with the Moses codebase has an idea what 
might be wrong? 

Thanks in advance,

(PS: I cross-posted this on github-issues: 
https://github.com/moses-smt/mosesdecoder/issues/76)

--

Maarten van Gompel
 Centre for Language Studies
 Radboud Universiteit Nijmegen

[email protected]
http://proycon.anaproy.nl
http://github.com/proycon

GnuPG key:  0x1A31555C  XMPP: [email protected]
Bitcoin:    1BRptZsKQtqRGSZ5qKbX2azbfiygHxJPsd 

_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support

Reply via email to