Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consistent crash when selecting card in booster on smods 0305c. #2

Open
ackwell opened this issue Mar 8, 2025 · 2 comments
Open

Consistent crash when selecting card in booster on smods 0305c. #2

ackwell opened this issue Mar 8, 2025 · 2 comments

Comments

@ackwell
Copy link

ackwell commented Mar 8, 2025

Disclaimer: You will want to use the newest tagged release of Steammodded as the version on main might be broken/unstable.

newest tagged version (0305c) is now crashing 😔. swapping to prior release (0301a) does fix the issue, however 0301a has gameplay bugs.

STR:

  • Get to a shop screen
  • Purchase a joker booster pack (may work on other boosters, not tested)
  • Attempt to drag one of the card options

seems to consistently crash with an error referencing can_select_card;

attempt to call field 'can_select_card' (a nil value)
Oops! The game crashed:
functions/misc_functions.lua:2300: attempt to call field 'can_select_card' (a nil value)

Additional Context:
Balatro Version: 1.0.1o-FULL
Modded Version: 1.0.0~BETA-0305c-STEAMODDED
LÖVE Version: 11.5.0
Lovely Version: 0.7.1
Platform: Windows
Steamodded Mods:
    1: Sticky Fingers by Eramdam [ID: eramdam.sticky-fingers, Version: 1.0.4, Uses Lovely]
Lovely Mods:

Stack Traceback
===============
(3) Lua field 'active_check' at file 'functions/misc_functions.lua:2300'
Local variables:
 other = table: 0x04b23f20  {layered_parallax:table: 0x0468a808, click_offset:table: 0x069f6210, under_overlay:false, children:table: 0x06936460, ambient_tilt:0.2, parent:table: 0x06a50c50 (more...)}
 (*temporary) = nil
 (*temporary) = table: 0x04b23f20  {layered_parallax:table: 0x0468a808, click_offset:table: 0x069f6210, under_overlay:false, children:table: 0x06936460, ambient_tilt:0.2, parent:table: 0x06a50c50 (more...)}
 (*temporary) = string: "attempt to call field 'can_select_card' (a nil value)"
(4) Lua function '?' at file 'functions/button_callbacks.lua:52' (best guess)
Local variables:
 e = table: 0x04b20ce8  {click_offset:table: 0x04ea1740, children:table: 0x04e5d1d8, parent:table: 0x044ded00, T:table: 0x0c4d9a70, offset:table: 0x04a91ff8, role:table: 0x08142ed8 (more...)}
(5) Lua method 'update' at file 'engine/ui.lua:965'
Local variables:
 self = table: 0x04b20ce8  {click_offset:table: 0x04ea1740, children:table: 0x04e5d1d8, parent:table: 0x044ded00, T:table: 0x0c4d9a70, offset:table: 0x04a91ff8, role:table: 0x08142ed8 (more...)}
 dt = number: 0.0467435
(6) Lua upvalue 'gameUpdateRef' at file 'game.lua:2675'
Local variables:
 self = table: 0x044279f8  {F_GUIDE:false, F_CRASH_REPORTS:false, F_QUIT_BUTTON:true, HUD_tags:table: 0x06a5dc10, F_ENGLISH_ONLY:false, viewed_stake:3, HUD:table: 0x069d8ea8 (more...)}
 dt = number: 0.0116859
 http_resp = nil
 move_dt = number: 0.0116859
 (for generator) = C function: next
 (for state) = table: 0x0442c4b0  {1:table: 0x0c4cc718, 2:table: 0x04ae1bb0, 3:table: 0x047c9100, 4:table: 0x13b31120, 5:table: 0x04ae3398, 6:table: 0x04768958, 7:table: 0x00c06c10 (more...)}
 (for control) = number: nan
 k = number: 615
 v = table: 0x04b20ce8  {click_offset:table: 0x04ea1740, children:table: 0x04e5d1d8, parent:table: 0x044ded00, T:table: 0x0c4d9a70, offset:table: 0x04a91ff8, role:table: 0x08142ed8 (more...)}
