Comments (7)
From what I understand, Python's multiprocessing
package uses POSIX semaphores (or maybe even older Sys-V semaphores). Check https://linux.die.net/man/7/sem_overview.
Gramine currently doesn't support semaphores at all. So this example unfortunately cannot run in Gramine.
from graphene.
You can actually add loader.log_level = "trace"
in your manifest file, and re-run your simple example. Gramine will output a lot of additional info.
If you see some system call like sem_wait()
or sem_open()
or segmet()
, and they return -38
("not implemented"), then it's definitely the problem: Gramine doesn't support these system calls (Gramine doesn't support semaphores).
from graphene.
You can actually add
loader.log_level = "trace"
in your manifest file, and re-run your simple example. Gramine will output a lot of additional info.If you see some system call like
sem_wait()
orsem_open()
orsegmet()
, and they return-38
("not implemented"), then it's definitely the problem: Gramine doesn't support these system calls (Gramine doesn't support semaphores).
i got it, so is there any workaround to deal with this problem?
from graphene.
i got it, so is there any workaround to deal with this problem?
The only workaround I can think of is: don't use multiprocessing
package in Python.
from graphene.
i got it, so is there any workaround to deal with this problem?
The only workaround I can think of is: don't use
multiprocessing
package in Python.
I try to set num_workers=0 to ban the multiprocessing function ,
data.DataLoader(val_dst, batch_size=opts.val_batch_size, shuffle=False, num_workers=0)
The original error 38 disappeared, but another bug happened, my program killed by singal 8. I checked that it means 8) SIGFPE.
I have tried without graphene, it ran successfully. Then i try to increase enclave_size, stack.size and pal_internal_mem_size,but all invalid. I have no idea what happened.
for i, (images) in enumerate(tqdm(val_loader)):
from graphene.
arithmetic fault
is interesting!
Can you debug your program using gdb? You simply build all Gramine in debug mode and then run GDB=1 gramine-sgx <your app>
. For more info, check https://gramine.readthedocs.io/en/latest/devel/debugging.html
The debugger should point you to the place in code / assembly instruction where SIGFPE (airthmetic fault
) happens. This may immediately give you an idea of what goes wrong. Or at least you can copy-paste the assembly snippet where SIGFPE happens -- maybe we'll be able to help just by looking at the failing assembly.
from graphene.
arithmetic fault
is interesting!Can you debug your program using gdb? You simply build all Gramine in debug mode and then run
GDB=1 gramine-sgx <your app>
. For more info, check https://gramine.readthedocs.io/en/latest/devel/debugging.htmlThe debugger should point you to the place in code / assembly instruction where SIGFPE (
airthmetic fault
) happens. This may immediately give you an idea of what goes wrong. Or at least you can copy-paste the assembly snippet where SIGFPE happens -- maybe we'll be able to help just by looking at the failing assembly.
Sorry for not being able to check the message due to some things in the past two days, i will try GBD immediately.
from graphene.
Related Issues (20)
- Data transmission error with Python gRPC running in graphene HOT 9
- Huge performance drop when running pytorch training with graphene-sgx HOT 26
- Graphene-SGX: Syscalls wakes up early/prematurely on Server Machines HOT 12
- untrusted PAL sent PAL event HOT 10
- BUG() triggered during vfork and clone HOT 15
- With Go program, inside a docker container, bind fails with permission denied error, invalid handle error. HOT 7
- Workloads (Redis, Curl, R) failing with Out of memory PAL error after new manifest syntax to define lists of SGX trusted files. HOT 7
- Unable to Sign the graphenized Docker image using gsc sign-image: HOT 5
- RFC: Trusted files metadata sideloading
- How to transmit variables between SGX and untrusted environments HOT 4
- Function not implemented (src/ip.cpp:563) in testing GSC container HOT 2
- [Examples] Python Example Stuck Without Any Error Message HOT 1
- ModuleNotFoundError: No module named 'graphenelibos' HOT 5
- web server use golang, QPS(queries per second) is very low HOT 4
- File Listener Based on INOTIFY Throws Error HOT 1
- Issue with libprotobuf version. HOT 1
- Issue in Cloud Deployment to AKS HOT 3
- Decimal type prone to float rounding error. HOT 1
- pytorch sample config for better performance HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graphene.