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

Possible soft lock in fputs #482

Open
squalldc opened this issue Apr 15, 2021 · 1 comment
Open

Possible soft lock in fputs #482

squalldc opened this issue Apr 15, 2021 · 1 comment

Comments

@squalldc
Copy link

I'm getting a random soft lock in fputs (on a real 3ds), doesn't occur in citra.
There's no problems if I disable the calls to this.

It's getting stuck here:

#0 svcArbitrateAddressNoTimeout () at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/svc.s:253
#1 0x00418f64 in syncArbitrateAddress (value=0, type=ARBITRATION_WAIT_IF_LESS_THAN, addr=0x4e1db4 <impure_data+964>)
at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/synchronization.c:61
#2 LightLock_Lock (lock=lock@entry=0x4e1db4 <impure_data+964>) at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/synchronization.c:61
#3 0x00419064 in RecursiveLock_Lock (lock=0x4e1db4 <impure_data+964>)
at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/synchronization.c:129
#4 0x0042f848 in _fputs_r ()

The other threads aren't hogging the cpu either:
Id Target Id Frame
1 Thread 282 (TLS: 0x1ffb2000, idle, dynamic prio.: 48, static prio.: 48, ideal core: 0, running on core 0) svcArbitrateAddressNoTimeout ()
at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/svc.s:253
2 Thread 283 (TLS: 0x1ffb2200, idle, dynamic prio.: 49, static prio.: 49, ideal core: 0, running on core 0) svcWaitSynchronizationN ()
at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/svc.s:273
3 Thread 288 (TLS: 0x1ffb2400, running, dynamic prio.: 26, static prio.: 26, ideal core: 0, running on core 0) svcWaitSynchronization ()
at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/svc.s:263
4 Thread 289 (TLS: 0x1ffb2600, running, dynamic prio.: 47, static prio.: 47, ideal core: 2, running on core 2) svcSleepThread ()
at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/svc.s:85
5 Thread 290 (TLS: 0x1ffb2800, running, dynamic prio.: 46, static prio.: 46, ideal core: 0, running on core 0) svcSleepThread ()
at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/svc.s:85

  • 6 Thread 292 (TLS: 0x1ffb2a00, running, dynamic prio.: 24, static prio.: 24, ideal core: 0, running on core 0) svcWaitSynchronization ()
    at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/svc.s:263
    7 Thread 293 (TLS: 0x1ffb2c00, idle, dynamic prio.: 46, static prio.: 46, ideal core: 0, running on core 0) svcArbitrateAddressNoTimeout ()
    at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/svc.s:253
@WinterMute
Copy link
Member

Could you try and put together a testcase for us to have a look at?

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