remotecontrol Posted January 4, 2019 at 08:52 AM Share Posted January 4, 2019 at 08:52 AM Hallo TF Team, mit gcc 8.2 erhalte ich beim Aufruf von air_quality_get_iaq_index einen Absturz wegen Stack corruption (bei älteren GCC Versionen passiert das nicht !!): ==5490== Process terminating with default action of signal 6 (SIGABRT): dumping core ==5490== at 0x4F05D7F: raise (in /usr/lib/libc-2.28.so) ==5490== by 0x4EF0671: abort (in /usr/lib/libc-2.28.so) ==5490== by 0x4F48877: __libc_message (in /usr/lib/libc-2.28.so) ==5490== by 0x4FDB414: __fortify_fail_abort (in /usr/lib/libc-2.28.so) ==5490== by 0x4FDB3C5: __stack_chk_fail (in /usr/lib/libc-2.28.so) ==5490== by 0x204CB9: air_quality_get_iaq_index (bricklet_air_quality.cpp:633) ==5490== by 0x48E2892: brickapi::AirQualitySensor::readValue(brickapi::SensorItem::CHANNEL_NO) (AirQualitySensor.cpp:147) ==5490== by 0xFF000577: ==5490== by 0x52399AF: ich habe mir den Bricklet-Code mal angesehen: BootloaderHandleMessageResponse get_iaq_index(const GetIAQIndex *data, GetIAQIndex_Response *response) { response->header.length = sizeof(GetAllValues_Response); response->iaq_index = voc_get_iaq_index(); response->iaq_index_accuracy = voc_get_iaq_index_accuracy(); return HANDLE_MESSAGE_RESPONSE_NEW_MESSAGE; } ist das hier nicht falsch: da steht response->header.length = sizeof(GetAllValues_Response); da wird doch die falsche Response-Größe zurück geliefert - oder nicht? Quote Link to comment Share on other sites More sharing options...
borg Posted January 4, 2019 at 10:47 AM Share Posted January 4, 2019 at 10:47 AM In der Tat! Danke für den Hinweis, fixe ich gleich. Quote Link to comment Share on other sites More sharing options...
borg Posted January 4, 2019 at 01:35 PM Share Posted January 4, 2019 at 01:35 PM Neue Firmware ist veröffentlicht! Quote Link to comment Share on other sites More sharing options...
remotecontrol Posted January 4, 2019 at 02:32 PM Author Share Posted January 4, 2019 at 02:32 PM Kann es sein, dass der Bug mit der Temperatur-Kalibrierung wieder drin ist? Mein Brickv zeigte nämlich schon Version 2.0.1 an => hab's überschrieben und wenn ich jetzt mit Wert 160 die Temperatur kalibriere bin ich auf einmal weit unter -100° C, dabei sollten ja nur 1.6° abgezogen werden?? Ich meine das hier: https://www.tinkerunity.org/forum/index.php/topic,4689.0.html Quote Link to comment Share on other sites More sharing options...
borg Posted January 4, 2019 at 04:00 PM Share Posted January 4, 2019 at 04:00 PM Oh man, wie hab ich das denn jetzt wieder hinbekommen... Ist jetzt auch gefixt. Quote Link to comment Share on other sites More sharing options...
remotecontrol Posted January 4, 2019 at 05:21 PM Author Share Posted January 4, 2019 at 05:21 PM Danke jetzt tut alles Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.