Unfortunately, reverting the recent changes (that caused the thread to be created with "detached" state) wasn't enough to fix the problem. The strange thing is, that the return value that triggers assert() is 35, or EAGAIN (Linux). This makes no sense. It's neither described on the pthread_join manpage, nor is it used in any implementation that I found on the net. Also, if I take it literally and try again in an endless loop, I get endless 35 codes.
Maybe I've got a broken libpthread or something. Could someone try to reproduce it? $ fgfs --aircraft=ufo --prop:/environment/params/metar-max-age-min=1 --log-level=warn Then fly to another airport, say KOAK and wait. After one minute fgfs starts to fetch METAR reports for KOAK, but they are most likely older than one minute, so it fetches the next, and next, until it throws an exception after ten failed attempts. And this causes an abortion here: Error fetching live weather data: More than 10 stale METAR messages in a row. Stop fetching data permanently. fgfs: /usr/local/include/simgear/threads/SGThread.hxx:150: void \ SGThread::join(): Assertion `status == 0' failed. /home/m/bin/fgfs: line 239: 18187 Aborted (core dumped) m. _______________________________________________ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d