display_update_enable(true); ->Guru Meditation Error !

Hello !
I've noticed that I can't use this library at all when using <ESPAsyncWebServer.h> on an ESP32.
I get a lot of Guru Meditation errors.
Guru Meditation Error: Core  1 panic'ed (Cache disabled but cached memory region accessed)
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40176858: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstGuru Meditation Error: Core  1 panic'ed (Unhandled debug exception)
Debug exception reason: Stack canary watchpoint triggered ()
Guru Meditation Error: Core  1 panic'ed (Guru Meditation Error: Core  1 panic'ed (Double exception)
Guru Meditation Error: Core  1 panic'ed (Double exception)
���?���?���?���?Error: Core  1�@t��?d (Unhandled debug exception)
Debu�@6
���?���?���?���?Error: Core  1�@t��?d (pT�?
)
Debu�@6���?�␟   @�S�?'␌␃�? ��␔��?

Deleting display_update_enable(true); fixes this, but then I have no way of updating the display.
display.display() only flashes the text on screen for a fraction of a second.
Is there any workaround to not be able to use display_update_enable(true); ?

I know I used to get Guru Meditation Errors too when I would attempt to use the PxMatrix along with SPI, unfortunate but you may have to use another library? Someone made an interface for I2C with these panels and that didn't return errors for them but in my case I just had to have my device process one SPI function then the other or else it would crash because I didn't want to figure out that software.

I know I used to get Guru Meditation Errors too when I would attempt to use the PxMatrix along with SPI, unfortunate but you may have to use another library? Someone made an interface for I2C with these panels and that didn't return errors for them but in my case I just had to have my device process one SPI function then the other or else it would crash because I didn't want to figure out that software.

So you're saying that the SPIFFS image is actually at conflict with PxMatrix ?
What is the other library you recommend ?
How did you manage to process one function and then the other ?
Thank you !

If you are rendering static images and use SPIFFS you can always disable the display before read and then enable later. This will be visible as a flicker but won't crash the rsp

If you are rendering static images and use SPIFFS you can always disable the display before read and then enable later. This will be visible as a flicker but won't crash the rsp

I am using SPIFFS a lot in my project. I write and read stuff inside txt files. Also, all of the html, css and javascript files are mounted using SPIFFS with ESPAsyncWebServer.h:
server.on("/html", HTTP_GET, [](AsyncWebServerRequest *request){
    request->send(SPIFFS, "/test_file.html", "text/html");
  });

I also have a HTTP client inside void loop() that's constantly checking for new values from a URL. The values that come from the URL are displayed on the LED Display.

Guru Meditation Error: Core  1 panic'ed (Cache disabled but cached memory region accessed)
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40173ab0: bad00bad bad00bad bad00bad
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.

This is a sample of my project.
Trying to acces http://*myIP* or http://*myIP*/url sometimes work, sometimes it returns the above mentioned Guru Meditation Error.
#include <Arduino.h>
#include <WiFi.h>
#include <ESPAsyncWebServer.h>
#include <SPIFFS.h>
#include <HTTPClient.h>
#include <PxMatrix.h>

#define P_LAT 22
#define P_A 19
#define P_B 23
#define P_C 18
#define P_D 4
#define P_E 15
#define P_OE 25
hw_timer_t * timer = NULL;
portMUX_TYPE timerMux = portMUX_INITIALIZER_UNLOCKED;

#define matrix_width 64
#define matrix_height 32

PxMATRIX display(matrix_width,matrix_height,P_LAT, P_OE,P_A,P_B,P_C,P_D,P_E);

uint8_t display_draw_time= 40;

uint16_t myRED = display.color565(255, 0, 0);
uint16_t myGREEN = display.color565(0, 255, 0);
uint16_t myBLUE = display.color565(0, 0, 255);
uint16_t myWHITE = display.color565(255, 255, 255);
uint16_t myYELLOW = display.color565(255, 255, 0);
uint16_t myCYAN = display.color565(0, 255, 255);
uint16_t myMAGENTA = display.color565(255, 0, 255);
uint16_t myBLACK = display.color565(0, 0, 0);

void IRAM_ATTR display_updater(){
  // Increment the counter and set the time of ISR
  portENTER_CRITICAL_ISR(&timerMux);
  display.display(display_draw_time);
  portEXIT_CRITICAL_ISR(&timerMux);
}

void display_update_enable(bool is_enable){
  if (is_enable) {
    timer = timerBegin(0, 80, true);
    timerAttachInterrupt(timer, &display_updater, true);
    timerAlarmWrite(timer, 2000, true);
    timerAlarmEnable(timer);
  }
  else  {
    timerDetachInterrupt(timer);
    timerAlarmDisable(timer);
  }
}

void fileReadLines(File file, String x[]) {
  int i = 0;
    while(file.available()){
        String line= file.readStringUntil('\n');
        line.trim();
        x[i] = line;
        i++;
        Serial.println(line);
    }
}

unsigned int number = 0;
String IPAddr = "";
const char* ssid = "ssid";
const char* password = "password";

AsyncWebServer server(80);

void setup() {
  Serial.begin(115200);
  delay(500);
  WiFi.begin(ssid, password);
  delay(500);
  int k = 0;
  while (WiFi.status() != WL_CONNECTED && k<20) {
    k++;
    delay(1000);
    Serial.println((String)"Attempt " + k + " - Connecting to WiFi..");
  }

  delay(100);
  display.begin(8);
  display.clearDisplay();
  display.setTextWrap(true);
  display.setRotation(0);

  if(WiFi.status() == WL_CONNECTED) {
    IPAddr = WiFi.localIP().toString();
    Serial.println((String)"Connected to " + ssid + " with IP addres: " + IPAddr);
    display.setTextColor(myCYAN);
    display.setTextSize(1);
    display.setCursor(1,1);
    display.print(IPAddr);
    display_update_enable(true);
    delay(5000);
  } else {
      Serial.println("Couldn't connect to WiFi Network. Restarting in 5 seconds...");
      display.setTextColor(myRED);
      display.setTextSize(1);
      display.setCursor(1,1);
      display.print("Error 1 - Restarting in 5 sec!");
      display_update_enable(true);
      delay(5000);
      ESP.restart();
  }

  display_update_enable(false);
  if (!SPIFFS.begin(true)) {
    Serial.println("An Error has occurred while mounting SPIFFS ! Formatting in progress");
    return;
  }

  server.on("/url", HTTP_GET, [](AsyncWebServerRequest *request){
    display_update_enable(false);
    request->send(SPIFFS, "/url_page.html", "text/html");
  });
  server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
    display_update_enable(false);
    request->redirect("/url");
  });
  server.on("/logs", HTTP_GET, [](AsyncWebServerRequest* request){
    display_update_enable(false);
    request->send(SPIFFS, "/events.html", "text/html");
  });
  server.on("/jquery-1.12.4.min.js", HTTP_GET, [](AsyncWebServerRequest* request){
    display_update_enable(false);
    request->send(SPIFFS, "/jquery-1.12.4.min.js", "text/javascript");
  });
  server.on("/style_url.css",HTTP_GET, [](AsyncWebServerRequest *request){
    display_update_enable(false);
    request->send(SPIFFS, "/style_url.css", "text/css");
  });
  server.on("/master.css", HTTP_GET, [](AsyncWebServerRequest *request) {
    display_update_enable(false);
    request->send(SPIFFS, "/master.css", "text/css");
  });
  server.on("/back-image.jpg", HTTP_GET, [](AsyncWebServerRequest *request) {
    display_update_enable(false);
    request->send(SPIFFS, "/back-image.jpg", "image/jpeg");
  });
  server.on("/logo.png", HTTP_GET, [](AsyncWebServerRequest *request) {
    display_update_enable(false);
    request->send(SPIFFS, "/logo.png", "image/png");
  });
  server.on("/url", HTTP_POST, [](AsyncWebServerRequest * request){
    display_update_enable(false);
    int params = request->params();
    String URL;
    for(int i=0;i<params;i++){
      AsyncWebParameter* p = request->getParam(i);
        if(p->isPost()){
          Serial.println((String)"POST[" + p->name().c_str() + "]: " + p->value().c_str() + "\n");
          URL = p->value();
        } else {
            Serial.println((String)"GET[" + p->name().c_str() + "]: " + p->value().c_str() + "\n");
          }
    } // for(int i=0;i<params;i++)

    if(URL != NULL && URL.length() != 0) {
      File urlWrite = SPIFFS.open("/urlFile.txt", "w");
      if(!urlWrite) Serial.println((String)"ERROR_INSIDE_URL_POST ! Couldn't open file to write URL !");
      urlWrite.println(URL);
      urlWrite.close();
      request->redirect("/url");
    } else {
      request->redirect("/url");
    }
  });

  server.begin();
}

void show_on_display(unsigned int nr) {
  display.clearDisplay();
  display.setTextWrap(false);
  display.setRotation(0);
  display.setTextColor(myGREEN);
  display.setCursor(44,5); //- cursor for 1 digit number
  display.setTextSize(3);
  if(nr == 0) {
    display.setTextColor(myRED);
  } else if(nr >9) {
    display.setCursor(26,5); //- cursor for 2 digits number
  }
  display.print(nr);
}

void parse_URL(String string) {
  string.toUpperCase();
  int f = string.indexOf("FREE");
  String Free = string.substring(f);
  Free.remove(0, 4);
  number = Free.toInt();
}

