Hi,
I was going through the tutorial for the AWS IoT Core integration for the community edition, and I came across a panic when the uplink handler function was being executed. I have not deviated from the tutorial, and all I tried was simulating an uplink. I can see data being received on the thethings/lorawan/TTNIntegrationTest/uplink MQTT topic, but nothing on the lorawan/# topic.
Here’s the request (items in <stuff> contained ids I wasn’t sure were sensitive or not so I removed them) :
{
  "end_device_ids": {
    "device_id": "ian-lora-e5-abp",
    "application_ids": {
      "application_id": "aether"
    },
    "dev_eui": "<eui>"
  },
  "correlation_ids": [
    "as:up:<key id>",
    "rpc:/ttn.lorawan.v3.AppAs/SimulateUplink:<not sure what this is but I removed it anyway>"
  ],
  "received_at": "2022-02-09T19:32:05.612165812Z",
  "uplink_message": {
    "f_port": 1,
    "frm_payload": "aUIA",
    "rx_metadata": [
      {
        "gateway_ids": {
          "gateway_id": "test"
        },
        "rssi": 42,
        "channel_rssi": 42,
        "snr": 4.2
      }
    ],
    "settings": {
      "data_rate": {
        "lora": {
          "bandwidth": 125000,
          "spreading_factor": 7
        }
      }
    }
  },
  "simulated": true
}
Here are the logs messages:
Handle uplink message for DevEUI "<deveui>"
runtime error: invalid memory address or nil pointer dereference: errorString
[
{
    "path": "github.com/aws/aws-lambda-go@v1.27.1/lambda/errors.go",
    "line": 39,
    "label": "lambdaPanicResponse"
}
,
{
    "path": "github.com/aws/aws-lambda-go@v1.27.1/lambda/function.go",
    "line": 36,
    "label": "(*Function).Invoke.func1"
}
,
{
    "path": "runtime/panic.go",
    "line": 1038,
    "label": "gopanic"
}
,
{
    "path": "runtime/panic.go",
    "line": 221,
    "label": "panicmem"
}
,
{
    "path": "runtime/signal_unix.go",
    "line": 735,
    "label": "sigpanic"
}
,
{
    "path": "fnhandleuplink/uplink.go",
    "line": 200,
    "label": "handleUplink"
}
,
{
    "path": "reflect/value.go",
    "line": 543,
    "label": "Value.call"
}
,
{
    "path": "reflect/value.go",
    "line": 339,
    "label": "Value.Call"
}
,
{
    "path": "github.com/aws/aws-lambda-go@v1.27.1/lambda/handler.go",
    "line": 124,
    "label": "NewHandler.func1"
}
,
{
    "path": "github.com/aws/aws-lambda-go@v1.27.1/lambda/handler.go",
    "line": 24,
    "label": "lambdaHandler.Invoke"
}
,
{
    "path": "github.com/aws/aws-lambda-go@v1.27.1/lambda/function.go",
    "line": 64,
    "label": "(*Function).Invoke"
}
,
{
    "path": "reflect/value.go",
    "line": 543,
    "label": "Value.call"
}
,
{
    "path": "reflect/value.go",
    "line": 339,
    "label": "Value.Call"
}
,
{
    "path": "net/rpc/server.go",
    "line": 377,
    "label": "(*service).call"
}
,
{
    "path": "runtime/asm_amd64.s",
    "line": 1581,
    "label": "goexit"
}
]
Did I do something dumb (highly possible), or is this an error with the aws integration (1.1.8)?