OpenDNP3 epoll_reactor.hpp Segmentation fault on moxa UC-8162LX

22 views
Skip to first unread message

Siflis Endre

unread,
Mar 13, 2017, 10:36:36 AM3/13/17
to open-dnp3
Hi everyone!

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


Daniel Evans

unread,
Mar 13, 2017, 12:48:11 PM3/13/17
to open...@googlegroups.com
Hi, you're running the automatak DNP3 stack, that mailing list is here:




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.

Siflis Endre

unread,
Mar 14, 2017, 3:02:07 AM3/14/17
to open-dnp3
OK, thank you.
Reply all
Reply to author
Forward
0 new messages