void loop() {
  display_update_enable(false);
  if (WiFi.status() == WL_CONNECTED) {  //Check the current connection status
    File urlRead = SPIFFS.open("/urlFile.txt");
    if(!urlRead) Serial.println((String)"ERROR_INSIDE_loop ! Couldn't open file to read !");

    if(urlRead.size() > 10) {
      HTTPClient http;
      String URL;
      Serial.println((String)"URL: ");
      fileReadLines(urlRead, &URL);
      http.begin(URL); //Specify the URL
      urlRead.close();
      display_update_enable(true);
      int httpCode = http.GET(); //Make the request

      if (httpCode > 0) { //Check for the returning code
        Serial.println((String)"[HTTP] GET... code: " + httpCode);
        if(httpCode == HTTP_CODE_OK) {
          String payload = http.getString();
          Serial.println(payload);
          parse_URL(payload);
        }
      } else {
          Serial.println((String)"[HTTP] GET... failed, error: " + http.errorToString(httpCode).c_str());
        }
      http.end(); //Free the resources

      } else {
        Serial.println("URL Link is invalid ! Please enter another URL");
      }
  }
  show_on_display(number);
  delay(3000);
}

Is there some way you can get a boolean state of whether your arduino is currently interacting with the network at all? If so you could do something like
void display_update_enable(bool is_enable){
  if (is_enable) {
    timer = timerBegin(0, 80, true);
    timerAttachInterrupt(timer, &display_updater, true);
    timerAlarmWrite(timer, 2000, true);
    timerAlarmEnable(timer);
  }
  else  {
    timerDetachInterrupt(timer);
    timerAlarmDisable(timer);
  }
}

into
void display_update_enable(bool is_enable){
  if (is_enable && !checkinternetuse) {
    timer = timerBegin(0, 80, true);
    timerAttachInterrupt(timer, &display_updater, true);
    timerAlarmWrite(timer, 2000, true);
    timerAlarmEnable(timer);
  }
  else  {
    timerDetachInterrupt(timer);
    timerAlarmDisable(timer);
  }
}

then that might fix the feeling that you're "on thin ice" whenever you're interacting with it but I'm just spitballing

Yeah ... network / wifi activity, SPIFFS etc. and PxMatrix don't go too well together at the moment. I suspect that this would require some investigation into thread-safeness of the whole thing. I won't have the time to do this anytime soon so maybe one of you guys want to give it a shot`?

Yeah ... network / wifi activity, SPIFFS etc. and PxMatrix don't go too well together at the moment. I suspect that this would require some investigation into thread-safeness of the whole thing. I won't have the time to do this anytime soon so maybe one of you guys want to give it a shot`?

I would love to, but I seriously lack the skills.

Hi:
I realized this is closed because of major surgery involved in fixing it but there is a workaround that almost works, that is to use the Ticker display timer intended for esp8266 instead of the esp32 interrupt approach.  I have wifi, BLE and SPIFFS all working that way.  The problem is the display flickers, so I am wondering if there is some simpler bandaid to make Ticker/Pxmatrix and esp32 play together.  I am able to turn off WIFI and only connect when needed to update a clock but BLE does not turn off/on cleanly yet.  The display is stable when they are disconnected though.  Any thoughts?

Hi:
I realized this is closed because of major surgery involved in fixing it but there is a workaround that almost works, that is to use the Ticker display timer intended for esp8266 instead of the esp32 interrupt approach. I have wifi, BLE and SPIFFS all working that way. The problem is the display flickers, so I am wondering if there is some simpler bandaid to make Ticker/Pxmatrix and esp32 play together. I am able to turn off WIFI and only connect when needed to update a clock but BLE does not turn off/on cleanly yet. The display is stable when they are disconnected though. Any thoughts?

You should make a separate issue.
I dropped PxMatrix in favor of SmartMatrix, because it's faster, uses DMA, it has a simpler wiring and works perfectly with my project.

Thanks, I'll look at it.
On Thu, May 16, 2019 at 12:34 PM GeorgeFlorian<EMAIL_ADDRESS>wrote:

Hi:
I realized this is closed because of major surgery involved in fixing it
but there is a workaround that almost works, that is to use the Ticker
display timer intended for esp8266 instead of the esp32 interrupt approach.
I have wifi, BLE and SPIFFS all working that way. The problem is the
display flickers, so I am wondering if there is some simpler bandaid to
make Ticker/Pxmatrix and esp32 play together. I am able to turn off WIFI
and only connect when needed to update a clock but BLE does not turn off/on
cleanly yet. The display is stable when they are disconnected though. Any
thoughts?
You should make a separate issue.
I dropped PxMatrix in favor of SmartMatrix, because it's faster, uses DMA,
it has a simpler wiring and works perfectly with my project.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/2dom/PxMatrix/issues/87?email_source=notifications&email_token=AHKIAJGPZJB7MU5N3TWMVCDPVWZOBA5CNFSM4HFHQ5X2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVS245A#issuecomment-493203060,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHKIAJFWMTMM62UODZU4PQTPVWZOBANCNFSM4HFHQ5XQ
.

how did you solve the issue?, I am having the same issue now

I moved to Smartmatrix but that requires different wiring if I recall
correctly, it's been a few years.  I eventually abandoned that project and
have had better luck with an RPI zero w, there are boards available and it
just seems more robust.  I'm not sure whether it will do wifi and bluetooth
together though.
On Sun, Apr 17, 2022 at 10:10 AM Nischal-Poudel @.***>
wrote:

how did you solve the issue?, I am having the same issue now
—
Reply to this email directly, view it on GitHub
https://github.com/2dom/PxMatrix/issues/87#issuecomment-1100917445, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AHKIAJGQ6YRC347CDQVBMELVFRAXHANCNFSM4HFHQ5XQ
.
You are receiving this because you commented.Message ID:
@.***>

Hey thank you soo much for replying, since I'm working and facing the same
issue, can I get more peak into your project?? And how did you complete
your project?? Knowing that would be soo much useful for me.
On Mon, Apr 18, 2022, 9:20 PM bribur @.***> wrote:

I moved to Smartmatrix but that requires different wiring if I recall
correctly, it's been a few years. I eventually abandoned that project and
have had better luck with an RPI zero w, there are boards available and it
just seems more robust. I'm not sure whether it will do wifi and bluetooth
together though.
On Sun, Apr 17, 2022 at 10:10 AM Nischal-Poudel @.***>
wrote:

how did you solve the issue?, I am having the same issue now
—
Reply to this email directly, view it on GitHub
https://github.com/2dom/PxMatrix/issues/87#issuecomment-1100917445, or
unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AHKIAJGQ6YRC347CDQVBMELVFRAXHANCNFSM4HFHQ5XQ
.
You are receiving this because you commented.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/2dom/PxMatrix/issues/87#issuecomment-1101504342, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AT5B62X4ALTH46M3VT6SWS3VFV6MHANCNFSM4HFHQ5XQ
.
You are receiving this because you commented.Message ID:
@.***>


python312Packages.graphrag: init at 0.1.1 and introduce some dependencies

Description of changes

graphrag
The GraphRAG project is a data pipeline and transformation suite that is designed to extract meaningful, structured data from unstructured text using the power of LLMs.
https://github.com/microsoft/graphrag

azure-search-documents
Microsoft Azure Cognitive Search Client Library for Python
https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/search/azure-search-documents

datashaper
Collection of utilities for doing lightweight data wrangling
https://github.com/microsoft/datashaper/tree/main/python/datashaper

pyaml-env
Parse YAML configuration with environment variables in Python
https://github.com/mkaranasou/pyaml_env

swifter
Package which efficiently applies any function to a pandas dataframe or series in the fastest available manner
https://github.com/jmcarpenter2/swifter

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[x] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 326690 at d2c2cc8e run on x86_64-linux 1

10 packages built successfully:

python311Packages.azure-search-documents
python311Packages.datashaper
python311Packages.graphrag
python311Packages.pyaml-env
python311Packages.swifter
python312Packages.azure-search-documents
python312Packages.datashaper
python312Packages.graphrag
python312Packages.pyaml-env
python312Packages.swifter


Bug where UI graph updates slow down after multiple crashes

The same as Scenic issue #4
After crashing various parts of the scene on purpose, and watching them recover, the GLFW driver gets in a state where seems to pause processing messages. They do eventually catch up, but it is as if the driver is blocking, not scheduled, or otherwise synchronized on something.
I'm guessing it's a communication with the port since it stops immediately on any user input.

Talked to José an he was helping debug it.
A few things
This issue only happens when :observer is open.
It does not happen with :observer and :sys_trace both on.
José thinks it might be a VM issue when interacting with :observer
Going to leave this here for a bit, but is starting to look like it might not be a scenic issue. The whole "crash scenes first" thing was a red herring. Just leave :observer open with no crashing for the same affect.

Closing as this isn't an issue with Scenic. When Observer is not open, everything works as expected.


Edit: TVP Info

Channel ID (required)
TVPInfo.pl
Channel Name
No response
Alternative Names
No response
Network
No response
Owners
No response
Country
No response
Subdivision
No response
City
No response
Broadcast Area
No response
Languages
No response
Categories
No response
NSFW
None
Launched
No response
Closed
No response
Replaced By
No response
Website
No response
Logo
https://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/Tvp-info-nowe-logo.svg/512px-Tvp-info-nowe-logo.svg.png
Notes
Changed logo.

Just before noon on January 15, 2024, the TVP Info website and YouTube channel were restored; access to archived material was also restored where said material was not biased towards the previous Law and Justice government. Andrzej Jaszczyszyn was named as the head of the restored tvp.info service.[30][31] On 19 January 2024, TVP Info the schedule was changed, changes have been made in the evening schedule, program Publicystyka TVP Info, is divided into two discussion programs and the "Oko na Świat" program at 23:00 CET, on same day, they moved new studio, but in same place.


Connecting data to firebase

I've installed firebase pods and know how to turn the data into HTML elements but I'm struggling to upload the question and answer data into firebase.

Just send it to the realtime database... not that hard... look it up in pod docs.


migrate LSR scripts

Hi @geforcelive
May I ask that could we change the base branch to scripts-dev branch?


Add support for Erlang 17.

Need to resolve this:
WARN:  Missing plugins: [rebar_lock_deps_plugin]

