Question
Hi,
I'm running GPSTk 1.3 DDBase to determine carrier phase L1 double difference residuals.
I have had success running DDBase with the following command line arguments on my Desktop PC:
--DT 1.00
--Freq L1
--RDDFileOut day1_RDD.txt
--DDDFileOut day1_DDD.txt
--DDRFileOut day1_DDR.txt
--ObsFile Mobs179L.07o,1
--ObsFile Melb179L.07o,2
--NavFile Mobs179L.07n
--PosXYZ -4130635.7761,2894953.1006,-3890531.4568,1
--PosXYZ -4131249.8717,2896667.2391,-3888683.3012,2
--Fix 1
--EOPFile EOPP7175.txt
--verbose
DDBase exits correctly and the output is perfect, awesome!
Note: There are 1800 epochs, with 5-8 SVs each.
However, when run on my laptop of similar configuration with the same config file, DDBase crashes upon completing the 'pseudo-range' estimation stage.
All commands are invoked from the Cygwin bash shell using the same command line arguments file.
Specifications:
[Desktop]
GPSTk 1.3
AMD 64 X2 Dual Core
2.0ghz
1024mb ram
Windows XP Pro using Cygwin bash
[laptop]
GPSTk 1.3
Intel Core 2 Duo T7100
1.7ghz
1024mb ram
Windows XP Pro using Cygwin bash
The failing DDBase.exe ddbase.log file lists the following last entries:
[verbose]
"BEGIN
EditRawDataBuffers?()"
[debug]
"End of data reached in
ReadRawData?."
The computed pseudo-ranges for site 1 and 2 are identical on both computers.
Question:
If my desktop is running DDBase fine, any ideas why the laptop might be failing with the input?
Querying a performance issue, I ran the same setup on a third PC (Intel P4 Windowx XP Pro ... ), yet resulted with the same 'crash and log file position' as found using the laptop.
Thanks!
Michael
--
MichaelRigby - 15 Aug 2007
Answer
If you answer a question - or have a question you asked answered by someone - please remember to edit the page and set the status to answered. The status is in a drop-down list below the edit box.
Hello Michael,
It is possible that this crash has to do with 32 bit/64 bit compatibility in Cygwin. Or some other incompatibility introduced by variances in Cygwin installations.
I can suggest a way to test this theory. You might try building the GPSTk in Cygwin on the machines where the crash occurs and running the newly build version. I bet that will solve your crash problems (and it would indicate that we need to reconsider how we create packages for Cygwin users).
Best of luck,
Ben Harris
--
BenHarris - 15 Aug 2007
No idea. I have never seen it behave differently on different machines, and we routinely run it a lot on Windows and at least 3 kinds of linux. Are you sure the input files are identical? If you would like, send me the two log files and the data, and I'll look into it. Brian Tolman (
btolman@arlut.utexas.edu)
Hi,
I did as Ben instructed and it worked brilliantly!

Perfect.
Now I have one more question relating to DDBase, I'll add it now
Thanks again
--
MichaelRigby - 20 Aug 2007
I have had the same problem running this in Windows. I recompiled and debugged the application. The program crashes at line 125 in
EditRawDataBuffers?:
k = *cjt - *cit;
it is caused by these line of code
while(cit = rd.count.end())
(cjt = cit)++; // cjt points to the next count
When cit is one less than rd.count.end(), cjt will then equal rd.count.end() and is pointing passed the end of the data structure/array as arrays are indexed from 0 (not 1).
--
AlanBuchanan - 14 Jan 2008
--
BrianTolman - 14 Jan 2008
This is fixed in a later version of DDBase. Before the "k = ..." add if(cjt = rd.count.end())
--
BrianTolman - 14 Jan 2008