This is in the error log:
/sagenb/sage_install/sage-4.7.1/local/lib/libpython2.6.so.1.0(PyEval_CallObjectWithKeywords+0x56)[0x7fe74a7474f6]
/sagenb/sage_install/sage-4.7.1/local/lib/libpython2.6.so.1.0[0x7fe74a7813cd]
/lib/libpthread.so.0[0x7fe74a4563f7]
/lib/libc.so.6(clone+0x6d)[0x7fe749b3dbbd]
------------------------------------------------------------------------
Unhandled SIGSEGV: A segmentation fault occurred in Sage.
This probably occurred because a *compiled* component of Sage has a bug
in it and is not properly wrapped with sig_on(), sig_off(). You might
want to run Sage under gdb with 'sage -gdb' to debug this.
Sage will now terminate.
------------------------------------------------------------------------
Segmentation fault
(full error log at http://pastebin.com/FQzxqsZg)
I'm restarting the server, as it says it is stopped currently.
Thanks,
Jason
The load isn't particularly heavy---only about 8 people. It was
handling a much bigger load yesterday, for example. The server was even
slow serving up the webpage when I tried to get it from the computer the
server is running on, so I'm not sure what is going on. I restarted it
once more and it seems fine now. Let us know if it gets slow again.
Thanks,
Jason
It got very slow again and I'm restarting it. I'm worried that has
something to do with what you (Jason) did, e.g., switching to twisted
11?
-- William
> Thanks,
>
> Jason
>
>
> --
> To post to this group, send email to sage-s...@googlegroups.com
> To unsubscribe from this group, send email to
> sage-support...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/sage-support
> URL: http://www.sagemath.org
>
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
The recent changes certainly seem like the most likely culprit.
Switching back to the old versionis should be as easy as switching one
symbolic link to point to sage-4.7 instead of sage-4.7.1:
cd /sagenb/sage_install/
rm sage_sagenb
ln -s sage sage_sagenb
and then restarting sagenb.
Thanks,
Jason
If/when it gets slow again (today?) maybe we can look and see if we
have a clue why it is so slow.
Then this points to the problem *not* being the changes I made. Nothing
I did should have affected demo.sagenb.org. That is running a
completely separate Sage installation with the notebook from July.
Thanks,
Jason
There might have been a change in Rado's branch or the few bugfixes that
I made over the last weekend that slowed things down. But the fact that
demo.sagenb.org is having problems, which is running the codebase from
June (i.e., does not include any of the changes Rado or I made since
June), indicates that the problem is not in the changes Rado and I have
committed to the sage notebook since June.
Thanks,
Jason
Instead I just commented these two lines out of the admin script:
#elif self.name == 'sage_notebook-sagenb':
# sage = 'sage-sagenb'
then did
sagenb@mod:~/servers$ ./admin --restart=sagenb
Instantly after doing this *demo* became much faster.
I noticed before doing this that there was a single sagenb server
Python process running in top using a lot of cpu..
-- William
Sadly, I think you're right.
> After all,
> sagenb.org was on flask (not the latest, though) just a week ago when
> we had 300+ successful open worksheets at a time, right?
Yes, that was pretty normal. It hasn't got very high recently, I
think, because of the speed regression.
We'll see what happens today: I just reverted back to how things were
a week ago.
>
> I have no idea, but a futile guess is that www.sagenb.org being on the
> new codebase is causing the actual machine to grind to a halt (they
> are all on the same server, correct?). I'm otherwise not having any
> connectivity issues - only on the sagenb.org farm. Even sagemath.org
> works fine.
>
> - kcrisman
>
Yes, that would work too.
> then did
>
> sagenb@mod:~/servers$ ./admin --restart=sagenb
>
> Instantly after doing this *demo* became much faster.
> I noticed before doing this that there was a single sagenb server
> Python process running in top using a lot of cpu..
Okay, then it certainly does point to kcrisman's conclusion. I'll see
if I can diagnose the problem, but probably won't have time to do so
until early next week.
Thanks,
Jason
> Instantly after doing this *demo* became much faster.
> I noticed before doing this that there was a single sagenb server
> Python process running in top using a lot of cpu..
For future reference, it would have been *great* to get a stack trace of
the currently executing code for the runaway process. I followed the
instructions in a stack overflow answer [1] and can now do, as the
sagenb user on mod:
gdb -p <PID of sagenb process>
pystack
and get a stack frame listing of a running process.
As I have time, I'll look into where there might be a performance
regression, but there have been a lot of code changes between June and
now, and we haven't seen the performance regression on test.sagenb.org.
Is there a possibility of running the new codebase for sagenb.org again
and getting the stack trace when the process is using that much CPU?
Thanks,
Jason
I'm personally not super comfortable with this, especially if I have
to have to be the one responsible for fixing things when they
inevitably break and cause trouble. From the second I switched back
to the old version until now, I haven't had any complaints about any
*.sagenb.org's not working, and haven't had to restart them, etc. So
I'm only OK with this if you're 100% on deck, and I don't have to do
anything, and you switch it all back as soon as you can.
Of course, the right thing to do is write code to simulate a heavy
load, and run it against test.sagenb.org (or something like that).
-- William
> Thanks,
>
> Jason
>
>
> [1]
> http://stackoverflow.com/questions/132058/getting-stack-trace-from-a-running-python-application/147114#147114
>
>
>
(at least that is, this quarter -- I plan to work a lot on the
notebook next quarter)
> I'm personally not super comfortable with this, especially if I have
> to have to be the one responsible for fixing things when they
> inevitably break and cause trouble. From the second I switched back
> to the old version until now, I haven't had any complaints about any
> *.sagenb.org's not working, and haven't had to restart them, etc. So
> I'm only OK with this if you're 100% on deck, and I don't have to do
> anything, and you switch it all back as soon as you can.
I agree in that I'm not super comfortable with this either. And I agree
that the right solution is to write stress-testing code. Let's see:
Rado had something that was stress-testing things back in March. Rado:
if you have time, can you try hammering test.sagenb.org with that test
suite?
I won't do the sagenb.org test until I have time to deal with whatever
comes up from it.
Thanks,
Jason
Of possible relevance is that the machine that sagenb is running on is
heavily loaded right now, due to me upgrading the system-wide Sage
install on that machine, and building in parallel. This should be
finished in a few minutes.
William
William
On 26 Okt., 17:47, William Stein <wst...@gmail.com> wrote:
Setting MAKE to "make -jN" when (re-)building Sage doesn't limit the
*total* number of build jobs to N;
Great, thanks. I just wanted to download my worksheets which I need
for tomorrow :)
I wonder if switching from the simple twistd server to, say, nginx
serving flask, would help things in the short term. I notice that the
sagenb.org process (given by the PID listed in the ./admin --status
command) hovers around 50-70% CPU utilization. That seems like a lot.
Thanks,
Jason
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "_sage_input_5.py", line 10, in <module> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("Ui48eCx5LHo+ID0gUG93ZXJTZXJpZXNSaW5nKFFRKQpS"),globals())+"\\n"); execfile(os.path.abspath("___code___.py")) File "", line 1, in <module> File "/tmp/tmpHLLnj7/___code___.py", line 2, in <module> R = PowerSeriesRing(QQ, names=('x', 'y', 'z',)); (x, y, z,) = R._first_ngens(3) File "/sagenb/sage_install/sage-4.7/local/lib/python2.6/site-packages/sage/rings/power_series_ring.py", line 183, in PowerSeriesRing name = gens.normalize_names(1, name) File "parent_gens.pyx", line 213, in sage.structure.parent_gens.normalize_names (sage/structure/parent_gens.c:2311) IndexError: the number of names must equal the number of generators
sagenb.org is running Sage 4.7. My guess is that is the problem here.
Thanks,
Jason
Sage has multivariate power series now! Cool. I remember people
talking about implementing them periodically for 6 years, and never
doing it. I'm glad it's done now.
Note that http://test.sagenb.org/ has a newer version of sage.
-- William
>
> Thanks and regards
> -- Vinay
>
>
> --
> To post to this group, send email to sage-s...@googlegroups.com
> To unsubscribe from this group, send email to
> sage-support...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/sage-support
> URL: http://www.sagemath.org
>
--