James Turner
1d9fa929fa
Launhcer: fix crashes adding a catalog
...
Traversing a container which is modified causes crashes, take a copy
during traversal for firePackageStatus.
Sentry-Id: FLIGHTGEAR-CJF
Sentry-Id: FLIGHTGEAR-CJ5
2021-01-01 22:41:42 +00:00
James Turner
26bb6236a0
Effect builder: catch allocation failures
...
Fail on bad_alloc of reading texture images, instead of crashing.
2020-12-28 15:08:49 +00:00
Scott Giese
b2acf5a623
fix: sky and cockpit to turn black
...
Metar sky condition without base layer height (e.g. FEW///) is the cause of this issue.
Randomize the base layer height when the actual height is unknown.
2020-12-26 10:53:49 -06:00
James Turner
bea88bb3a9
Fix BTG error reporting
...
Use gzerror, not strerror, for these codes.
2020-12-21 15:31:36 +00:00
Automatic Release Builder
def2af2bdd
new version: 2020.3.5
2020-12-17 13:48:00 +00:00
Fernando García Liñán
6f6d705f22
Add support for anisotropic filtering in Canvas
2020-12-17 13:00:01 +00:00
Richard Harrison
e9c33104d3
DDS-TC add option to exclude all Canvas orignated images.
2020-12-17 12:59:26 +00:00
Richard Harrison
985897f8ba
Emesary : change to use scoped lock
...
- scoped locks using lock_guard are better
- because of this the exception handler can also be removed;
although this was originally intended to manage the locks
it never did work properly with C++ exceptions.
2020-12-17 12:57:53 +00:00
Richard Harrison
4251b28e88
Emesary: add missing property initialisation to constructor
2020-12-17 12:56:49 +00:00
James Turner
76540a211c
SGGeod: add static constructor of an invalid Geod
...
Use this to allow explicitly initializing a value which isValid
will return false for.
2020-12-17 12:55:30 +00:00
James Turner
904fc5a7dd
Fix Nasal GC errors on tests/reset
...
Ensure the Context temps are cleared, and when recycling an naCode,
ensure old values are cleared explicily.
Sentry-Id: FLIGHTGEAR-Y
2020-12-17 12:55:25 +00:00
Stuart Buchanan
4aebc159d5
Use ref_ptr for ReaderWriterSPT
2020-12-07 17:18:32 +00:00
Richard Harrison
f89227fc1a
Remove mutex lock on realizeTechniques
...
This was causing a deadlock - and I can't quite remember what problem it was intended to solve so it is best to remove it.
2020-12-07 17:17:44 +00:00
James Turner
f50f383cc0
Reporting of std::bad_alloc in Subsystem::update
...
Trying to trace down our bad-alloc exception, starting with the simplest
place for now.
2020-12-07 17:16:58 +00:00
James Turner
706ab387de
Add reporting callback option to SimGear
...
Allows us to trigger an error logging callback explicitly, which can
be used to drive Sentry.io on the FlightGear side.
2020-12-07 17:16:47 +00:00
James Turner
cddfdb7d1d
TerraSync: stronger fix for handling 0-byte files
...
Change logic so we create an empty file for such cases, i.e exactly
matching the repository. This simplifies logic in downstream code,
compared with not creating a local file.
Add a test-case to cover this
Modify TerraSync to detect a failure of Airports_archive downloading,
and fall back to file-by-file updating.
2020-12-07 17:15:51 +00:00
James Turner
3c64578848
HTTPRepository: don’t crash on empty files
...
Fix some additional crash cases around 0-length files
2020-12-07 17:15:38 +00:00
James Turner
e1fe9b45e0
Unzip: adjust error reporting mechanism
...
Don’t use local exception throw+catch to report failures in extracting
a zip archive, since this generates noise in Sentry.
2020-12-07 17:15:30 +00:00
James Turner
8fdc1d306f
State-machines: don’t require name for transitions
...
Allow anonymous transitions, since the name is purely informational
(unlike for states).
Sentry-Id: FLIGHTGEAR-9H
2020-12-07 17:15:17 +00:00
Automatic Release Builder
6e0c39bb68
new version: 2020.3.4
2020-11-30 11:17:52 +00:00
Julian Smith
f20b416cfe
simgear/props/props.cxx: use rmutex to protect SGPropertyNodeListeners.
...
Also added asserts to check _num_iterators always >= 0.
2020-11-29 20:16:46 +00:00
Scott Giese
47e06b5216
METAR: mitigate wind sensor failures
2020-11-29 16:25:01 +00:00
James Turner
bfcdf22705
TerraSync: fix crashes with null file return
...
Not sure how this is happening, but, check for a null file object
in FileGetRequest::onDone.
2020-11-29 16:23:44 +00:00
Stuart Buchanan
d0db407faa
Set minimum expiry time on STG nodes.
2020-11-29 16:23:40 +00:00
Automatic Release Builder
d95b1c0441
new version: 2020.3.3
2020-11-12 11:14:23 +00:00
James Turner
837ba86d57
DNSClient: own requests, and cancel them on timeout
...
Fixes crashes where a request times-out, but then is completed by
UDN sometime afterwards, with a free-d object. Have the DNS::Client own
requests, and be able to retrieve the udns_query to cancel them, in
the timeout case.
Fixes a couple of Sentry reports.
2020-11-12 09:39:58 +00:00
Automatic Release Builder
0cb1b463e1
Catalogs: fix ownership of new Catalogs
...
When doing the initial download of a Catalog, ensure we still keep
an owning ref to it.
2020-11-11 21:18:57 +00:00
Automatic Release Builder
8a772c8edd
new version: 2020.3.2
2020-11-04 22:08:28 +00:00
James Turner
03bdad0a10
Try to capture cause of BTG load failures
2020-11-04 11:52:58 +00:00
James Turner
537776e1f8
TerraSync: fix local-file copying
...
Avoid downloading data corresponding to files shipped in FGData.
2020-11-04 11:22:48 +00:00
James Turner
f34a4a304e
Untar: log error details when output create fails
...
Trying to understand why writing to the output files fails for some
users.
Sentry-Id: FLIGHTGEAR-SS
2020-11-03 21:26:03 +00:00
James Turner
a59c4e2c8b
TerraSync: make tarball extraction asynchronous
2020-11-03 17:49:19 +00:00
Julian Smith
46f4967f6e
Allow use of old zlib-1.2.3 on OpenBSD.
...
As of 2020-08-01, OpenBSD's system zlib is 1.2.3 which doesn't
have gzoffset(). However we can get away with this by making
gzfilebuf::approxOffset() always return zero.
2020-11-01 11:12:00 +00:00
James Turner
9305417207
Terrasync: tarball extraction, use larger buffer
...
Use a 1MB buffer, 2kByte is very 1979 :)
2020-11-01 11:11:31 +00:00
James Turner
11da8b33f9
TerraSync: switch to per-directory hash caching
...
Avoid a central hash cache becoming enormous, now we use the selective
download scheme for the tile dirs.
Hash name is changed to co-exist with older versions.
2020-11-01 11:11:27 +00:00
James Turner
c7b320eb55
Fix Airports/ initial sync
2020-11-01 11:11:23 +00:00
James Turner
72b2eb0ebf
TerraSync: avoid 404s to probe missing tiles
...
Use the top-level dirIndex files to determine if a 1x1 tile dir
exists, instead of proving the server via a 404. This reduces the
number of requests we make considerably, which is … important.
2020-11-01 11:11:19 +00:00
James Turner
ec3829addb
TerraSync: validate local dirs incrementally
...
Add a process() method to HTTPRepository, and use this to
incrementally validate subdirs after the .dirIndex is received. This
avoids large pauses of the TerraSync thread, when all of Airports/
is validated at once.
2020-11-01 11:11:15 +00:00
James Turner
96bafef3f3
TerraSync: use an unordered_map for the hash cache
...
Linear-scan is a bit slow in debug builds, for the large Airports/ tree;
switch to an unordered_map.
Will back-port to the LTS once tested a bit more.
2020-11-01 11:11:12 +00:00
James Turner
3ff3bd0a6c
Props: allow flushing the atomic change listener
...
Trying to narrow down causes of the ‘unregister listeners crashes on
shutdown’ reports.
2020-11-01 11:11:07 +00:00
Automatic Release Builder
78d073a0f0
new version: 2020.3.1
2020-10-26 09:09:22 +00:00
Scott Giese
d62796c19d
METAR: When Wind unit not specified, default to knots.
...
FLIGHTGEAR-F6 resolved
2020-10-26 08:58:06 +00:00
Scott Giese
7ea7ff43fc
METAR Wind Sensor Failure.
...
FLIGHTGEAR-F9 resolved.
2020-10-26 08:57:24 +00:00
James Turner
dafd185595
Fix for crash reported by Michael Danilov
...
In case uDNS returns a NULL txt pointer, don’t try to create a
std::string from it, since this will crash,
See: https://sourceforge.net/p/flightgear/codetickets/2398/
2020-10-26 08:54:18 +00:00
Automatic Release Builder
1568ed8b97
Catalog migration: migrate packages too
...
When doing a catalog migration to a new ID (eg, 2018 -> 2020), also
mark the installed packages for installation, on the new catalog.
Related to this, when manually removing a catalog, record this fact,
so we don’t re-add it automatically due to migration.
Add unit-tests covering both of these cases.
2020-10-22 21:27:47 +01:00
Automatic Release Builder
444e2ffb2d
Sound: readWAV: avoid common exceptions.
...
Avoid exceptions for the common ‘file not found’ case, and instead
return false / nullptr. Erik says it’s fine.
2020-10-15 17:00:30 +01:00
Automatic Release Builder
32ccdaec6f
Update version file
2020-10-13 22:27:38 +01:00
Automatic Release Builder
bd9f04d980
TerraSync: retry after socket failures
...
Assume socket failures are intermittent, up to some maximum count
(currently configured as 16). Add a test case to cover this.
2020-10-13 11:38:35 +01:00
Automatic Release Builder
9c530d6978
TerraSync: Rate-limit hash-cache writes
...
This helps with IO-limited performance on Windows
2020-10-07 12:23:33 +01:00
Automatic Release Builder
05094510be
SGPath: optimise exists() on Windows
...
For a very common existence only check, use a dedicated win32 API
function, to save some time.
2020-10-07 12:21:49 +01:00