I am new to OpenDNP3. I need to create a project using opendnp3 communication on Moxa UC-8162LX Linux computer. Linux version:
moxa@Moxa:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 7 (wheezy)"
My development machine is a Centos 6.6 (Final). I am using eclipse.
The cross-compile toolchain is arm-linux-gueabihf-4.7-20170415. This development machine with this toolchain is and was used for numerous successfull projects on this embedded computer (moxa),
so I am sure that the toolcahin works correctly.
After numerous attempts I successfully compiled Outstation example. Versions used for succesfull compile:
dnp3-2.0.1
asio 1-10-8
openssl-0.9.7k
When I compile the code without the cross compile toolchain, the executable runs OK on development Centos X86 computer.
But when I use the toolchain, the compile is also successfull, but I allways get a segmentation fault in the second thread, in the
file: epoll_reactor.hpp
code line: void set_ready_events(uint32_t events) {task_result = events;}
I use gdbserver debugger. The copied stack:
moxa_dnp3b Debug [C/C++ Remote Application]
gdbserver debugger (3/9/17 9:57 AM) (Suspended)
Thread [1] (Suspended)
3 <symbol is not available> 0x40037414
2 <symbol is not available> 0x4003302e
1 <symbol is not available> 0x4003302e
Thread [2] (Suspended: Signal 'SIGSEGV' received. Description: Segmentation fault.)
14 asio::detail::epoll_reactor::descriptor_state::set_ready_events() epoll_reactor.hpp:64 0x0006dab6
13 asio::detail::epoll_reactor::run() epoll_reactor.ipp:429 0x0006dc00
12 asio::detail::task_io_service::do_run_one() task_io_service.ipp:355 0x0006e2d4
11 asio::detail::task_io_service::run() task_io_service.ipp:148 0x0006e0be
10 asio::io_service::run() io_service.ipp:58 0x0006e4e2
9 asiopal::IOServiceThreadPool::Run() IOServiceThreadPool.cpp:99 0x0007bb90
8 std::_Mem_fn<void (asiopal::IOServiceThreadPool::*)()>::operator() functional:554 0x0007e692
7 std::_Bind<std::_Mem_fn<void (asiopal::IOServiceThreadPool::*)()> (asiopal::IOServiceThreadPool*)>::__call<void, , 0u>() functional:1156 0x0007e60c
6 std::_Bind<std::_Mem_fn<void (asiopal::IOServiceThreadPool::*)()> (asiopal::IOServiceThreadPool*)>::operator()<, void>() functional:1215 0x0007e592
5 std::_Bind_simple<std::_Bind<std::_Mem_fn<void (asiopal::IOServiceThreadPool::*)()> (asiopal::IOServiceThreadPool*)> ()>::_M_invoke<>() functional:1598 0x0007e52e
4 std::_Bind_simple<std::_Bind<std::_Mem_fn<void (asiopal::IOServiceThreadPool::*)()> (asiopal::IOServiceThreadPool*)> ()>::operator()() functional:1586 0x0007e48c
3 std::thread::_Impl<std::_Bind_simple<std::_Bind<std::_Mem_fn<void (asiopal::IOServiceThreadPool::*)()> (asiopal::IOServiceThreadPool*)> ()> >::_M_run() thread:115 0x0007e43a
2 <symbol is not available> 0x400c76d0
1 <symbol is not available> 0x400c76d0
I have tried other versions, version combinations of asio vs opendnp3, only this combination compiles successfully and runs OK on X86 architecture.
Is it possible that some other application running on Moxa is causing this? Can anybody help me with this problem?
Appreciate your help.
Endre
Endre
--
You received this message because you are subscribed to the Google Groups "open-dnp3" group.
To unsubscribe from this group and stop receiving emails from it, send an email to open-dnp3+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.