He tasks me. He tasks me, and I shall have him. I'll chase him round the Moons of Nibia and round the Antares Maelstrom and round Perdition's flames before I give him up!

:+1:  a7661f6


Error in function esp_wifi_init after merged from v3.3 (IDFGH-1614)

Hello,
please, could you help me? I was merged the v3.3 branch into my branch (v3.2) and now I am getting this error:
I (1979) net80211: OS adapter function version error! Version 1 is expected, but it is 2
And function esp_wifi_init returning code 0x102
This is my initial code which worked in v3.2:
esp_err_t esp_err;
	wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();

	esp_err = esp_event_loop_init(low_wifi_event_handler, NULL);
	if(esp_err != ESP_OK)
		return TCS_ERR_WIFI;

	tcpip_adapter_init();

	/* Initialize ESP WiFi */
	esp_err = esp_wifi_init(&cfg);
	if(esp_err != ESP_OK)
	{
		TCS_ERROR_PRINTF(LOG_CATEGORY, "Error in esp_wifi_init: %d", esp_err);
		return TCS_ERR_WIFI;
	}

Please, could you help me, where is difference between v3.2 and v3.3?
Thank you very much.

Hi @zavovi, do you update your submodule after upgrade your release?

Yes, I updated all and recompiled all.

Hi @zavovi, If this is a real problem, I think everyone should have problem. So I suspect this issue is related to your update process. Could you tell me the detailed steps to merge v3.3 to v3.2? Or you can clone a new v3.3 and try it again?

Hi @liuzfesp, It seems, that there is some issue with merging. I have my branch from v3.2 and I make some minor changes in one file. After that, I merged the v3.3 onto my brach. And there is the issue...

@zavovi Thanks for reporting this. Seemingly the issue might be in your updating process/merging, right? Would you please help provide more details? Thanks.

Hi @Alvin1Zhang ,
Yes, it seems, that was in my merging process, because I cannot merge v3.3 into v3.2 - this is the right issue. Now, I made new branch from v3.3 and updated my changes via patch. Now, it is working.
Thank you.


TypeScript coding standards documentation

[x] Reference coding standards document template created by Emissioners (#140)
[x] Research industry standards for TypeScript
[x] Document coding standards
[x] Document styling standards
[x] Document best practices
[x] Document naming conventions

A/C:
Document with set of coding standards for the development team uploaded to EPA Sharepoint

Met with Quang and Sejal to discuss standardizing the template format.

Had another meeting with Quang and Sejal to continue refining the template. Also met with Jason to review progress.

Completed peer review. Now working on integrating the feedback I got.

Completed document: https://usepa.sharepoint.com/:b:/r/sites/CAMDCVPTeam/Shared Documents/General/Coding Standards/TypeScript Coding Standards - EPA CAMD - v1.1.pdf?csf=1&web=1&e=DOewb5


Add relative datetime if the datetime are less that 3 days

Hi, I would like to work on a feature that will display the DateTime as relative time from now if it is less than 3 days.
This would look like:  Last executed 3 days ago in 14ms  and after 3 days it would look like Last Executed at 2023-06-19 in 15 ms

I see you made https://github.com/deshaw/jupyterlab-execute-time/pull/93, does that replace the want for this or is that separate?

it is a separate feature request.
#93 is based on issue #78


Better usage of return resource with auto-closeable

Fixing issue 15: https://github.com/pivotalsoftware/session-managers/issues/15
Also updating jedis version due to the new auto-closeable feature available simplifying code.

@mballoni Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@mballoni Thank you for signing the Contributor License Agreement!

Thank you for the contribution @mballoni.  It has been merged into master.


Bad Encoding

I've noticed that the encoding seems to have garbled the accented characters.
For example, Frédéric Chopin appears in the data as Chopin,  FrÃ©dÃ©ric.
Great repository, otherwise!

Thanks! All diacritics are coming through fine for me...can you be more specific about where you're seeing this (file/line no.) and how you're viewing the data?

I know my facility with Python encoding is abysmal, so the problem (once located) is almost certainly on my end.

On Apr 30, 2015, at 3:23 PM, Mitch<EMAIL_ADDRESS>wrote:
Thanks! All diacritics are coming through fine for me...can you be more specific about where you're seeing this (file/line no.) and how you're viewing the data?
—
Reply to this email directly or view it on GitHub https://github.com/nyphilarchive/PerformanceHistory/issues/3#issuecomment-97935386.

I just found an example...line 16610 of complete.xml. I'll check what's in our Solr index, since that's where this data is originating. Possible that I need to re-index some records.

Should have been more specific, there, didn't realise some of them were encoded ok.
There are other examples in the data. Searching for the character Ã is always a sure fire way of locating them.

The issue was with the migration from our database of record into the Alfresco repo. Made fix in migration config and re-migrated metadata so this is gremlin is now removed.


Not able to run the project

I downloaded the project Q-municate-ios. I tried to run the project and when i entered the Phone number. It shows the error "Something went wrong, Please try again later".
Please see the screen shot.

@anil03, Hello, You have tried to test on the simulator, haven't you? Try it again with the real device.

Yes, I tried on the Simulator.

@anil03, Please try again on the device. In our case, Firebase verification is based only on silent APNs notifications, so you can't be logged in via Firebase on the simulator.

I tried on device.
I tried on iPhone 6s and I am able to login.
but when I am trying to another device such iPhone SE. I am getting the same error "Something went wrong".


Feature: Add support for changing system backdrop

Resolved / Related Issues

[x] Were these changes approved in an issue or discussion with the project maintainers? In order to prevent extra work, feature requests and changes to the codebase must be approved before the pull request will be reviewed. This prevents extra work for the contributors and maintainers.
Closes #issue...

Validation
How did you test these changes?

[x] Did you build the app and test your changes?
[ ] Did you check for accessibility? You can use Accessibility Insights for this.
[ ] Did you remove any strings from the en-us resource file?

[ ] Did you search the solution to see if the string is still being used?

[ ] Did you implement any design changes to an existing feature?

[ ] Was this change approved?

[ ] Are there any other steps that were used to validate these changes?

Open app ...
Click settings button ...

Screenshots (optional)
Add screenshots here.

The app is crashing on the automated tests, it might be because mica isn't available.

Thank you


.2 Fails to build on MacOS

.2 version fails to build on MaxOS.  .1.5 builds fine.   This with with latest version of XCode Command Line tools on 10.12.2
CXX(target) Release/obj.target/diskusage/src/main.o
In file included from ../src/main.cpp:1:
../src/diskusage.h:3:10: fatal error: 'cstdint' file not found
#include
^
1 error generated.
make: *** [Release/obj.target/diskusage/src/main.o] Error 1`

That's weird. I tested it on latest macOS with latest Xcode installed.

Maybe its node version?  I'm on  v4.7.0

I will have a look tomorrow, it's already too late for me in Prague. I can refactor the code to avoid using that header.

Or it could be one of these issues:
http://stackoverflow.com/questions/10116724/clang-os-x-lion-cannot-find-cstdint
http://stackoverflow.com/questions/16525489/cstdint-file-not-found-when-building-on-the-command-line

You can try cloning the git repo and calling npm install. Try changing the include to stdint.h. If that helps, you can submit a PR (bump the version to 0.2.1)

I tested it with nvm on macOS Sierra with an old-ish XCode (probably 6 months old) before publishing the changes and everything was good from Node v0.10.48 all the way up to latest stable.
I'll update my XCode version and see how I go.
@miniak There was an issue with the cflags on older Node versions (node-gyp didn't invoke -std=c++11 by default in those versions) so this may be affecting MacOS. I think I remember there being an issue somewhere that gyp on Mac ignored the cflags option in the gyp file and you had to do a work around. May be related, will check it out.

Was able to reproduce on v0.10.48 with El Capitan and its latest XCode. Definitely related to missing C++ cflag. Will make some changes.

Turns out its not related to cflags.
@miniak It seems like new versions of node are fine with building it out of the box, but older node versions require the include in diskusage.h to be #include <tr1/cstdint> instead of #include <cstdint>. Still not sure why. Do you have any ideas?
If you want to reproduce, just install nvm and grab 0.10.48 (nvm install 0.10.48) and try and do a npm install inside the git repository.

Hey, do you have any idea when you'll push an update to NPM?

@edgework When we determine what the issue is, we'll push an update. Currently, updating to the latest version of Node will solve the problem, so if you can't wait, I suggest updating.

There's no way we can update Node. We're on 4.4 which is the most common production version out there.   I just locked the version down on all our servers to 0.1.x

@edgework We're running v6 in production, which should install diskusage fine. If you are deploying to production, you should have shrink-wrapped dependencies, or at least a fixed version in your package.json.
I'm working on resolving the issue now, but without @miniak's input, it's going to take a while.

Did you try just replacing the include with stdint.h?

@miniak From my testing, doesn't work when compiling with C++11 (which is the default under new node's).

So which node versions should I test with? 4 and 6?

@miniak Test with v0.10.48, v4 and v7. That should cover everything from what I can tell.

If you want to reproduce, just install nvm and grab 0.10.48 (nvm install 0.10.48) and try and do a npm install inside the git repository.

I was able to reproduce with v4
CXX(target) Release/obj.target/diskusage/src/main.o
In file included from ../src/main.cpp:1:
../src/diskusage.h:3:10: fatal error: 'ctdint' file not found
#include

For it works using stdint.h with both v4 and v7

@miniak Doesn't work on Linux using stdint.h on node v7

I only have access to macOS and Windows at this point.

What about using #ifdef for that include?

Doesn't work on Linux using stdint.h on node v7

can you send me the error message that you get?

@miniak Can't reproduce now. Not sure what I was doing wrong last time but <stdint.h> works fine for Linux. Happy to make that change, and see what happens.

The other option would be to stop using cstdint / stdint.h altogether and change
struct DiskUsage {
    uint64_t available;
    uint64_t free;
    uint64_t total;
};

to
struct DiskUsage {
    double available;
    double free;
    double total;
};

It needs to be passed as double to JavaScript anyway.

Will see if this change works for @edgework and will then look at changing to double.

@miniak Get some interesting output from Linux with Node v0.12.18
make: Entering directory '/root/node-diskusage/build'
  CXX(target) Release/obj.target/diskusage/src/main.o
In file included from /root/.node-gyp/0.12.18/include/node/v8stdint.h:13:0,
                 from /root/.node-gyp/0.12.18/include/node/v8.h:18,
                 from /root/.node-gyp/0.12.18/include/node/node.h:61,
                 from ../node_modules/nan/nan.h:47,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node.h: In function ‘void node::FatalException(const v8::TryCatch&)’:
/root/.node-gyp/0.12.18/include/node/node.h:275:61: warning: ‘void node::FatalException(v8::Isolate*, const v8::TryCatch& ’ is deprecated: Use ParseEncoding(isolate, ...) [-Wdeprecated-declarations]
   return FatalException(v8::Isolate::GetCurrent(), try_catch);
                                                             ^
/root/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/root/.node-gyp/0.12.18/include/node/node.h:273:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use FatalException(isolate, ...)",
 ^
In file included from ../node_modules/nan/nan.h:47:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node.h:270:18: note: declared here
 NODE_EXTERN void FatalException(v8::Isolate* isolate,
                  ^
In file included from /root/.node-gyp/0.12.18/include/node/v8stdint.h:13:0,
                 from /root/.node-gyp/0.12.18/include/node/v8.h:18,
                 from /root/.node-gyp/0.12.18/include/node/node.h:61,
                 from ../node_modules/nan/nan.h:47,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node.h: In function ‘v8::Local<v8::Value> node::Encode(const void*, size_t, node::encoding)’:
/root/.node-gyp/0.12.18/include/node/node.h:287:62: warning: ‘v8::Local<v8::Value> node::Encode(v8::Isolate*, const void*, size_t, node::encoding)’ is deprecated: Use FatalException(isolate, ...) [-Wdeprecated-declarations]
   return Encode(v8::Isolate::GetCurrent(), buf, len, encoding);
                                                              ^
/root/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/root/.node-gyp/0.12.18/include/node/node.h:282:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use Encode(isolate, ...)",
 ^
In file included from ../node_modules/nan/nan.h:47:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node.h:278:34: note: declared here
 NODE_EXTERN v8::Local<v8::Value> Encode(v8::Isolate* isolate,
                                  ^
In file included from /root/.node-gyp/0.12.18/include/node/v8stdint.h:13:0,
                 from /root/.node-gyp/0.12.18/include/node/v8.h:18,
                 from /root/.node-gyp/0.12.18/include/node/node.h:61,
                 from ../node_modules/nan/nan.h:47,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node.h: In function ‘ssize_t node::DecodeBytes(v8::Handle<v8::Value>, node::encoding ’:
/root/.node-gyp/0.12.18/include/node/node.h:298:62: warning: ‘ssize_t node::DecodeBytes(v8::Isolate*, v8::Handle<v8::Value>, node::encoding)’ is deprecated: Use Encode(isolate, ...) [-Wdeprecated-declarations]
   return DecodeBytes(v8::Isolate::GetCurrent(), val, encoding);
                                                              ^
/root/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/root/.node-gyp/0.12.18/include/node/node.h:294:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use DecodeBytes(isolate, ...)",
 ^
In file included from ../node_modules/nan/nan.h:47:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node.h:291:21: note: declared here
 NODE_EXTERN ssize_t DecodeBytes(v8::Isolate* isolate,
                     ^
In file included from /root/.node-gyp/0.12.18/include/node/v8stdint.h:13:0,
                 from /root/.node-gyp/0.12.18/include/node/v8.h:18,
                 from /root/.node-gyp/0.12.18/include/node/node.h:61,
                 from ../node_modules/nan/nan.h:47,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node.h: In function ‘ssize_t node::DecodeWrite(char*, size_t, v8::Handle<v8::Value>, node::encoding)’:
/root/.node-gyp/0.12.18/include/node/node.h:312:75: warning: ‘ssize_t node::DecodeWrite(v8::Isolate*, char*, size_t, v8::Handle<v8::Value>, node::encoding)’ is deprecated: Use DecodeBytes(isolate, ...) [-Wdeprecated-declarations]
   return DecodeWrite(v8::Isolate::GetCurrent(), buf, buflen, val, encoding);
                                                                           ^
/root/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/root/.node-gyp/0.12.18/include/node/node.h:307:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use DecodeWrite(isolate, ...)",
 ^
In file included from ../node_modules/nan/nan.h:47:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node.h:302:21: note: declared here
 NODE_EXTERN ssize_t DecodeWrite(v8::Isolate* isolate,
                     ^
In file included from /root/.node-gyp/0.12.18/include/node/v8stdint.h:13:0,
                 from /root/.node-gyp/0.12.18/include/node/v8.h:18,
                 from /root/.node-gyp/0.12.18/include/node/node.h:61,
                 from ../node_modules/nan/nan.h:47,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node_buffer.h: In function ‘v8::Local<v8::Object> node::Buffer::New(v8::Handle<v8::String>, node::encoding)’:
/root/.node-gyp/0.12.18/include/node/node_buffer.h:58:52: warning: ‘v8::Local<v8::Object> node::Buffer::New(v8::Isolate*, v8::Handle<v8::String>, node::encoding)’ is deprecated: Use New(isolate, ...) [-Wdeprecated-declarations]
   return New(v8::Isolate::GetCurrent(), string, enc);
                                                    ^
/root/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/root/.node-gyp/0.12.18/include/node/node_buffer.h:55:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use New(isolate, ...)",
 ^
In file included from ../node_modules/nan/nan.h:48:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node_buffer.h:52:35: note: declared here
 NODE_EXTERN v8::Local<v8::Object> New(v8::Isolate* isolate,
                                   ^
In file included from /root/.node-gyp/0.12.18/include/node/v8stdint.h:13:0,
                 from /root/.node-gyp/0.12.18/include/node/v8.h:18,
                 from /root/.node-gyp/0.12.18/include/node/node.h:61,
                 from ../node_modules/nan/nan.h:47,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node_buffer.h: In function ‘v8::Local<v8::Object> node::Buffer::New(const char*, size_t)’:
/root/.node-gyp/0.12.18/include/node/node_buffer.h:67:50: warning: ‘v8::Local<v8::Object> node::Buffer::New(v8::Isolate*, const char*, size_t)’ is deprecated: Use New(isolate, ...) [-Wdeprecated-declarations]
   return New(v8::Isolate::GetCurrent(), data, len);
                                                  ^
/root/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/root/.node-gyp/0.12.18/include/node/node_buffer.h:65:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use New(isolate, ...)",
 ^
In file included from ../node_modules/nan/nan.h:48:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node_buffer.h:62:35: note: declared here
 NODE_EXTERN v8::Local<v8::Object> New(v8::Isolate* isolate,
                                   ^
In file included from /root/.node-gyp/0.12.18/include/node/v8stdint.h:13:0,
                 from /root/.node-gyp/0.12.18/include/node/v8.h:18,
                 from /root/.node-gyp/0.12.18/include/node/node.h:61,
                 from ../node_modules/nan/nan.h:47,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node_buffer.h: In function ‘v8::Local<v8::Object> node::Buffer::New(char*, size_t, node::smalloc::FreeCallback, void*)’:
/root/.node-gyp/0.12.18/include/node/node_buffer.h:80:69: warning: ‘v8::Local<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t, node::smalloc::FreeCallback, void*)’ is deprecated: Use New(isolate, ...) [-Wdeprecated-declarations]
   return New(v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                                     ^
/root/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/root/.node-gyp/0.12.18/include/node/node_buffer.h:75:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use New(isolate, ...)",
 ^
In file included from ../node_modules/nan/nan.h:48:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node_buffer.h:70:35: note: declared here
 NODE_EXTERN v8::Local<v8::Object> New(v8::Isolate* isolate,
                                   ^
In file included from /root/.node-gyp/0.12.18/include/node/v8stdint.h:13:0,
                 from /root/.node-gyp/0.12.18/include/node/v8.h:18,
                 from /root/.node-gyp/0.12.18/include/node/node.h:61,
                 from ../node_modules/nan/nan.h:47,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node_buffer.h: In function ‘v8::Local<v8::Object> node::Buffer::Use(char*, uint32_t)’:
/root/.node-gyp/0.12.18/include/node/node_buffer.h:90:50: warning: ‘v8::Local<v8::Object> node::Buffer::Use(v8::Isolate*, char*, uint32_t)’ is deprecated: Use New(isolate, ...) [-Wdeprecated-declarations]
   return Use(v8::Isolate::GetCurrent(), data, len);
                                                  ^
/root/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/root/.node-gyp/0.12.18/include/node/node_buffer.h:88:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use Use(isolate, ...)",
 ^
In file included from ../node_modules/nan/nan.h:48:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node_buffer.h:85:35: note: declared here
 NODE_EXTERN v8::Local<v8::Object> Use(v8::Isolate* isolate,
                                   ^
In file included from ../src/main.cpp:3:0:
../node_modules/nan/nan.h: In function ‘Nan::MaybeLocal<v8::Object> Nan::NewBuffer(char*, size_t, node::smalloc::FreeCallback, void*)’:
../node_modules/nan/nan.h:692:34: warning: ‘v8::Local<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t, node::smalloc::FreeCallback, void*)’ is deprecated: Use New(isolate, ...) [-Wdeprecated-declarations]
                              hint);
                                  ^
In file included from ../node_modules/nan/nan.h:48:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node_buffer.h:70:35: note: declared here
 NODE_EXTERN v8::Local<v8::Object> New(v8::Isolate* isolate,
                                   ^
In file included from ../src/main.cpp:3:0:
../node_modules/nan/nan.h: In function ‘Nan::MaybeLocal<v8::Object> Nan::CopyBuffer(const char*, uint32_t)’:
../node_modules/nan/nan.h:707:67: warning: ‘v8::Local<v8::Object> node::Buffer::New(v8::Isolate*, const char*, size_t)’ is deprecated: Use New(isolate, ...) [-Wdeprecated-declarations]
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                   ^
In file included from ../node_modules/nan/nan.h:48:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node_buffer.h:62:35: note: declared here
 NODE_EXTERN v8::Local<v8::Object> New(v8::Isolate* isolate,
                                   ^
In file included from ../src/main.cpp:3:0:
../node_modules/nan/nan.h: In function ‘Nan::MaybeLocal<v8::Object> Nan::NewBuffer(char*, uint32_t)’:
../node_modules/nan/nan.h:733:67: warning: ‘v8::Local<v8::Object> node::Buffer::Use(v8::Isolate*, char*, uint32_t)’ is deprecated: Use New(isolate, ...) [-Wdeprecated-declarations]
     return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
                                                                   ^
In file included from ../node_modules/nan/nan.h:48:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node_buffer.h:85:35: note: declared here
 NODE_EXTERN v8::Local<v8::Object> Use(v8::Isolate* isolate,
                                   ^
In file included from ../src/main.cpp:3:0:
../node_modules/nan/nan.h: In function ‘void Nan::FatalException(const Nan::TryCatch&)’:
../node_modules/nan/nan.h:868:73: warning: ‘void node::FatalException(v8::Isolate*, const v8::TryCatch&)’ is deprecated: Use ParseEncoding(isolate, ...) [-Wdeprecated-declarations]
     node::FatalException(v8::Isolate::GetCurrent(), try_catch.try_catch_);
                                                                         ^
In file included from ../node_modules/nan/nan.h:47:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node.h:270:18: note: declared here
 NODE_EXTERN void FatalException(v8::Isolate* isolate,
                  ^
In file included from ../src/main.cpp:3:0:
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> Nan::Encode(const void*, size_t, Nan::Encoding)’:
../node_modules/nan/nan.h:1786:44: warning: ‘v8::Local<v8::Value> node::Encode(v8::Isolate*, const void*, size_t, node::encoding)’ is deprecated: Use FatalException(isolate, ...) [-Wdeprecated-declarations]
     , static_cast<node::encoding>(encoding));
                                            ^
In file included from ../node_modules/nan/nan.h:47:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node.h:278:34: note: declared here
 NODE_EXTERN v8::Local<v8::Value> Encode(v8::Isolate* isolate,
                                  ^
In file included from ../src/main.cpp:3:0:
../node_modules/nan/nan.h: In function ‘ssize_t Nan::DecodeBytes(v8::Local<v8::Value>, Nan::Encoding)’:
../node_modules/nan/nan.h:1802:44: warning: ‘ssize_t node::DecodeBytes(v8::Isolate*, v8::Handle<v8::Value>, node::encoding)’ is deprecated: Use Encode(isolate, ...) [-Wdeprecated-declarations]
     , static_cast<node::encoding>(encoding));
                                            ^
In file included from ../node_modules/nan/nan.h:47:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node.h:291:21: note: declared here
 NODE_EXTERN ssize_t DecodeBytes(v8::Isolate* isolate,
                     ^
In file included from ../src/main.cpp:3:0:
../node_modules/nan/nan.h: In function ‘ssize_t Nan::DecodeWrite(char*, size_t, v8::Local<v8::Value>, Nan::Encoding)’:
../node_modules/nan/nan.h:1824:44: warning: ‘ssize_t node::DecodeWrite(v8::Isolate*, char*, size_t, v8::Handle<v8::Value>, node::encoding)’ is deprecated: Use DecodeBytes(isolate, ...) [-Wdeprecated-declarations]
     , static_cast<node::encoding>(encoding));
                                            ^
In file included from ../node_modules/nan/nan.h:47:0,
                 from ../src/main.cpp:3:
/root/.node-gyp/0.12.18/include/node/node.h:302:21: note: declared here
 NODE_EXTERN ssize_t DecodeWrite(v8::Isolate* isolate,
                     ^
  CXX(target) Release/obj.target/diskusage/src/diskusage_posix.o
  SOLINK_MODULE(target) Release/obj.target/diskusage.node
  COPY Release/diskusage.node
make: Leaving directory '/root/node-diskusage/build'
<EMAIL_ADDRESS>node_modules/nan

Build still completes, but a lot of deprecation warnings.

@edgework The latest commit to master has resolved the issue on MacOS with Node v4.4.7 for me. Can you please confirm that you no longer have issues compiling the module?

@edgework I've published v0.2.1 to NPM. Please try this version and let me know if you run into compilation issues.

`$ npm install diskusage
\

<EMAIL_ADDRESS>install /Users/edgework/node_modules/diskusage
node-gyp rebuild

CXX(target) Release/obj.target/diskusage/src/main.o
CXX(target) Release/obj.target/diskusage/src/diskusage_posix.o
SOLINK_MODULE(target) Release/diskusage.node
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9
<EMAIL_ADDRESS>node_modules/diskusage
└──<EMAIL_ADDRESS>`
Looks good!  Thanks.


ctrl+1 and ctrl+2 do not change focus.

VSCode Version: 1.7.1
OS Version: Windows 10

Steps to Reproduce:
On my computer they just don't work. Even with the following key config, ctrl+k j and ctrl+k l do what they're supposed to, but ctrl+1 and ctrl+2 do not.
[
{ "key": "ctrl+k ctrl+j",           "command": "workbench.action.moveActiveEditorGroupLeft" },
{ "key": "ctrl+k ctrl+l",          "command": "workbench.action.moveActiveEditorGroupRight" },
{ "key": "ctrl+1",     "command": "workbench.action.focusPreviousGroup" },
{ "key": "ctrl+2",      "command": "workbench.action.focusNextGroup" },
{ "key": "ctrl+k j",     "command": "workbench.action.focusPreviousGroup" },
{ "key": "ctrl+k l",      "command": "workbench.action.focusNextGroup" }
]

@eedahl I cannot reproduce, can you maybe show screenshots or video how this behaves for you?

I recorded with  Gyazo. As you can see, ctrl+k j and ctrl+k l changes the focus, while ctrl+1 and ctrl+2 do nothing. In fact it doesn't even record it on the lower status bar. It looks like the cursor is moving within a frame while i press them, but that seems to be an artifact of how I used Gyazo.
https://gyazo.com/7b21e1bfd9103529232b3616cf56c27c

Note that I have this exact problem in Atom, except in Atom I don't have to full screen for it to happen. atom --disable-gpu did the exact same thing for Atom.

@eedahl you seem to be switching between a readonly file on the left and an editable file to the right. It is expected that you do not see any feedback in the status bar for pressing Ctrl+1, you only see that when you press a chord (which is 2 keybindings like Ctrl+k j).
Can you try this:

open 2 editable files side by side
put focus into the first file
press Ctrl+2
type something (do you see something typed in editor 2?)
press Ctrl+1
type something (do you see something typed in editor 1?)

Ok, two editable files, I type something, switch, type something and switch.
https://gyazo.com/73eaa639c65155be653ee53c1e79f3ee

@eedahl I am not convinced that the action is actually executed. instead of pressing ctrl+2 can you actually open the command palette (Ctrl+Shift+P) and pick "Focus Next Group"?
I suspect that another command is bound to Ctrl+2 and thus focus is never even triggered.

Ctrl+Shift+P -> Focus Next Group works as expected.
https://gyazo.com/53b7a05298490862a702f034936cbaa2
As you can see, ctrl+1 is bound to exactly one thing in the default settings (that is, focusFirstEditorGroup, which is the one I'd like it to be but for which tells me to use focusPreviousGroup when I bind it to ctrl+k j. Ctrl+1 or ctrl+2 just do not trigger.)

Incidentally, there are no other commands starting with ctrl+1 and ending with something else either.

@eedahl is there something in the developer console when you press these keys? Help > Developer Tools > Console

I cleared the console, went over to the editors and pressed the keys: no messages for either ctrl+1/2 or ctrl+k j/l.

@eedahl can you bind another command to Ctrl+1 to see if it is the command behaving bad or the keybinding?

I rebound ctrl+1 and ctrl+2 to copy and paste, respectively: they don't fire at all.

@eedahl can you attach your keybindings.json file?

It appears ctrl+1 through 3 do not work in either VSCode, Atom, Firefox or Slack, so it is not exclusive to VSCode.
keybindings.json:
// Place your key bindings in this file to overwrite the defaults
[
{ "key": "ctrl+k ctrl+j",           "command": "workbench.action.moveActiveEditorGroupLeft" },
{ "key": "ctrl+k ctrl+l",          "command": "workbench.action.moveActiveEditorGroupRight" },
{ "key": "ctrl+k j",     "command": "workbench.action.focusPreviousGroup" },
{ "key": "ctrl+k l",      "command": "workbench.action.focusNextGroup" },
//Useful default commands recorded here for quick recall.
{ "key": "ctrl+i",                "command": "expandLineSelection",
"when": "editorTextFocus" },
{ "key": "ctrl+u",                "command": "cursorUndo",
"when": "editorTextFocus" },
//{ "key": "ctrl+1",     "command": "workbench.action.focusPreviousGroup" },
//{ "key": "ctrl+2",      "command": "workbench.action.focusNextGroup" },
{ "key": "ctrl+1",     "command": "editor.action.clipboardCopyAction",
"when": "editorTextFocus" },
{ "key": "ctrl+2",     "command": "editor.action.clipboardPasteAction",
"when": "editorTextFocus && !editorReadonly" }
]

@eedahl thanks, it works for me on Windows and Mac, so I am out of ideas.
@alexandrudima maybe this is a chance to let someone see your keybindings wiki? The issue is that the user assigned Ctrl+1 and Ctrl+2 to some commands but those are not being executed.

@eedahl I've just written a wiki that explains in detail how keybindings are handled in VS Code -- https://github.com/Microsoft/vscode/wiki/Troubleshooting-Keybindings
May I ask you to give it a quick read such that we end up talking about the same things.
1. What's your keyboard layout?
2. Do we receive the key combination or is there some other software "stealing" it?
Use the define keybinding widget. What does it show when you press ctrl+1  ?
3. Is this an issue on your machine?
Open https://www.w3.org/2002/09/tests/keys.html in IE and press ctrl+1. Does IE get that keybinding? What is the output (screenshot)?
4. Is this a general Chrome issue?
If IE gets the keybinding, then try Chrome at https://www.w3.org/2002/09/tests/keys.html . What is the output (screenshot)? If Chrome does not get the keybinding, then this is a Chromium issue.
5. Have you used successfully this key combination in other software on your machine?

I use a Norwegian keyboard layout.
https://gyazo.com/0393d86ad6f5c0392d8c08ed83f946f3

It shows ctrl+unknown. It could be snagged by something.

3., 4. You can see here that it only registers keyup events for ctrl+1 and ctrl+2.
https://gyazo.com/9478b713b362bcea823747fb6cd182de
It VSCode, Atom, Firefox, Slack and apparently Windows Explorer 11, so seems system wide.

Until recently, but not anymore. I can't pin down exactly when it happened.

@eedahl Thank you!
Now we know it is not a vscode issue.
I'm sorry I don't really know how you would find out what other software is "stealing" these keybindings, usually such software decides to pop up when invoked.
I suggest to close for now this issue on our side, since this is outside of our control.

Okay, thanks for your help guys!

@alexandrudima @bpasero In case anyone else reports this issue, it seems it was caused by Slack at Windows startup!


kube dns pod in crashloopbackoff on k8s 1.23 with dns provider kube-dns

Rancher Server Setup

Rancher version: v2.6.5
Installation option (Docker install/Helm Chart): Docker install

If Helm Chart, Kubernetes Info: k3s
Cluster Type (RKE1, RKE2, k3s, EKS, etc):
Node Setup: 1 node
Version: v1.23.6+k3s1

Proxy/Cert Details: self-signed

Information about the Cluster

Kubernetes version:
Cluster Type (Local/Downstream): Custom cluster 1 worker + etcd + cp,RKE1

Describe the bug
kube dns workload pod goes into crash loop back off and never comes back up active. This is seen happening only on k8s version v1.23.6 and not on k8s version v1.22.9 on all four network providers - calico, weave, flannel and canal
To Reproduce

Create a downstream custom cluster with 1 node all roles
While creating the cluster, go to edit as yaml >> provide the following details:

  dns:
    linear_autoscaler_params: {}
    node_selector: null
    nodelocal:
      ip_address: <redacted>
      node_selector: null
      update_strategy: {}
    options: null
    provider: kube-dns

Add the single node by running the registration command from the cluster
Cluster goes into active state
Go to explorer >> workload pods >> Verify the kubedns pod

Result
kube dns pod goes into crash loop backoff with the errors and never comes backup active:
2022/06/02 16:01:32 [INFO] Starting node-cache image: 1.21.1
--
Thu, Jun 2 2022 9:01:32 am | flag provided but not defined: -domain
Thu, Jun 2 2022 9:01:32 am | Usage of /node-cache:
Thu, Jun 2 2022 9:01:32 am | Runs CoreDNS v1.7.0 as a nodelocal cache listening on the specified ip:port

Expected Result
Expected the kube dns deployment to come up active with no errors.
Additional context
kube-dns image version rancher/mirrored-k8s-dns-node-cache:1.21.1

We need to reproduce the issue and figure out what is changed in the new node-cache image.
Also, it looks like the error is caused by the undefined flag domain, not the values that we passed in the cluster YAML.

https://github.com/rancher/rancher/issues/37911 is most likely a root cause of it.
Let's just fix the DNS image for 1.23.7 version introduced in May 2022 patches. @samkulkarni20 @doflamingo721

Ready to be tested on rancher:2022-05-k8s-patches-v2.6 KDM branch.
The root cause of the issue is that somehow incorrect image (mirrored-k8s-dns-node-cache) was referenced for kubedns and was changed to mirrored-k8s-dns-kube-dns. This has been fixed and this issue should be addressed now.

Validated on rancher v2.6-head(1c1b5c8), KDM pointing to 2022-05-k8s-patches-v2.6
Steps followed:

Provisioned single node, custom clusters with all network providers using k8s version v1.23.7-rancher1-1
Once the cluster was in active, validated the kube-dns pods by going to explorer >> workload pods >> kube-dns pod

Result:

kube-dns pod was up and running with image set to : rancher/mirrored-k8s-dns-kube-dns:1.21.1


HTTPSession issue

Hello,
I have write the very simple servlet bellow :
@WebServlet(name = "index", value = "")
public class IndexServlet extends HttpServlet {
	@Override
	public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
		final PrintWriter out = resp.getWriter();
		HttpSession session= req.getSession(true);
		out.println("Session id : " + session.getId());
		out.println("Session new : " + session.isNew());
		AtomicInteger ato=(AtomicInteger) session.getAttribute("ATO");
		if(ato==null){
			out.println("ato null");
			ato= new AtomicInteger();
		}else{
			out.println("ato before " + ato.get());
		}
		ato.incrementAndGet();
		session.setAttribute("ATO", ato);
		out.println("ato after " + ((AtomicInteger) session.getAttribute("ATO")).get());
	}
}

The servet create a new session if not exist and put an incremental integer.
The servlet is deployed into flexible environmment (2 instances) :
# [START runtime]
runtime: java
env: flex

handlers:
- url: /.*
  script: this field is required, but ignored
manual_scaling:
  instances: 2
# [END runtime]

When I browse my servlet, and I refresh the page,  I can see that the session id change :
Session id node05amknapl2nae1w36p9h06jc4413
Session new true
Session id node0k5vvl8mqww941bw2mmrsinaun7
Session new true
I understand it is because nginx sticky session future is not configured.
What can I do to share HttpSession between my 2 instances ?
Thanks

Hi @jflefebvre06,
Since there's currently no sticky sessions in App Engine Flexible, sessions would need to be persisted using a storage mechanism that's visible to all instances running your application. We are currently working on supporting that feature out-of-the-box in the jetty runtime using Google Cloud Datastore - see #41 for more detail. Unfortunately, until that time, you would need to manually handle session persistence.
@meltsufin or @janbartel may have more info.

Hi @aslo
I have try to use "session-store-gcloud" but it is not seems to work very well.
My dockerfile :
FROM gcr.io/google-appengine/jetty
ADD test-0.0.1-SNAPSHOT.war $JETTY_BASE/webapps/root.war
WORKDIR $JETTY_BASE
RUN java -jar $JETTY_HOME/start.jar --approve-all-licenses --add-to-start=slf4j-jul,session-store-gcloud

My app.yaml :
# [START runtime]
runtime: custom
env: flex

service: test

handlers:
- url: /.*
  script: this field is required, but ignored

resources:
  cpu: 1
  memory_gb: 0.6

health_check:
  enable_health_check: False

manual_scaling:
  instances: 2

# [END runtime]

Anything else to do ?

@jflefebvre06 I've deployed a simple test app using your app.yaml and Dockerfile and it seems to be working fine so far, but I need to test with a few more instances. While I get that underway, can you be more specific about what is not working?
@aslo can you confirm that the environment variable GAE_MODULE_INSTANCE is being set in the flex environment?  Jetty uses this to determine a unique name for each server/session id manager instance. If this is not unique then I can image there would be problems, and this is perhaps what @jflefebvre06 is experiencing, although will need a description from him of the exact problem to confirm.

Hi @janbartel
Could you please use my servlet :
@WebServlet(name = "index", value = "")
public class IndexServlet extends HttpServlet {
	@Override
	public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
		final PrintWriter out = resp.getWriter();
		HttpSession session= req.getSession(true);
		out.println("Session id : " + session.getId());
		out.println("Session new : " + session.isNew());
		AtomicInteger ato=(AtomicInteger) session.getAttribute("ATO");
		if(ato==null){
			out.println("ato null");
			ato= new AtomicInteger();
		}else{
			out.println("ato before " + ato.get());
		}
		ato.incrementAndGet();
		session.setAttribute("ATO", ato);
		out.println("ato after " + ((AtomicInteger) session.getAttribute("ATO")).get());
	}
}

If you refresh your browser  (simple F5) multiple times, you will see that gap of "ato" is not 1

@jflefebvre06 ok I see what the problem is now. This is caused by the fact that by default jetty will use an in-memory session cache. This is exactly what you want when there is a sticky load balancer, but when there's not, it will cause problems.
Try modifying your docker file to insert "session-cache-null" before "session-store-gcloud" in your RUN line.

@janbartel il seems to work very well, thanks a lot !!!!
On the datastore web page (google cloud console) I can see my session but it is no indexes, is it normal ?

@jflefebvre06 I believe gcloud datastore will do some automatic indexing.  Indexing cannot be done programmatically last time I checked. Jetty does provide an index file that you can manually upload using the gcloud SDK. I'll attach it here. If you use this composite index, the session stuff will be a bit faster, but also works without it, just less efficiently.
index.yaml.gz

OK thanks a lot

Hi @janbartel
After any tests, the only cases  I found which don't work are :
synchronized (request.getSession().getId().intern()) {
    // UPDATE collections stored in session
}

Is is due to sticky sessions is not available.
@janbartel , @aslo , any idea resolve that cases ?

@jflefebvre06 the http session api isn't transactional, and isn't ideal for data that is often modified, particularly so in clustered situations. So I would suggest you don't store data that you often modify in a session. Instead just use the session id as the key in some clustered storage mechanism that supports transactionality. Have a look at using gcloud datastore directly in your code, as I think it supports transactions.

@janbartel in my final code, I have not this case. I have juste wrote it for test.
My problem is that many frameworks use this patterns like Struts, Spring, ...

@jflefebvre06 can you describe in more detail the tests that are failing for you and how they are failing?
Is the modified collection set again as a session attribute after the modification, ie is there any indication to the session that it is dirty and needs to be written again?   I think you will find that most frameworks that do modify such collections probably also set some other attribute on the session to mark it as dirty.

The dependent issue #41 was closed in Jul 5, 2017, can this be closed?


[WIP] Added code to support storing min max for string columns based on number of characters

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/296/

Build Failed  with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/8541/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/471/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/298/

Build Failed  with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/8543/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/473/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/302/

Build Success with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/8547/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/477/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/311/

Build Failed  with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/8557/

@ravipesala ..Fixed review comments. Kindly review

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/317/

Build Failed  with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/8563/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/493/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/496/

Build Failed  with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/8566/

@xuchuanyin ...please check my reply on the mailing list
http://apache-carbondata-dev-mailing-list-archive.1130556.n5.nabble.com/DISCUSSION-Optimizing-the-writing-of-min-max-for-a-column-td62515.html

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/323/

Build Failed  with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/8569/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/499/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/327/

Build Success with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/8573/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/503/

LGTM


Backport: Fix a potential data race on a global variable

Re-apply the same fix as https://github.com/Shopify/sarama/pull/2171 on v1.30.1

@pior I'm not sure I understand? you've branched from the v1.30.1 tag and added the version.go fix that was previously merged to main — I guess this branch is for your own usage?
I'm not sure what the pull request is intended for though — were you hoping that we would make a 1.30.2 based on your branch?

@pior I'm not sure I understand? you've branched from the v1.30.1 tag and added the version.go fix that was previously merged to main — I guess this branch is for your own usage?
I'm not sure what the pull request is intended for though — were you hoping that we would make a 1.30.2 based on your branch?


Release new version to PyPi

Django 1.11 has been released.
It would be great if recent version of django-two-factor-auth would be released on PyPi

Support for Django 1.11 is not yet complete. See also: https://travis-ci.org/Bouke/django-two-factor-auth/jobs/218811641.

Ah it seems the tests on travis/tox have not been setup correctly.

I've resolved the test failures, but cannot upload the distribution because of missing trove classifiers on pypi: https://github.com/pypa/pypi-legacy/issues/624.

Classifiers are up now :smile: https://github.com/pypa/pypi-legacy/issues/624

New version's uploaded!


[WIP] Few mn list sync changes

Changes:

add more mn states
only remove spent
send mn ping in addition to mn announce on sync
manage mn announces more carefully

This also adjusts active mn auto-start logic accordingly.

Missed one piece.
-        bool fWatchdogActive = mnodeman.IsWatchdogActive();
+        bool fWatchdogActive = masternodeSync.IsSynced() && mnodeman.IsWatchdogActive();

Also, note that since currently nodes do not send pings on sync you can't really test this (unless you connect to you own upgraded node) and starting with old mncache.dat will probably make nodes look expired. And when you are removing mncache.dat make sure to remove governance.dat too.

I have been trying to test this but right now I am having problems getting a single node synced.
There seems to be a lot of forking/network fragmentation at the moment.

This does not appear to fix the problem of masternodes not propagating.
I ran this patch on 2 nodes with the second node having only a single connection to the first node and clearing mncache.dat, mnpayments.dat and governance.dat.
One masternode did not propagate to the second node.
The error message was:
2016-12-23 01:19:12     dash-msghand | MNANNOUNCE -- Masternode announce, masternode=06069e73139bbcfabb9371c8683190566988bf019deaeb090413f2bee0786613-1
2016-12-23 01:19:12     dash-msghand | CMasternodeMan::CheckMnbAndUpdateMasternodeList -- masternode=06069e73139bbcfabb9371c8683190566988bf019deaeb090413f2bee0786613-1
2016-12-23 01:19:12     dash-msghand | CMasternodeMan::CheckMnbAndUpdateMasternodeList -- masternode=06069e73139bbcfabb9371c8683190566988bf019deaeb090413f2bee0786613-1 new
2016-12-23 01:19:12     dash-msghand | CMasternodePing::SimpleCheck -- Masternode ping is invalid, unknown block hash: masternode=06069e73139bbcfabb9371c8683190566988bf019deaeb090413f2bee0786613-1 blockHash=000000855014ce3ce58dcd3e0d18fdf715cb09c14cc5ea0ed62cad89ed3a4c4d
2016-12-23 01:19:12     dash-msghand | CMasternodeMan::CheckMnbAndUpdateMasternodeList -- SimpleCheck() failed, masternode=06069e73139bbcfabb9371c8683190566988bf019deaeb090413f2bee0786613-1
The cases I have seen of failed MN propagation are due to CMasternodePing::SimpleCheck() failing.
I think this function should not be run when adding masternodes from broadcasts (ie. these lines:
https://github.com/dashpay/dash/blob/v0.12.1.x/src/masternode.cpp#L492
should be removed).

What is the difference in behavior between MASTERNODE_EXPIRED and MASTERNODE_NEW_START_REQUIRED ?

2016-12-23 01:19:12 dash-msghand | CMasternodePing::SimpleCheck -- Masternode ping is invalid, unknown block hash: masternode=06069e73139bbcfabb9371c8683190566988bf019deaeb090413f2bee0786613-1 blockHash=000000855014ce3ce58dcd3e0d18fdf715cb09c14cc5ea0ed62cad89ed3a4c4d

This is fine, there is no such blockhash on testnet https://test.explorer.dash.org/search?q=000000855014ce3ce58dcd3e0d18fdf715cb09c14cc5ea0ed62cad89ed3a4c4d so ping is actually invalid

What is the difference in behavior between MASTERNODE_EXPIRED and MASTERNODE_NEW_START_REQUIRED ?

The logic now is that you can recover from any other expired state but not from MASTERNODE_NEW_START_REQUIRED (which is set to 3h).

It's not fine because it allows a discrepancy to exist between MN lists on different nodes which can lead to forks.  Just because some node is on the wrong chain doesn't prevent it from creating governance objects.

Just because some node is on the wrong chain doesn't prevent it from creating governance objects.

Then we probably should not accept governance objects from forked masternodes. Why would we need smth from a forked mn?

What if it creates an object or a vote before forking ?

I guess that without proper ping it should expire/require new start -> this should invalidate gov object/votes created by such mn -> some another mn/sentinel should figure it out and create a new one if needed. Smth like this?

As we've discussed before validity of governance objects shouldn't depend on MN state.  As long as the collateral transaction is still valid objects should remain valid.

If the ping is invalid the mn can be put in the expired state, but it should not be prevented from being added to the list.

ok, makes sense, will update this part

Retesting now.

Thanks for testing! 👍
I added compatibility for old nodes (same logic for fWaitForPing as it was before this PR, <70204 nodes only), see f6411e2. This shouldn't affect testnet but should help to avoid confusion on mainnet (otherwise new wallet would see old legit nodes as MASTERNODE_NEW_START_REQUIRED, which is no good imo).


Decode more ISS values

This adds Pointer Authentication failure, floating-point exceptions, SError interrupts and various debug exceptions.

Codecov Report

Merging #9 (a9b5566) into main (ab73dd8) will decrease coverage by 4.56%.
The diff coverage is 2.45%.

@@            Coverage Diff             @@
##             main       #9      +/-   ##
==========================================
- Coverage   58.77%   54.20%   -4.57%
==========================================
  Files          13       17       +4
  Lines        1812     1961     +149
==========================================
- Hits         1065     1063       -2
- Misses        747      898     +151

Impacted Files
Coverage Δ

src/breakpoint.rs
0.00% <0.00%> (ø)

src/fp.rs
0.00% <0.00%> (ø)

src/pauth.rs
0.00% <0.00%> (ø)

src/serror.rs
0.00% <0.00%> (ø)

src/lib.rs
52.78% <29.41%> (+3.34%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ab73dd8...a9b5566. Read the comment docs.


feat: do not create accessory when device is not supported

:tada: This PR is included in version 1.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Updating to latest automation-client breaks integration tests

Upgrading to the latest automation-client breaks the Spring and Kotlin integrations tests. Locally I was able to fix the Spring one but I wasn't sure how to fix the Kotlin one, the target never appears to be set.
2018-05-18T13:40:12.760Z [m:73596] [info ]   1) Kotlin Spring5 generator integration test edits, verifies and compiles:
     TypeError: Cannot read property 'owner' of undefined
      at handle (node_modules/@atomist/automation-client/operations/generate/generatorToCommand.js:52:95)
      at FunctionWrappingCommandHandler.h (node_modules/@atomist/automation-client/operations/generate/generatorToCommand.js:48:16)
      at FunctionWrappingCommandHandler.handle (node_modules/@atomist/automation-client/onCommand.js:52:21)
      at generate (test/commands/generator/kotlin/KotlinSpring5IntegrationTest.ts:82:18)
      at Object.<anonymous> (test/commands/generator/kotlin/KotlinSpring5IntegrationTest.ts:59:33)
      at Generator.next (<anonymous>)
      at test/commands/generator/kotlin/KotlinSpring5IntegrationTest.ts:47:71
      at new WrappedPromise (node_modules/async-listener/es6-wrapped-promise.js:13:18)
      at __awaiter (test/commands/generator/kotlin/KotlinSpring5IntegrationTest.ts:27:12)
      at Context.it (test/commands/generator/kotlin/KotlinSpring5IntegrationTest.ts:58:46)

2018-05-18T13:40:12.760Z [m:73596] [info ]   2) spring generator integration test edits, verifies and compiles:
     TypeError: Cannot set property 'owner' of undefined
      at generate (test/commands/generator/spring/generatorIntegrationTest.ts:78:37)
      at Object.<anonymous> (test/commands/generator/spring/generatorIntegrationTest.ts:69:33)
      at Generator.next (<anonymous>)
      at test/commands/generator/spring/generatorIntegrationTest.ts:47:71
      at new WrappedPromise (node_modules/async-listener/es6-wrapped-promise.js:13:18)
      at __awaiter (test/commands/generator/spring/generatorIntegrationTest.ts:27:12)
      at Context.it (test/commands/generator/spring/generatorIntegrationTest.ts:60:46)

Merged in #41


[Mangling/ABI] NFC: Update ABI/Mangling.rst to reflect parameter label changes

@swift-ci please smoke test and merge

@swift-ci please clean smoke test and merge

Ok, it's pointless to run tests right now since everything reports "error: unexpected warning produced: argument unused during compilation: '-mmacosx-version-min=10.9.0'" :(

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge


Fill in the descriptions please.

          Fill in the descriptions please.

Originally posted by @MUzairS15 in https://github.com/meshery/meshery/pull/10244#pullrequestreview-1878824473

// @RipulHandoo

// @RipulHandoo

@MUzairS15 PTAL.

// @RipulHandoo

@MUzairS15 PTAL.

Good attempt, but it misses the point, @RipulHandoo

// @RipulHandoo

@MUzairS15 PTAL.

Good attempt, but it misses the point, @RipulHandoo

Gotcha. I'll update the PR soon.


[fix] Handle SpineInterface() failure

In the existing version, if SpineInterface() fails, the child process gets orphaned. This PR moves the constructor inside the try block to allow exception handling and process interruption.

LGTM!
Feel free to update the changelog as well when you do a PR. No worries if you don't (I will likely remember to do it after merging); it's a bit of double-bookkeeping but comes in handy when we release later on. (For now I'm in favour of handwritten release notes and changelogs.)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 53.556%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
128

Relevant Lines:
239

💛  - Coveralls


VirtualList component refactoring

This PR cleans up VirtualList component, it's types and child Row component. Also provides more simple implementation of getTableRow method across different places.
Now item parameter passing from VirtualList directly to getTableRow which allows to avoid unnecessary find or findIndex searching for every table row.
Signed-off-by: Alex Andreev<EMAIL_ADDRESS>

@panuhorsmalahti @ixrock Made more generic changes to Table and VirtualList components, please re-review this time.

Closing this in favor of separating Table and VirtualTable components in other PR.


Rate limit exceeded

When I tried logging in to connect a new account to TweetDeck, I only saw 'Rate limit exceeded' and the window no longer worked.

https://github.com/dimdenGD/OldTweetDeck/issues/259#issuecomment-2281786253


Update based on ownership spreadsheet

@bot-gradle test and merge

I've triggered a build for you. Click here to see all failures if there's any.


Non-english support in documents naming

Hi guys! Yours Wiki application not support non-english (cyrillic) document naming — routes generate with twice slash //

Hi @ruslankonev, yes... but this will work with cyrillic:
https://blog.totaljs.com/blogs/tutorials/20170711-solving-problems-with-utf8-chars-in-slug-method/

Thanks Peter!


[B13] Duplicate celestial notes in theorycrafting

Environment:
Beta 13, no other mods installed.
Steps to reproduce:

Perform theorycrafting until a card requesting two celestial notes of the same type shows up
Have only one celestial note of the required type in your inventory
Click on the card

Expected result:
The theorycraft should not succeed.
Actual result:
The theorycraft succeeds, and only consumes one of the note.

Bug


Update Domains page with ability to add/remove "organization" domains, view "administrator" domains set via security settings, and improve various UX bugs and copy

Addresses a number of issues:

closes PROD-1419, i.e. addresses bug identified in this comment. for tracking purposes, this limitation had been called out in original PR description, but we hadn't done due diligence to ensure that the limitation was acceptable -- turns out, it wasn't!
closes PROD-1404 by updating copy, navigation, and various labels/messages to "Domains"
closes PROD-1468 by improving the FE validation tests and descriptive error message

Description Of Changes
BE updates (@adamsachs)
in previous uses of the config proxy, we haven't had a requirement to merge (or reconcile) both API-set and config-set (i.e. via .toml or env var) values for a given app config property. the requirement here, i.e. to overcome the limitation mentioned above, requires this type of resolution.
rather than try to special-case the logic too heavily on the security.cors_origins config property and its uses, i've built what i hope is a relatively generic mechanism for config resolution into the underlying config proxy. in order to leverage the merge functionality, though, a developer must specifically annotate  a given config proxy property as a merge_property with a class decorator. this is probably a bit easier to see in action, in the code diff, than it is to explain in words 😅
FE updates (@NevilleS)

This PR overhauls the "CORS Configuration" page and rebrands it as "Domains" with a number of improvements:

updated to use the improved config API (see above!) to get/set CORS origins from the UI that are merged into any config-set values on the server
query the config API to retrieve any config-set values (both security.cors_origins and security.cors_origin_regex) and display them as read-only values in the UI
improve the FE validations to catch common gotchas for origins: require HTTP(s) URLs, don't allow wildcards, don't allow paths
update the copy to be a bit friendlier, with some tooltips for more details
add Cypress E2E tests to ensure the FE behaviour is tested

Code Changes
BE updates

[x] provide generic merge_values behavior for the config proxy's property resolution, for merge_properties that are specifically annotated to have their values merged

[x] only Iterable property values can be merged. it'd be presumptuous to try and merge non-iterable elements in a generic way, so better not pretend or intend to support it at all!

[x] apply the merge_values logic to the security.cors_origins config property by specifying it in the merge_properties of the SecuritySettingsProxy constructor

FE updates

[x] Update nav-config and tests with revised labels for Domain pages
[x] Update Redux reducers to fetch both api_set=true and api_set=false config for CORS security settings
[x] Add additional Yum validations for isValidURL, containsNoWildcard, containsNoPath and use in form
[x] Render the BE "config-set" values for security.cors_origins and security.cors_origin_regex as read-only input fields on the Domains page
[x] Add Cypress tests to cover basic view/edit/remove/validate cases

Steps to Confirm

[x] i was able to adjust automated unit and "integration" tests to provide good coverage here
[x] i tested locally with the test setup that's in the original PR's loom, and ensured that the limitation is no longer present:
https://www.loom.com/share/ee68c8f83df1445dac0d7578532ffd38
[X] Test that config-set domains are allowlisted for CORS (e.g. http://localhost)
[X] Test adding a new, valid domain (https://example.com) and confirm CORS is allowed
[X] Test removing a valid domain (https://example.com) and confirm CORS is blocked
[X] Test the various FE validations for consistency

Pre-Merge Checklist

[x] All CI Pipelines Succeeded
Documentation:

[ ] documentation complete, PR opened in fidesdocs
[ ] documentation issue created in fidesdocs

[X] Issue Requirements are Met
[X] Relevant Follow-Up Issues Created
[x] Update CHANGELOG.md
[X] For API changes, the Postman collection has been updated

Added an empty state:


Code Coverage

Look into a good code coverage tool. Possibly Istanbul ?

This issue could be closed after merging #84


VS Code on Mac Book Air M2

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: Silicone
OS Version: 12.6 procesor M2

Steps to Reproduce:

/needsMoreInfo

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Specify supported rector version

I think I need to specify the supported rector version as require else it could make problems in the future. Via "prefer-stable": true, I still make sure tests are run against dev version of rector via "minimum-stability": "dev" without prefer stable.

@TomasVotruba Thank you :)


Threshold not working

Hi,
I was reading the official documentation to understand how Intersection observer work:
https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#Intersection_observer_options
But while making some tests to fine tune, I've notice that changing threshold to any value doesn't delay the callback at all.
For exemple, the callback should wait until all pixel are in view if the threshold is set to 1 but that's not the case.
Am I the only one with this problem?
Cheers

@ApoorvSaxena can you confirm this bug?

@jimblue can you share a codepen sample for failing case?

@ApoorvSaxena nothing special, even with the most basic setup, threshold doesn't work as expected.
In the following pen exemple the threshold is set to 1.
The callback should wait until all pixel are in view but that's not the case.
https://codepen.io/jimblue/pen/jaVNjP

@ApoorvSaxena can you confirm this bug?

@jimblue this is surely not a bug, instead if you look closely, your image elements don't have a default size when the image is not loaded, and thus are completely visible in the viewport, after they load via lozad, you are able to see them placed out of the viewport.
See this codepen for reference https://codepen.io/ApoorvSaxena/pen/oGgxJr

@ApoorvSaxena, to be sure I've took you pen to test threshold this time and it's still not working as it suppose to...
You should have a look to the definition of threshold from mozilla.org:

threshold
Either a single number or an array of numbers which indicate at what percentage of the target's visibility the observer's callback should be executed. If you only want to detect when visibility passes the 50% mark, you can use a value of 0.5. If you want the callback run every time visibility passes another 25%, you would specify the array [0, 0.25, 0.5, 0.75, 1]. The default is 0 (meaning as soon as even one pixel is visible, the callback will be run). A value of 1.0 means that the threshold isn't considered passed until every pixel is visible.

In your pen I've only modified the threshold that is now set to 1.
In this new pen the callback should wait until all pixel are in view but that's still not the case. You can check by yourself.
https://codepen.io/jimblue/pen/jaVNjP
Do you confirm?

@jimblue again in the above codepen you have set threshold on the img element which has no height initially, and gets rendered asap. You can check out the correct implementation in this example

@ApoorvSaxena thank you so much for the explanation. 😄
Indeed with default image size provide it's working well:
https://codepen.io/jimblue/pen/jamzdN