Comments (6)
Thanks for this detailed bug report.
Is there any chance you could upload your 1/10 size data set somewhere so I can try to reproduce the segfault?
On 27 Jun 2014, at 00:42, Niels Laukens [email protected] wrote:
I'm trying to use peregrine to analyze a fairly large file (~12 minutes of samples, 5.6GiB piksi format). Acquisition runs fine, but it segfaults systematically at 19% tracking (with or without re-using the acquisition data):
$ peregrine -a samples.piksi
2014-06-27 08:23:45,959 [INFO] root: Skipping acquisition, loading saved acquisition results.
2014-06-27 08:24:43,866 [INFO] peregrine.tracking: Tracking starting
2014-06-27 08:24:43,871 [DEBUG] peregrine.tracking: Tracking 5 channels, PRNs [15, 12, 17, 24, 18]
Tracking (CH: 1/5) 19% ETA: 0:03:00 |######### |
Segmentation fault
From the backtrace however, it seems like the problem is inside libswiftnav, that's why I report it here:#0 0x00007fae52fae893 in track_correlate (
, argc=4, argv=0x7fff277eaab8, init=, fini=, rtld_fini=, stack_end=0x7fff277eaaa8)
samples=0x7fac82990c28 ""...,
code=0xfabf20 ""..., init_code_phase=0x7fff277ea0b0, code_step=0.062499877161046859, init_carr_phase=0x7fff277ea0c0, carr_step=1.5700294860690449,
I_E=0x7fff277ea0d0, Q_E=0x7fff277ea0e0, I_P=I_P@entry=0x7fff277ea0f0, Q_P=Q_P@entry=0x7fff277ea100, I_L=I_L@entry=0x7fff277ea110, Q_L=Q_L@entry=0x7fff277ea130,
num_samples=num_samples@entry=0x7fff277ea0a0) at /usr/local/src/libswiftnav/src/correlate.c:57
#1 0x00007fae5297e81a in __pyx_pf_8swiftnav_9correlate_2track_correlate (__pyx_self=, __pyx_v_settings=0x7fae538668c0, __pyx_v_caCode=,
__pyx_v_remCarrPhase=, __pyx_v_carrFreq=, __pyx_v_remCodePhase=, __pyx_v_codeFreq=, __pyx_v_rawSignal=)
at swiftnav/correlate.c:2314
#2 __pyx_pw_8swiftnav_9correlate_3track_correlate (__pyx_self=, __pyx_args=, __pyx_kwds=) at swiftnav/correlate.c:2153
#3 0x000000000052c6d5 in PyEval_EvalFrameEx ()
#4 0x000000000055c594 in PyEval_EvalCodeEx ()
#5 0x000000000052ca8d in PyEval_EvalFrameEx ()
#6 0x000000000052cf32 in PyEval_EvalFrameEx ()
#7 0x000000000055c594 in PyEval_EvalCodeEx ()
#8 0x00000000005b7392 in PyEval_EvalCode ()
#9 0x0000000000469663 in ?? ()
#10 0x00000000004699e3 in PyRun_FileExFlags ()
#11 0x0000000000469f1c in PyRun_SimpleFileExFlags ()
#12 0x000000000046ab81 in Py_Main ()
#13 0x00007fae58dedec5 in __libc_start_main (main=0x46ac3f
at libc-start.c:287
#14 0x000000000057497e in _start ()
The problem does not seem to be correlated with the length of the file (I reduced the file to one tenth of its length, and peregrine still segfaults at 19%), so I'm guessing it segfaults when trying to track the second satellite.Some system information that may be relevant:
swift-nav/libswiftnav@47f3827
swift-nav/libswiftnav-python@8143b5c
swift-nav/peregrine@e67d0c4
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
libfftw3 3.3.3-7ubuntu3
Python 2.7.6
Ubuntu 14.04
x86_64 / amd64
—
Reply to this email directly or view it on GitHub.
from libswiftnav-legacy.
Is there any chance you could upload your 1/10 size data set somewhere so I can try to reproduce the segfault?
Yes. I've reduced it to around 1/20th size (still 300MB), and it still segfaults. I've uploaded it (temporarily) here:
ftp://user1_ro:[email protected]/user1/gps-sample.piksi
I do want to confess that the file is not an original capture. For storage reasons, I converted the original Piksi capture to 1-bit-format (since, from what I understood from the code, the MAX2769 is set to 1bit mode), and back to piksi format. Since acquisition runs fine, I don't think I missed something by doing so, but I wanted to provide you with all info.
from libswiftnav-legacy.
Hi Niels,
Sorry this took a while. I just pushed a patch to peregrine master (swift-nav/peregrine@12dfe7a7) that fixes the segfault. Just 4 characters missing :) Let me know if it works on your end.
Thanks,
Fergus
from libswiftnav-legacy.
Unfortunately, I still get a segfault, seemingly at the same place: at the end of tracking the first sat, or at the beginning of tracking the second; segfault in track_correlate()
in correlate.c:57
. (Using swift-nav/peregrine@87fc454)
from libswiftnav-legacy.
Minor update: I've updated to swift-nav/libswiftnav@621b680 and swift-nav/libswiftnav-python@6ff451b, but the problem persists.
from libswiftnav-legacy.
Ping?
from libswiftnav-legacy.
Related Issues (20)
- KF sat change documentation
- Amb test stat change documentation
- Sats management documentation
- Fixes to almanac.[ch]: entire GPS week number & gps_time structure
- issue with python install HOT 3
- Haskell libswiftnav bindings
- libswiftnav-python: benchmark python bindings
- libswiftnav-python: improve test coverage on the Python bindings
- libswiftnav-python: last mile coverage on the Python bindings
- libswiftnav-python: Improve documentation on frequently used functions (particularly argument types)
- libswiftnav-python: use explicit (instead of glob) imports
- Improvements needed to handling of GPS nav data HOT 1
- Tox not called during git commit hook
- Ideas on GPS week rollover HOT 1
- Possible errors in vector_distance() HOT 2
- Lack of calc_sat_state() return code checking causes errors HOT 10
- A bug in decode_ephemeris function HOT 1
- New release soon? HOT 1
- test
- Repo moved? HOT 2
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 libswiftnav-legacy.