07th-mod / 07th-mod/umineko-answer

Ep6 crash with unexpected output on log (Experimental Exe)

Open
#91 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
29
Forks
8
PR merge metrics
No merged PRs in 30d

Description

We know by this point that some users have crashes during animation effects. However, this is unusual because it is a repeatable, unskippable crash, with no animations causing the crash. There is also some odd stuff in the `stdout.txt`. Details below

# User Report

> I have a issue where I am unable to get pass a certain line, late into Episode 6 of Umineko Chiru. The game instantly crashes as soon as the line of text appears on the screen.
> The game is the Steam version, which was freshly reinstalled along with the mod a few hours ago due to this issue.
> It is the ADV patch, running on windows, installed with a installer, with the OG sprites in English. This PC has ran the game fine and should without a doubt have no issues otherwise

The game crashes after the line "However, there is one way.":

![Honeyview_SPOILER_unknown](https://user-images.githubusercontent.com/1249449/198872046-f0c21873-1c56-44e9-b5f6-dcab534b6299.jpg)

**is this the only issue you've had so far?**

> ive had the basic crtl skip crashes
> i think thats already listed otherwise ive been fine

are you using the experimental exe or the default one?

> experimental

# Discussion

Looking at the `stdout.txt`, it's odd that the same dialogue line is printed out many times, once per each character? see below:

```
***** executeLabel umi6_15:5000/7168:0:1 [langen] *****
***** executeLabel umi6_15:5000/7168:0:1 [However,] *****
***** executeLabel pretext:1/8:0:1 [if] *****
***** executeLabel pretext:1/8:0:1 [saveon] *****
***** executeLabel pretext:1/8:0:1 [] *****
***** executeLabel pretext:2/8:0:1 [return] *****
***** executeLabel umi6_15:5000/7168:0:1 [However,] *****
***** executeLabel umi6_15:5000/7168:0:1 [However,] *****
***** executeLabel umi6_15:5000/7168:1:1 [However,] *****
***** executeLabel umi6_15:5000/7168:2:1 [However,] *****
***** executeLabel umi6_15:5000/7168:3:1 [However,] *****
***** executeLabel umi6_15:5000/7168:4:1 [However,] *****
***** executeLabel umi6_15:5000/7168:5:1 [However,] *****
***** executeLabel umi6_15:5000/7168:6:1 [However,] *****
***** executeLabel umi6_15:5000/7168:7:1 [However,] *****
***** executeLabel umi6_15:5000/7168:8:1 [However,] *****
***** executeLabel umi6_15:5000/7168:9:1 [However,] *****
***** executeLabel umi6_15:5000/7168:10:1 [However,] *****
***** executeLabel umi6_15:5000/7168:11:1 [However,] *****
***** executeLabel umi6_15:5000/7168:12:1 [However,] *****
***** executeLabel umi6_15:5000/7168:13:1 [However,] *****
***** executeLabel umi6_15:5000/7168:14:1 [However,] *****
***** executeLabel umi6_15:5000/7168:16:1 [However,] *****
***** executeLabel umi6_15:5000/7168:17:1 [However,] *****
***** executeLabel umi6_15:5000/7168:18:1 [However,] *****
***** executeLabel umi6_15:5000/7168:19:1 [However,] *****
***** executeLabel umi6_15:5000/7168:20:1 [However,] *****
***** executeLabel umi6_15:5000/7168:21:1 [However,] *****
***** executeLabel umi6_15:5000/7168:22:1 [However,] *****
***** executeLabel umi6_15:5000/7168:23:1 [However,] *****
***** executeLabel umi6_15:5000/7168:24:1 [However,] *****
***** executeLabel umi6_15:5000/7168:25:1 [However,] *****
***** executeLabel umi6_15:5000/7168:26:1 [However,] *****
***** executeLabel umi6_15:5000/7168:0:1 [@] *****
***** executeLabel text_cw:0/33:0:1 [;テキストクリックシス�] *****
```

I'm wondering if whatever is causing this is also causing the crash.

For a temporary fix for this user, I commented out these liens of code, which are just after the screenshot they sent.

I couldn't spot anything odd about the part that I commented out, but I could have missed it.

```asm
langjp しかし、一つだけあるのだ。@
langjp ……絶対、検死を誤らない方法が。\
langen^However, there is one way.^@
advsetwindow "-1"
;langen^...One way to conduct a perfect examination.^\

;bg new_Different_space_1a,0
;_ld r,":b;sprites\eri\1\eri_a11_warai3.png",22
;;ld r,ERI_AkuwaraiA6,80
;se1v 2,100
;advsetwindow "46"
;langjp「殺す、/
;langjp!d900…………ということです。」@
;;<ヱリカ
;langen:dwave 0, "voice\46\64501178.ogg":^"And that is...^@/
;advsetwindow "46"
;langen:delay 1200:dwave 0, "voice\46\64501179.ogg":^...to kill them."^@
;
;_ld l,":b;sprites\but\1\but_d11_aseru3.png",23
;advsetwindow "10"

langjp「………ヱリカぁ……ぁ……。」\
;<戦人
langen:dwave 0, "voice\10\60100869.ogg":^"......Erikaa...aa..."^\

_ld r,":b;sprites\eri\1\eri_a11_akuwarai1.png",80
advsetwindow "46"

```

This fixed the crash for them and they were able to continue playing.

# Logs and save files

[stderr(7).txt](https://github.com/07th-mod/umineko-answer/files/9895520/stderr.7.txt)
[stdout(7).zip](https://github.com/07th-mod/umineko-answer/files/9895521/stdout.7.zip)
[save37.zip](https://github.com/07th-mod/umineko-answer/files/9895522/save37.zip)

# TODO

- [ ] Update the support guide checklist to specify whether you're using the normal or experimental exe for Umineko
- [ ] Check how it is possible there are multiple printouts per each dialogue line (per each character???), or if that is normal

Contributor guide

No contributing guide indexed for this repository

Research direction

Examine the stdout.txt logs showing repeated 'executeLabel' lines for the same dialogue. Look at the assembly code snippet in the issue body, focusing on the experimental exe's handling of label execution and text rendering. Reproduce the crash using the provided save files, then trace the code path for umi6_15:5000/7168 to understand why it prints per character and crashes.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.