Skip to content

ESP12-E : Panic from umm_malloc ( Inconsistent between similar ESPs ) #1699

Closed
@uncletammy

Description

@uncletammy

Basic Infos

I have two ESP12E modules. One came mounted to a NodeMCU breakout board.
https://drive.google.com/file/d/0BwFbwCQ9LBckUTdSR2RmdEVtMkE/view?usp=sharing

The other is a generic board that I have wired myself (see pics for wiring)
https://drive.google.com/file/d/0BwFbwCQ9LBckMTk4MWVVSUtGYTA/view?usp=sharing
https://drive.google.com/file/d/0BwFbwCQ9LBckdWhMUVRGNl9UMUk/view?usp=sharing

I am able to upload sketeches to both of them using the Arduino IDE (version 1.6.8 with version 2.1.0 of Arduino core for ESP8266).

Both boards produce identical output from the CheckFlashConfig sketch. They behave the same until I try to use a sketch that connects to Wifi. Then, the NodeMCU board works but the generic board panics. Sketches that don't connect to Wifi work fine on both. My operating system is Debian (Jessie).

This is being continued from #1675 at the request of @Links2004

Hardware

Hardware: ESP12E
Core Version: 2.1.0 ( I don't know which revision)

Settings in IDE

Module: Generic ESP8266 Module
Flash Size: 4MB w/ 1MB SPIFFS (tried all 4MB settings)
CPU Frequency: 80Mhz (tried 40Mhz also)
Flash Mode: qio
Flash Frequency: 80Mhz (tried 40Mhz also)
Upload Using: SERIAL
Reset Method: ck

Sketch

This is the original CheckFlashConfig script modified to connect to my local wireless network.

/* 
 ESP8266 CheckFlashConfig by Markus Sattler

 This sketch tests if the EEPROM settings of the IDE match to the Hardware

 */

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <Hash.h>

ESP8266WiFiMulti WiFiMulti;

void setup(void) {
    Serial.begin(115200);
    Serial.setDebugOutput(true);

    uint32_t realSize = ESP.getFlashChipRealSize();
    uint32_t ideSize = ESP.getFlashChipSize();
    FlashMode_t ideMode = ESP.getFlashChipMode();

    Serial.printf("Flash real id:   %08X\n", ESP.getFlashChipId());
    Serial.printf("Flash real size: %u\n\n", realSize);

    Serial.printf("Flash ide  size: %u\n", ideSize);
    Serial.printf("Flash ide speed: %u\n", ESP.getFlashChipSpeed());
    Serial.printf("Flash ide mode:  %s\n", (ideMode == FM_QIO ? "QIO" : ideMode == FM_QOUT ? "QOUT" : ideMode == FM_DIO ? "DIO" : ideMode == FM_DOUT ? "DOUT" : "UNKNOWN"));

    if(ideSize != realSize) {
        Serial.println("Flash Chip configuration wrong!\n");
    } else {
        Serial.println("Flash Chip configuration ok.\n");
    }


    for(uint8_t t = 4; t > 0; t--) {
        delay(1000);
    }

    Serial.println("Joining network");

    WiFiMulti.addAP("myNetworkName", "hackon!!");

    while(WiFiMulti.run() != WL_CONNECTED) {
        delay(100);
    }

    Serial.println("Connected using IP:");
    Serial.println(WiFi.localIP());

    Serial.println("And MAC address:");
    Serial.println(WiFi.macAddress());

}

void loop() {

    Serial.println("...still connected!\n");
    delay(5000);

}

Debug Messages

From NodeMCU board
    tail 0
    chksum 0x42
    csum 0x42
    Flash real id:   001640E0
    Flash real size: 4194304

    Flash ide  size: 4194304
    Flash ide speed: 40000000
    Flash ide mode:  DIO
    Flash Chip configuration ok.

    Joining network
    Connected using IP:
    10.100.20.136
    And MAC address:
    5C:CF:7F:0B:70:E0
    ...still connected!

    ...still connected!

    ...still connected!
From generic board
    Flash real id:   001640E0
    Flash real size: 4194304

    Flash ide  size: 4194304
    Flash ide speed: 40000000
    Flash ide mode:  QIO
    Flash Chip configuration ok.

    Joining network
    [WIFI][APlistAdd] add SSID: myNetworkName
    [WIFI] delete old wifi config...
    there is no poison after the block. Expected poison address: 0x3fff0ff8, actual data: 0x0 0xef 0xef 0xfe

    Panic /home/tink/arduino-nightly/hardware/esp8266com/esp8266/cores/esp8266/umm_malloc/umm_malloc.c:851 check_poison_block

    ctx: cont 
    sp: 3fff0090 end: 3fff04d0 offset: 01b0

    >>>stack>>>

Stack

See image for decoded stack

screenshot from 2016-02-28 16 10 43

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions