Accessing website crashes board with >3 virtualWrite's

If I uncomment one more of the virtualWrite lines below, my board will crash when I try to access the asynchronous webserver.

// Publish data to Cayenne
Cayenne.virtualWrite(0, uptime_char);
Cayenne.fahrenheitWrite(t1, tempF[temp1]);
Cayenne.fahrenheitWrite(t2, tempF[temp2]);
Cayenne.fahrenheitWrite(t3, tempF[temp3]);
Cayenne.fahrenheitWrite(t4, tempF[temp4]);
Cayenne.fahrenheitWrite(t5, tempF[temp5]);
Cayenne.virtualWrite(RELAYPIN1, newDigIO[iPump], "digital_actuator", "d");
Cayenne.virtualWrite(RELAYPIN2, newDigIO[iThermEm], "digital_actuator", "d");
Cayenne.virtualWrite(RELAYPIN3, newDigIO[iBoiler], "digital_actuator", "d");
// Cayenne.virtualWrite(RELAYPIN4, newDigIO[iAlarmOut], "digital_actuator", "d");
// Cayenne.virtualWrite(SwitchPin, statAlarm);

Typical crash dump:

Exception 9: LoadStoreAlignmentCause: Load or store to an unaligned address PC: 0x40105340 EXCVADDR: 0x00000003 Decoding stack results 0x4020f740: __delay(unsigned long) at /Users/iskoch01/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.1/cores/esp8266/ core_esp8266_wiring.cpp line 49 0x402076fb: ClientContext::_write_from_source(DataSource)* at /Users/iskoch01/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.1/libraries/ESP8266WiFi/src/include/ ClientContext.h line 465 0x40207789: WiFiClient::write(unsigned char const, unsigned int)* at /Users/iskoch01/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.1/libraries/ESP8266WiFi/src/include/ ClientContext.h line 364 0x4020cb9c: arduino_write(Network, unsigned char, int, int)** at /Users/iskoch01/Documents/Arduino/libraries/CayenneMQTT/src/Platform/Arduino/ MQTTArduino.cpp line 95 0x40201423: sendPacket at /Users/iskoch01/Documents/Arduino/libraries/CayenneMQTT/src/CayenneMQTTClient/ MQTTClient.c line 38 0x4020cb58: arduino_write(Network, unsigned char, int, int)** at /Users/iskoch01/Documents/Arduino/libraries/CayenneMQTT/src/Platform/Arduino/ MQTTArduino.cpp line 84 0x40201a98: MQTTPublish at /Users/iskoch01/Documents/Arduino/libraries/CayenneMQTT/src/CayenneMQTTClient/ MQTTClient.c line 618 0x40201254: CayenneMQTTPublishDataArray at /Users/iskoch01/Documents/Arduino/libraries/CayenneMQTT/src/CayenneMQTTClient/ CayenneMQTTClient.c line 288 0x402030a8: CayenneArduinoMQTTClient::publishData(CayenneTopic, unsigned int, CayenneValuePair const, unsigned int, char const)** at /Users/iskoch01/Documents/Arduino/libraries/CayenneMQTT/src/ CayenneArduinoMQTTClient.h line 367 0x40204408: CayenneArduinoMQTTClient::virtualWrite(unsigned int, bool const&, char const, char const)** at /Users/iskoch01/Documents/Arduino/libraries/CayenneMQTT/src/ CayenneArduinoMQTTClient.h line 152 0x4020c764: PubSubClient::publish(char const, unsigned char const, unsigned int, bool)** at /Users/iskoch01/Documents/Arduino/libraries/pubsubclient/src/ PubSubClient.cpp line 397 0x402030a8: CayenneArduinoMQTTClient::publishData(CayenneTopic, unsigned int, CayenneValuePair const, unsigned int, char const)** at /Users/iskoch01/Documents/Arduino/libraries/CayenneMQTT/src/ CayenneArduinoMQTTClient.h line 367 0x402052c6: pub() at /Users/iskoch01/Documents/Arduino/boiler/ boiler.ino line 763 0x401002de: millis() at /Users/iskoch01/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.1/cores/esp8266/ core_esp8266_wiring.cpp line 188 0x40210e75: uart_write(uart_t, char const, size_t)** at /Users/iskoch01/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.1/cores/esp8266/ uart.cpp line 509 0x40210e75: uart_write(uart_t, char const, size_t)** at /Users/iskoch01/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.1/cores/esp8266/ uart.cpp line 509 0x4020d308: HardwareSerial::write(unsigned char const, unsigned int)* at /Users/iskoch01/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.1/cores/esp8266/ HardwareSerial.h line 159 0x4020d314: HardwareSerial::write(unsigned char const, unsigned int)* at /Users/iskoch01/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.1/cores/esp8266/ HardwareSerial.h line 160 0x4020d308: HardwareSerial::write(unsigned char const, unsigned int)* at /Users/iskoch01/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.1/cores/esp8266/ HardwareSerial.h line 159 0x4020d6b4: Print::println() at /Users/iskoch01/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.1/cores/esp8266/ Print.cpp line 178 0x402054fb: relayCtl(int, bool) at /Users/iskoch01/Documents/Arduino/boiler/ boiler.ino line 818 0x4020d63d: Print::write(char const)* at /Users/iskoch01/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.1/cores/esp8266/ Print.h line 60 0x4020d6b4: Print::println() at /Users/iskoch01/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.1/cores/esp8266/ Print.cpp line 178 0x4020597d: gettemperature() at /Users/iskoch01/Documents/Arduino/boiler/ boiler.ino line 966 0x4020de40: String::~String() at /Users/iskoch01/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.1/cores/esp8266/ WString.cpp line 125 0x4020de21: String::invalidate() at /Users/iskoch01/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.1/cores/esp8266/ WString.cpp line 140 0x402059e7: std::_Function_handler::_M_invoke(const std::_Any_data &, AsyncWebServerRequest ) at /Users/iskoch01/Documents/Arduino/boiler/ boiler.ino line 1162 0x4020abac: AsyncWebServerRequest::_removeNotInterestingHeaders() at /Users/iskoch01/Documents/Arduino/libraries/ESPAsyncWebServer/src/ WebRequest.cpp line 182 0x40202e50: std::_Function_base::_Base_manager::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) at /Users/iskoch01/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/xtensa-lx106-elf/include/c++/4.8.2/ functional line 1931 0x4020bb45: AsyncCallbackWebHandler::handleRequest(AsyncWebServerRequest) at /Users/iskoch01/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/xtensa-lx106-elf/include/c++/4.8.2/ functional line 2464 0x4020bf84: AsyncWebServer::_attachHandler(AsyncWebServerRequest)* at /Users/iskoch01/Documents/Arduino/libraries/ESPAsyncWebServer/src/ WebServer.cpp line 116 0x4020acd1: AsyncWebServerRequest::_parseLine() at /Users/iskoch01/Documents/Arduino/libraries/ESPAsyncWebServer/src/ WebRequest.cpp line 581 0x40222cb2: tcp_input at core/ tcp_in.c line 942

which device are you using, can you share the entire code and the entire error?

My code is over a thousand lines. Should I copy and paste the whole thing?

then the issue must be in the thousand lines of code.

Also if you think the issue is with more then 3 virtualWrites then try a basic code to verify the issue is with cayenne library.

/*
This example shows how to connect to Cayenne using an Ethernet W5100 shield and send/receive sample data.
The CayenneMQTT Library is required to run this sketch. If you have not already done so you can install it from the Arduino IDE Library Manager.
Steps:
1. Set the Cayenne authentication info to match the authentication info from the Dashboard.
2. Compile and upload the sketch.
3. A temporary widget will be automatically generated in the Cayenne Dashboard. To make the widget permanent click the plus sign on the widget.
*/

//#define CAYENNE_DEBUG       // Uncomment to show debug messages
#define CAYENNE_PRINT Serial  // Comment this out to disable prints and save space
#include <CayenneMQTTEthernet.h>

// Cayenne authentication info. This should be obtained from the Cayenne Dashboard.
char username[] = "MQTT_USERNAME";
char password[] = "MQTT_PASSWORD";
char clientID[] = "CLIENT_ID";

void setup() {
	Serial.begin(9600);
	Cayenne.begin(username, password, clientID);
}

void loop() {
	Cayenne.loop();
}

// Default function for sending sensor data at intervals to Cayenne.
// You can also use functions for specific channels, e.g CAYENNE_OUT(1) for sending channel 1 data.
CAYENNE_OUT_DEFAULT()
{
	// Write data to Cayenne here. This example just sends the current uptime in milliseconds on virtual channel 0.
	Cayenne.virtualWrite(0, millis());
	Cayenne.celsiusWrite(1, 22.0);
	Cayenne.luxWrite(2, 700);
	Cayenne.virtualWrite(3, 50, TYPE_PROXIMITY, UNIT_CENTIMETER);
}