reswitched/pegaswitch

Error 2168-0002 during init on 3.0.0 sometimes

lubosz opened this issue · 0 comments

When I connect the 3.0.0 switch to pegaswitch, I get error 2168-0002 ~50% of the time during init.

This is the end of the log before the crash.

Setting up RO hax...
Opening SM handle
0x0000000000000000
SM handle: e8018
0x0000000000000000
0
80000008
20
f0019
Port handle: f0019
IPC message:
- PID: 0x0000000000000078
- Moved handles
    - 0x3d003a
ldr:ro is PID 0x78

I also had a couple of instances where it happened a little later this part of the log, but these are rare.

IPC message:
- PID: 0x0000000000000078
- Moved handles
    - 0x4f0039
ldr:ro is PID 0x78
IPC message:
IPC message:
- Data
    data+0x0  | 95 00 00 00 00 00 00 00                          | ........         |
Pwned sdb...

Here is the full log of a bad init:
https://gist.github.com/lubosz/b9e4d34adeccd5419a7a955c6c0da0ba

After a successfull init, the selftest.js fails most of the time at this part:

test that sc.getService returns closeable handles for valid services...

I had also a couple boots where the self test finished completely.

gadgetcaches

When I delete the json file from gadgetcaches, I seem to get a couple of good inits, before the problem occurs again.

nros also produce 2168-0002

I am also experiencing 2168-0002 when I want to run any ace.nro and all nros compiled with a recent libtransistor version. I was able to run some tests with an old libtransitor version (fs branch). But this could be another issue.

The race condition is the most annoying part about this. Any ideas how to fix that?

Host system info

$ uname -a
Linux bcube 4.14.13-1-ARCH #1 SMP PREEMPT Wed Jan 10 11:14:50 UTC 2018 x86_64 GNU/Linux

$ clang --version
clang version 5.0.1 (tags/RELEASE_501/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

$ npm --version
5.6.0

$ node --version
v9.4.0