Platform: Playdate OS 2.7.5
Built the reproduction app using SDK 2.7.5 on MacOS.
I am attempting to build an app that makes use of network features. When developing the app in the simulator it is all fine. But when trying to use it on my device it failed every time I tried to make a network request. After some tinkering, I found out that it all works fine if I go into my settings and change the Network permission from "ask" to "always."
So, in my simulator, if I prompt the pop-up to ask for network permissions, it works fine. But on my device, the same program causes a crash when instead it should be asking for permission to use the network. I can bypass this issue on my device by changing the system-level permission option for network to always allow without prompting. Network requests themselves work fine on the device.
Here is the console output from uploading the example to my device through to when it crashes and I reboot to the menu. Everything other than "Waiting for Playdate disk..." is in blue from the device.
Waiting for Playdate disk…
echo off
target=dvt1
build=095f3cda-2.7.5-release.187685-buildbot-250626
boot_build=095f3cda-2.7.5-release.187685-buildbot
SDK=2.7.5
pdxversion=20703
serial#=PDU1-Y021098
cc=9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]
pcbver=0x01
time and date set
echo off
target=dvt1
build=095f3cda-2.7.5-release.187685-buildbot-250626
boot_build=095f3cda-2.7.5-release.187685-buildbot
SDK=2.7.5
pdxversion=20703
serial#=PDU1-Y021098
cc=9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]
crashed=1
pcbver=0x01
time and date set
errorlog.txt on the Playdate disk is empty, and this is the only crash in crashlog.txt
--- crash at 2025/07/14 14:15:36---
build:095f3cda-2.7.5-release.187685-buildbot
r0:00000000 r1:00000000 r2:ffffffff r3: 20009974
r12:0000000a lr:080b75a1 pc:080b6522 psr: a10f0000
cfsr:00000082 hfsr:00000000 mmfar:00000000 bfar: 00000000
rcccsr:00000000
heap allocated: 83232
Lua totalbytes=127637507 GCdebt=-127575081 GCestimate=62227 stacksize=42
I also sent this crash report and gathered diagnostics using the option in the settings menu shortly after the time listed above, if that helps. My device metrics reporting option has also been enabled during this.
And here is the main.lua file that I used to generate this crash:
local network <const> = playdate.network
function playdate.update()
if playdate.buttonJustPressed(playdate.kButtonDown) then
network.http.requestAccess("google.com", nil, true)
end
end