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
sagenb: SandboxViolation in webassets #16736
Comments
comment:1
The reason is that webasset setup.py imports sphinx to do some crap. Which ultimately imports PIL/Pillow which causes the egg to be unpacked, violating the sandbox. Why does sagenb come with webassets to start with? Its not used anywhere, it seems. Some packaged js files were generated with it? |
This comment has been minimized.
This comment has been minimized.
comment:3
I guess the ideal solution would be to use distutils / pip instead of easy_install (who cares about binary eggs)? Though that would probably be a bigger task. For now, just allow chmod outside of the setuptools sandbox (and, really, fixing permissions isn't so bad). Updating to the latest setuptools alone didn't fix it, but we should do that anyway. New commits:
|
Author: Volker Braun |
Commit: |
comment:6
Not sure what webassets does either. Is it just me or there is a violent inflation in setuptools version numbers - worse than chrome even. |
comment:7
In fact I hadn't noticed that webassets had been upgraded past 0.7.1. |
comment:8
The whole packages-inside-sagenb thing needs to be fixed at one point, too. But this is also not the scope of this ticket, but make a new beta that can be installed from scratch. |
comment:9
This seems to be caused by #16733, so I'll unmerge that upgrade until somebody can review this. |
comment:11
I am not convinced by the solution I will try something in the next few hours before accepting this. |
comment:12
So far I haven't been able to reproduce this. I am guessing this is a from scratch install while I am working on top of beta7 which may have an impact. |
comment:13
You probably need to (re-)install by hand the new docutils and pillow. Or rebuild from scratch (with #16733 merged in). |
comment:14
This is very curious. I merged #16733 and this ticket w/o the
|
comment:15
Interesting digging Steve. I am sure the patch works, I just think it is the wrong thing to do but I don't know any alternative, apart from trying to upgrade webassets since there is a newer release - of course it is likely it will suffer the same fate. |
comment:16
I tried upgrading webassets and it didn't work. The setup.py is till importing sphinx, so it'll die if that ends up pulling in pil(low) |
comment:17
OK so that potentially pushes the problem in sphinx and upgrading that brings its own problems. Or may be pillow, that would be easier to try that. |
comment:18
I've installed sphinx-1.2.2, merged #16733 and this ticket w/o the sandbox patch and I have no |
comment:19
I really think that shooting an element of the sandbox for just one package is not good. It would be better if an exception could be made until we fix the faulty package rather than sabotaging setuptools. |
comment:35
FWCW, I just triggered it again while building Sage in a subdirectory of /tmp:
|
comment:36
This is curious. I did a fresh build under /tmp after cloning from the
I wonder what's up? |
comment:37
OK guys that prompt 2 questions from me:
|
comment:38
Only happens when building in /tmp. Seems that easy_install does something different in that case. |
comment:39
I'm getting this again with sagenb-11.4 on some but not all user accounts. No idea what the difference is. This is in my home directory, not compiling in /tmp.
How about we just get rid of the unused webassets? |
comment:40
PS: the directory is created by setuptools just for webassets:
|
comment:41
Yes get rid of it, especially if it is such a headache. Is the problem happening on some distros and not others or something more subtle? |
comment:42
A different account can install webassets (again in its respective home directory):
|
Changed reviewer from Steve Trogdon to none |
This comment has been minimized.
This comment has been minimized.
comment:44
Again, webassets is there so that people can use the "newui" branch of sagenb, which apparently people are indeed trying out and using (based on discussions there). |
comment:45
Just off the top of my head. Would it be possible to avoid the issue by removing webassets from sagenb and then installing it separately? |
comment:46
If you need webassets you can just "pip install webassets". But if its not used by default then don't ship it. |
comment:47
I'd be open to a pull request, but whatever solution there is should probably have a good and easy way to tell a user to install webassets before they attempt to switch to that. It's also possible migeruhito's changes with that will have removed the need for webassets, I really know nothing about it beyond why it was added (included not knowing why that was actually necessary). |
comment:48
Then just add it to the instructions for trying out the newui branch, wherever those might be. |
Reviewer: Volker Braun |
comment:49
webassets is being removed at #14840. |
Changed author from Volker Braun to none |
CC: @ppurka @nexttime @rwst @kiwifb
Component: packages: standard
Reviewer: Volker Braun
Issue created by migration from https://trac.sagemath.org/ticket/16736
The text was updated successfully, but these errors were encountered: