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

xemu crashes upon idling for a period of time #310

Open
MasonT8198 opened this issue Jun 1, 2021 · 1 comment
Open

xemu crashes upon idling for a period of time #310

MasonT8198 opened this issue Jun 1, 2021 · 1 comment
Labels
bug Something isn't working

Comments

@MasonT8198
Copy link
Contributor

MasonT8198 commented Jun 1, 2021

Bug Description

https://xemu.app/titles/54510018/#The-Punisher (DMA OOB)

When Xemu sits, (I was in dash 5960 at the time), if you wait for a while it'll crash with this assertion.

xemu: ../hw/xbox/nv2a/user.c:30: user_read: Assertion channel_id < NV2A_NUM_CHANNELS failed.
or
xemu: ../hw/xbox/nv2a/pfifo.c:296: pfifo_run_pusher: Assertion `false' failed.

I also did it with the file selector open, crashed out of the file selector menu as well.

Steps to reproduce this issue:

  1. Open xemu on dash 5960 (presumably any other dash as well) and just leave it open.
  2. Open File Selector/Picker and let it sit on that for a period of time

Expected Behavior

1.) In Theory, I should be able to do this for an extended period of time and it do nothing, it should just idle normally.

Version

  • Version: v0.5.1-7105-g56a47b0e58

System Information

Field Value
OS (...)
CPU (...)
Graphics Device (...)
Graphics Driver (...)

Additional Context

I would appreciate if anyone here who has experienced this issue please give your information on how this happened, it is useful for the development of the emulator to know what we can about the issue.

@MasonT8198 MasonT8198 added the bug Something isn't working label Jun 1, 2021
@abaire
Copy link
Contributor

abaire commented Feb 4, 2022

In case it continues to move, the context for the pfifo assert is:

        if (dma_get_v >= dma_len) {
            assert(false);
            SET_MASK(*dma_state, NV_PFIFO_CACHE1_DMA_STATE_ERROR,
                     NV_PFIFO_CACHE1_DMA_STATE_ERROR_PROTECTION);
            break;
        }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants