Comments (4)
So the server shouldnt die when the client is killed, however, some driver implementation find a way to segfault anyway. So in this case, it could be a bug in soapyplutosdr
For example, rtl-sdr was crashing the server when the client was killed because the server was trying to clean up the stream. But the closeStream call segfaulted if it didnt first stop the streaming threads in deactivateStream: this commit: pothosware/SoapyRTLSDR@b77a9fc
So it could be something similar, the server only tries to close the stream, which should be safe. So closeStream in pluto should be nicely closing anything down that needs to close. Just a hint, but if not, see if you can run the server in gdb and see which call is crashing it.
from soapyremote.
Running through GDB would help indeed, I will try this and post the results.
from soapyremote.
Here is the first backtrace
Thread 0xb61ff050 (LWP 1670) exited]
Thread 0xb3bfe050 (LWP 1674) exited]
Thread 0xb43fe050 (LWP 1673) exited]
erminate called without an active exception
hread 5 "SoapySDRServer" received signal SIGABRT, Aborted.
Switching to Thread 0xb4ef0050 (LWP 1669)]
xb6c36794 in raise () from /lib/libc.so.6
gdb) bt
0 0xb6c36794 in raise () from /lib/libc.so.6
1 0xb6c37b38 in abort () from /lib/libc.so.6
2 0xb6e4b944 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
3 0xb6e49770 in ?? () from /usr/lib/libstdc++.so.6
4 0xb6e497e4 in std::terminate() () from /usr/lib/libstdc++.so.6
5 0xb63a2e40 in ~thread () at /opt/Xilinx/SDK/2016.4/gnu/arm/lin/arm-xilinx-linux-gnueabi/include/ ++/4.9.2/thread:143
6 ~rx_streamer () at /home/steve/Desktop/SDR/Pluto/SoapyPlutoSDR/PlutoSDR_Streaming.cpp:227
7 0xb63a6224 in _M_dispose () at /opt/Xilinx/SDK/2016.4/gnu/arm/lin/arm-xilinx-linux-gnueabi/include/ ++/4.9.2/bits/shared_ptr_base.h:373
8 0xb63a2c7c in _M_release () at /opt/Xilinx/SDK/2016.4/gnu/arm/lin/arm-xilinx-linux-gnueabi/include/ ++/4.9.2/bits/shared_ptr_base.h:149
9 ~__shared_count () at /opt/Xilinx/SDK/2016.4/gnu/arm/lin/arm-xilinx-linux-gnueabi/include/ ++/4.9.2/bits/shared_ptr_base.h:666
10 ~__shared_ptr () at /opt/Xilinx/SDK/2016.4/gnu/arm/lin/arm-xilinx-linux-gnueabi/include/ ++/4.9.2/bits/shared_ptr_base.h:914
11 ~shared_ptr () at /opt/Xilinx/SDK/2016.4/gnu/arm/lin/arm-xilinx-linux-gnueabi/include/c++/4.9.2/bits/ hared_ptr.h:93
12 ~PlutoSDRStream () at /home/steve/Desktop/SDR/Pluto/SoapyPlutoSDR/PlutoSDR_Streaming.cpp:9
13 closeStream () at /home/steve/Desktop/SDR/Pluto/SoapyPlutoSDR/PlutoSDR_Streaming.cpp:72
14 0x00016940 in ~SoapyClientHandler () at /home/steve/Desktop/SDR/Pluto/SoapyRemote/server/ lientHandler.cpp:44
15 0x00015844 in handlerLoop () at /home/steve/Desktop/SDR/Pluto/SoapyRemote/server/ erverListener.cpp:53
16 0xb6ea40a8 in ?? () from /usr/lib/libstdc++.so.6
17 0xb6d48da4 in start_thread () from /lib/libpthread.so.0
18 0xb6cda5b0 in ?? () from /lib/libc.so.6
you were right, it looks like a crash in one instance destructor of SoapyPlutoSDR's plugin.
I'll open a ticket there, and I guess close this one if you're ok with this?
from soapyremote.
Closing the issue since I want the driver to be able to cleanup the stream nicely regardless of activate/deactivate stream so its easy for dumb applications to cleanup.
Im not sure if @jocover (?) is still maintaining SoapyPlutoSDR, theres other issues that have come up with the discovery and timeouts too. I'm considering maintaining a fork here if various fixes if it comes down to it. Let me know if you are interested in helping to make and or test fixes, since I have no way to test them myself.
from soapyremote.
Related Issues (20)
- SSDP: periodic message handling broken HOT 3
- Installation docs reference old package name HOT 1
- abort using with cubic sdr
- `SoapySDRUtil --find="remote=a.b.c.d"` instantly throws `No devices found! ` without trying to send a packet. HOT 2
- Use of SoapySDR Converter subsystem
- Crash on failure to create avahi client or poller HOT 3
- Crash after connect HOT 6
- Tips for wifi ? HOT 2
- Crash with more than 31 network interfaces HOT 2
- apt-get Errors were encountered while processing: soapysdr-server HOT 1
- REQ: SoapySDRServer for Android.
- CubicSDR can connect but cannot listen. HOT 4
- Timeout on OpenWebRX HOT 2
- Transmission timeouts
- Can't connect to SoapyRemote
- setupStream() arguments HOT 1
- Use of remote:prot=tcp on resource constrained devices HOT 4
- SoapyRPCUnpacker::recv(header) FAIL on Raspberry PI OS 64bit
- FR: Option to disable mDNS HOT 2
- Match SoapySDR platform support
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from soapyremote.