hello,
I am playing with seastar tcp server. While I am reading data, my application throws a segmentation fault.
Then I checked via gdb:
(gdb) run
Starting program: /home/sothy/work/of1/a.out
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff2dff700 (LWP 19502)]
[New Thread 0x7ffff27ff700 (LWP 19503)]
[New Thread 0x7ffff21ff700 (LWP 19504)]
[New Thread 0x7ffff1bff700 (LWP 19505)]
[New Thread 0x7ffff15ff700 (LWP 19506)]
[New Thread 0x7ffff0fff700 (LWP 19507)]
[New Thread 0x7ffff09ff700 (LWP 19508)]
Hello world
Program received signal SIG34, Real-time event 34.
0x00007ffff44fe6b7 in __GI_epoll_pwait (epfd=3, events=0x7fffffffcea0, maxevents=128, timeout=-1, set=0x6000001da010)
at ../sysdeps/unix/sysv/linux/epoll_pwait.c:48
48 ../sysdeps/unix/sysv/linux/epoll_pwait.c: No such file or directory.
(gdb) where
#0 0x00007ffff44fe6b7 in __GI_epoll_pwait (epfd=3, events=0x7fffffffcea0, maxevents=128, timeout=-1, set=0x6000001da010)
at ../sysdeps/unix/sysv/linux/epoll_pwait.c:48
#1 0x000000000041f20b in reactor_backend_epoll::wait_and_process (this=this@entry=0x6000001da000, timeout=timeout@entry=-1,
active_sigmask=active_sigmask@entry=0x6000001da010) at core/reactor.cc:1790
#2 0x000000000041f381 in wait_and_process (active_sigmask=0x6000001da010, timeout=-1, this=0x6000001da000) at core/reactor.hh:840
#3 reactor::sleep (this=0x6000001da000) at core/reactor.cc:1672
#4 0x0000000000442343 in reactor::run (this=0x6000001da000) at core/reactor.cc:1646
#5 0x00000000004b40c6 in app_template::run_deprecated(int, char**, std::function<void ()>&&) (this=this@entry=0x7fffffffdd90, ac=ac@entry=1,
av=av@entry=0x7fffffffdfc8, func=func@entry=<unknown type in /home/sothy/work/of1/a.out, CU 0x5f908d, DIE 0x69e6bd>)
at core/app-template.cc:123
#6 0x00000000004b4afb in app_template::run(int, char**, std::function<future<int> ()>&&) (this=this@entry=0x7fffffffdd90, ac=ac@entry=1,
av=av@entry=0x7fffffffdfc8, func=func@entry=<unknown type in /home/sothy/work/of1/a.out, CU 0x5f908d, DIE 0x69ee61>)
at core/app-template.cc:68
#7 0x00000000004b4c9b in app_template::run(int, char**, std::function<future<> ()>&&) (this=this@entry=0x7fffffffdd90, ac=ac@entry=1,
av=av@entry=0x7fffffffdfc8, func=func@entry=<unknown type in /home/sothy/work/of1/a.out, CU 0x5f908d, DIE 0x69f5f5>)
at core/app-template.cc:77
#8 0x0000000000411f96 in main (argc=1, argv=0x7fffffffdfc8) at testn4.cc:299
+++++++++++++++++++++++++++
It seems my machine (Ubuntu 14.04, ldd --version
ldd (Ubuntu EGLIBC 2.19-0ubuntu6) 2.19 ) does not have epoll_pwait.c;
The corresponding work rely on seastar normal tcp stack not based DPDK backend.
My question which version glibc seastar supports?
If I am wrong somewhere else, please let me where
Best regards
Sothy