Project

General

Profile

Bug #764190

hang/crash at certain point in game

Added by Nicolas Barto 8 days ago. Updated 8 days ago.

Status:
Closed
Priority:
High
Assignee:
Category:
infinite loop / crash
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

At a point the game becomes very unstable, last working savefile is attached. Trying to walk one or two rooms or even just waiting leads to a hang, CPU load is capped at 100%, game has to be killed after several minutes.

I am using TrapQuest180607W with the gargoyle interpreter (version 2011.1) on Linux.

To reproduce, try walking to the western rooms or just wait, The game should hang.

Since the error is rather generic, I am not sure if the following issues are related:
http://www.hostedredmine.com/issues/756619
http://www.hostedredmine.com/issues/744818

I also attached the preferences file in case it is relevant.

M45.sav (210 KB) M45.sav Nicolas Barto, 2018-07-09 03:25 PM
prefs (190 Bytes) prefs Nicolas Barto, 2018-07-09 03:25 PM

History

#1 Updated by Nicolas Barto 8 days ago

I did a quick crosscheck with GIT under wine, and it shows the same behaviour. So seems to be interpreter independent.

#2 Updated by Aika X 8 days ago

  • Status changed from New to In Progress
  • Priority changed from Normal to High
Test results so far:
  • Time moving forward seems to cause the hang
  • Barbara being dead doesn't change anything
  • Being in another dungeon location doesn't change anything
  • Removing all clothing prevents the crash and a random item of sissy clothing spawns; it seems likely that the sissification code is the culprit here.
  • Disintegrating only a single item of sissy clothing (I chose the leggings) doesn't work, suggesting the problem isn't that it can't find a free slot.
  • Unable to reproduce just by triggering sissy function over and over again in fresh game
  • Narrowed the problem down to the chastity cage, disintegrating this item prevents the game freeze (and it immediately gets summoned next turn, and the game does not freeze within the next few turns)
  • The showme status of the cage before being disintegrated and after it respawns is the same.
  • The game crashes again approximately the amount of time later you'd expect, for another sissy punishment to be scheduled.

I've been through all instances where the chastity cage is specifically mentioned in the code and can't see anything obvious.

The sissy punish code itself looks robust to me. The most likely line to misbehave is

let S be a random off-stage sissifying actually summonable fetish appropriate clothing;

but I can't imagine which of those adjectives is causing it to hang when it doesn't usually.

#3 Updated by Aika X 8 days ago

  • Status changed from In Progress to Closed

Found and killed the bug at last. It was to do with clothing layering getting in a muddle because apparently you can't use "repeat with N running from X to Y" if X is larger than Y, just nothing happens. I've also added escape clauses to the while loops that were going infinite to make sure that doesn't happen again even if the layering gets in a muddle.

#4 Updated by Nicolas Barto 8 days ago

OK, that's good to hear. :-)

I actually did some debugging on my own and was about to write some observations, including problems with the layering. Thank you in any case! :-D

I guess I'll remove all the pieces below the waist and reapply them properly, and see what bits are left over. ^^

Also available in: Atom PDF