(7) Lua method 'update' at Steamodded file 'src/ui.lua:84' 
Local variables:
 self = table: 0x044279f8  {F_GUIDE:false, F_CRASH_REPORTS:false, F_QUIT_BUTTON:true, HUD_tags:table: 0x06a5dc10, F_ENGLISH_ONLY:false, viewed_stake:3, HUD:table: 0x069d8ea8 (more...)}
 dt = number: 0.0116859
(8) Lua field 'update' at file 'main.lua:995'
Local variables:
 dt = number: 0.0116859
(9) Lua function '?' at file 'main.lua:934' (best guess)
(10) global C function 'xpcall'
(11) LÖVE function at file 'boot.lua:377' (best guess)
Local variables:
 func = Lua function '?' (defined at line 905 of chunk main.lua)
 inerror = boolean: true
 deferErrhand = Lua function '(LÖVE Function)' (defined at line 348 of chunk [love "boot.lua"])
 earlyinit = Lua function '(LÖVE Function)' (defined at line 355 of chunk [love "boot.lua"])

Once on the crash screen, choosing to restart will cause an immediate second crash:

module 'lovely' not found
Oops! The game crashed:
main.lua:1269: module 'lovely' not found:
no field package.preload['lovely']
no 'lovely' in LOVE game directories.
no file 'lovely' in LOVE paths.
no file '.\lovely.lua'
no file 'Z:\home\deck\.local\share\Steam\steamapps\common\Balatro\lua\lovely.lua'
no file 'Z:\home\deck\.local\share\Steam\steamapps\common\Balatro\lua\lovely\init.lua'
no file '.\lovely.dll'
no file 'Z:\home\deck\.local\share\Steam\steamapps\common\Balatro\lovely.dll'
no file 'Z:\home\deck\.local\share\Steam\steamapps\common\Balatro\loadall.dll'

Additional Context:
Balatro Version: 1.0.1o-FULL
Modded Version: 1.0.0~BETA-0305c-STEAMODDED
LÖVE Version: 11.5.0
Platform: Windows

Stack Traceback
===============
(3) global C function 'require'
(4) main chunk of file 'main.lua' at line 1269
(5) global C function 'require'
(6) LÖVE function at file 'boot.lua:323' (best guess)
Local variables:
 c = table: 0x00c0d8d8  {identity:false, version:11.5, accelerometerjoystick:true, modules:table: 0x00c0d928, gammacorrect:false, title:Balatro, externalstorage:false (more...)}
 openedconsole = boolean: false
 confok = boolean: true
 conferr = nil
(7) global C function 'xpcall'
(8) LÖVE function at file 'boot.lua:362' (best guess)
Local variables:
 result = boolean: true
(9) global C function 'xpcall'
(10) LÖVE function at file 'boot.lua:377' (best guess)
Local variables:
 func = Lua function '(LÖVE Function)' (defined at line 355 of chunk [love "boot.lua"])
 inerror = boolean: true
 deferErrhand = Lua function '(LÖVE Function)' (defined at line 348 of chunk [love "boot.lua"])
 earlyinit = Lua function '(LÖVE Function)' (defined at line 355 of chunk [love "boot.lua"])

...though i suspect that's not in the scope of this project. completely exiting the game and relaunching bypasses the second error, though the first error does reccur if interating within a booster again.

@ackwell
Copy link
Author

ackwell commented Mar 8, 2025

Possibly related to Steamodded/smods#504 - it's the only obvious change mentioning the function in the diff since 0301a, though I'm not sufficiently familiar with the codebase(s) involved to dig much further.

@ackwell ackwell changed the title Consistent crash when selecting card in booster on new smods. Consistent crash when selecting card in booster on smods 0305c. Mar 8, 2025
@eramdam
Copy link
Owner

eramdam commented Mar 9, 2025

Hum, I had seen random crashes involving negative cards (during runs with Perkeo) but I always attributed that to random smods bugs.

I can't look at it just yet because of life stuff, but I'll investigate ways to make the mod a bit more compatible/resilient (alongside the issues described in #1).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants