osqzss / gps-sdr-sim

Software-Defined GPS Signal Simulator
MIT License
2.75k stars 773 forks source link

Segmentation fault while generating the gpssim.bin file on a Raspberry Pi #311

Closed vxling closed 2 years ago

vxling commented 2 years ago
  1. get sigment fault use the command as below: pi@raspberrypi:~/Downloads/gps-sdr-sim-master $ ./gps-sdr-sim -e ../brdc0280.21n -l 34.20095250,108.83246034,100 -b 8 -d 120 Using static location mode. Segmentation fault pi@raspberrypi:~/Downloads/gps-sdr-sim-master $

  2. but it works with another command as below: pi@raspberrypi:~/Downloads/gps-sdr-sim-master $ ./gps-sdr-sim -e ../brdc3640.20n -l 34.20095250,108.83246034,100 -b 8 -d 120 Using static location mode. Start time = 2020/12/29,00:00:00 (2138:172800) Duration = 120.0 [sec] 02 143.2 0.8 25340281.0 8.2 05 82.9 23.3 23416347.2 3.0 10 285.3 7.4 25152422.5 4.3 13 42.9 41.0 21829859.0 2.2 15 7.1 77.4 19963264.6 1.5 18 312.8 60.4 20820703.5 1.7 20 303.0 34.8 22434290.4 2.4 23 299.9 33.5 22506384.2 2.5 24 156.7 37.5 21981606.8 2.3 29 216.3 27.3 22997150.2 2.8 Time into run = 1.9^C

  3. the only thing different is the brdc file, "brdc3640.20n" brdc3640.20n.gz is fine, but does not work with "brdc0280.21n", brdc0280.21n.gz why ?

  4. and i found the problem with the below code (i print some informatino on stdout)[brdc0470.21n.gz] : gmax.sec = 0; gmax.week = 0; tmax.sec = 0; tmax.mm = 0; tmax.hh = 0; tmax.d = 0; tmax.m = 0; tmax.y = 0; for (sv=0; sv<MAX_SAT; sv++) { if (sv % 10 == 0) fprintf(stdout, "INFO: Check Point 2, sv=%d.\n", sv); if (eph[neph-1][sv].vflg == 1) { gmax = eph[neph-1][sv].toc; tmax = eph[neph-1][sv].t; break; } }

    fprintf(stdout, "INFO: Check Point 3.\n");

    if (g0.week>=0) // Scenario start time has been set. {

  5. i also attached the brdc files "brdc3640.20n" brdc3640.20n.gz is fine, but does not work with "brdc0280.21n", brdc0280.21n.gz

  6. CPU info as below pi@raspberrypi:~/Downloads/gps-sdr-sim-master $ cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 3 (v7l) BogoMIPS : 108.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd08 CPU revision : 3

processor : 1 model name : ARMv7 Processor rev 3 (v7l) BogoMIPS : 108.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd08 CPU revision : 3

processor : 2 model name : ARMv7 Processor rev 3 (v7l) BogoMIPS : 108.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd08 CPU revision : 3

processor : 3 model name : ARMv7 Processor rev 3 (v7l) BogoMIPS : 108.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd08 CPU revision : 3

Hardware : BCM2835 Revision : a03111 Serial : 1000000032568ff0 Model : Raspberry Pi 4 Model B Rev 1.1 pi@raspberrypi:~/Downloads/gps-sdr-sim-master $

  1. memory info as below: pi@raspberrypi:~/Downloads/gps-sdr-sim-master $ free -m total used free shared buff/cache available Mem: 924 265 257 224 402 379 Swap: 99 86 13 pi@raspberrypi:~/Downloads/gps-sdr-sim-master $

  2. disk info: pi@raspberrypi:~/Downloads/gps-sdr-sim-master $ df -lh Filesystem Size Used Avail Use% Mounted on /dev/root 15G 9.8G 4.0G 72% / devtmpfs 334M 0 334M 0% /dev tmpfs 463M 3.9M 459M 1% /dev/shm tmpfs 463M 6.4M 456M 2% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 463M 0 463M 0% /sys/fs/cgroup /dev/mmcblk0p1 253M 52M 201M 21% /boot tmpfs 93M 12K 93M 1% /run/user/1000 pi@raspberrypi:~/Downloads/gps-sdr-sim-master $

vxling commented 2 years ago

i can't debug with a gdb, even i remove the -O3 option

vxling commented 2 years ago

fixed by upgrade to a 64bit os