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