OpenNMT / CTranslate

Lightweight C++ translator for OpenNMT Torch models (deprecated)
https://opennmt.net/
MIT License
79 stars 50 forks source link

Predict error in some specific sentence #13

Closed wsnooker closed 7 years ago

wsnooker commented 7 years ago

An error occurred when input some specific senctence.

terminate called after throwing an instance of 'std::length_error' what(): vector::_M_default_append Aborted (core dumped)

Print gdb info :

[New LWP 5116] [New LWP 5301] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `./cli/translate --model ../../ww110750_model/diffBig-21m_epoch3_5.40_release.t7'. Program terminated with signal SIGABRT, Aborted.

0 0x00007f684bd46c37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56

56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt

0 0x00007f684bd46c37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56

1 0x00007f684bd4a028 in __GI_abort () at abort.c:89

2 0x00007f684c34b535 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6

3 0x00007f684c3496d6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6

4 0x00007f684c349703 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6

5 0x00007f684c349922 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6

6 0x00007f684c39b3a7 in std::__throw_length_error(char const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6

7 0x00007f684c8a2ba5 in std::vector<unsigned long, std::allocator >::_M_default_append(unsigned long) ()

from /home/ww110750/CTranslate/build/libonmt.so

8 0x00007f684c8acc17 in onmt::Translator<onmt::Eigen::MatrixBatch, Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1> const, 0, Eigen::Stride<0, 0> >, Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1> const, 0, Eigen::Stride<0, 0> >, float>::decode(std::vector<std::vector<std::string, std::allocator >, std::allocator<std::vector<std::string, std::allocator > > > const&, unsigned long, std::vector<onmt::Eigen::MatrixBatch, std::allocator<onmt::Eigen::MatrixBatch > >&, onmt::Eigen::MatrixBatch&) ()

from /home/ww110750/CTranslate/build/libonmt.so

9 0x00007f684c8ad32e in onmt::Translator<onmt::Eigen::MatrixBatch, Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1> const, 0, Eigen::Stride<0, 0> >, Eigen::Map<Eigen::Matrix<float, -1, -1, 1, -1, -1> const, 0, Eigen::Stride<0, 0> >, float>::translate_batch(std::vector<std::vector<std::string, std::allocator >, std::allocator<std::vector<std::string, std::allocator > > > const&, std::vector<std::vector<std::vector<std::string, std::allocator >, std::allocator<std::vector<std::string, std::allocator > > >, std::allocator<std::vector<std::vector<std::string, std::allocator >, std::allocator<std::vector<std::string, std::allocator > > > > > const&) () from /home/ww110750/CTranslate/build/libonmt.so

10 0x000000000040c972 in main ()

guillaumekln commented 7 years ago

What version are you running?

I fixed a similar issue in 96b89c09.

wsnooker commented 7 years ago

Yes, it is the same issue in 96b89c0.

I checkout new version v0.3.2 and works fine.