Call to sd_ble_gatts_value_set() does not return - S113

I'm working with firmware and hardware that has previously worked properly. I recently migrated to S113 from S140, and changed the data format of what was being set in the attribute. RAM and Flash are set up properly in the linker, all of the flags are properly defined to compile S113. I'm using SDK 17.1.

When my firmware (which had been working previously) gets to the sd_ble_gatts_value_set() call, it doesn't return. Things just stop there. No error or anything. It's quite confounding. Any ideas about what might be going on? I've turned on all the debug logging I can find as well. Things seem to work fine right up until that call (the last info print is the line before the function call):

<info> app: BLE INIT
<debug> nrf_sdh: State request: 0x00000000
<debug> nrf_sdh: Notify observer 0x0002C7DC => ready
<debug> nrf_sdh: State change: 0x00000000
<debug> nrf_sdh: State change: 0x00000001
<debug> nrf_sdh_ble: RAM starts at 0x20003318
<debug> nrf_sdh_ble: RAM start location can be adjusted to 0x200026C0.
<debug> nrf_sdh_ble: RAM size for application can be adjusted to 0x1D940.
<info> app: RAM: 536880832
<info> app: Error: 0
<info> app: GAP INIT
<info> app: GATT INIT
<info> app: SERV INIT
<info> app: ADV INIT
<info> app: CONN INIT
<info> app: PEER INIT
<info> app: GPIO INIT
<info> app: SPI0 Manager initialized SCK = 16; MOSI = 13; MISO = 14 SS_PIN = 15
<info> app: TWI Manager initialized SCL = 12; SDA = 11; FREQ = 107479040
Mfg ID: 0x5449, address: 0x2A
Mfg ID: 0x5449, address: 0x2B
<info> app: MAIN END
<info> app: Erase bonds!
<info> app: Fast advertising.
<info> app: DRG cBP started
<debug> nrf_sdh_ble: BLE event: 0x10.
<debug> nrf_ble_gatt: Updating data length to 74 on connection 0x0.
<info> app: Connected.
<debug> nrf_sdh_ble: BLE event: 0x21.
<debug> app: PHY update request.
<debug> nrf_sdh_ble: BLE event: 0x24.
<debug> nrf_ble_gatt: Data length updated to 74 on connection 0x0.
<debug> nrf_ble_gatt: max_rx_octets: 74
<debug> nrf_ble_gatt: max_tx_octets: 74
<debug> nrf_ble_gatt: max_rx_time: 2120
<debug> nrf_ble_gatt: max_tx_time: 2120
<debug> nrf_sdh_ble: BLE event: 0x22.
<debug> nrf_sdh_ble: BLE event: 0x55.
<debug> nrf_ble_gatt: Peer on connection 0x0 requested an ATT MTU of 527 bytes.
<debug> nrf_ble_gatt: Updating ATT MTU to 240 bytes (desired: 240) on connection 0x0.
<debug> nrf_sdh_ble: BLE event: 0x50.
<debug> nrf_sdh_ble: BLE event: 0x50.
<info> app: BLE_CAP_A_NOTIFICATION_ENABLED
<info> app: TICKS IN CAPHANDLER: 75471
<info> app: Pin 40 interrupted
<info> app: Bus 0 CDC reported
<info> app: Burst read initiated successfully
<info> app: TWI MANAGER CB result: 0
<info> app: FDC0 Status: 0xC040
<info> app: FDC1 Status: 0xC040
<info> app: about to set gatts value

Related