LMFDB / lmfdb

L-Functions and Modular Forms Database
Other
246 stars 199 forks source link

Page for Galois group fails 34T82 #6177

Open edgarcosta opened 1 month ago

edgarcosta commented 1 month ago

https://beta.lmfdb.org/GaloisGroup/34T82

and the www version fail:


Exception on /GaloisGroup/34T82 [GET]
Traceback (most recent call last):
  File "/home/sage/sage-9.7/local/var/lib/sage/venv-python3.10.5/lib/python3.10/site-packages/flask/app.py", line 2525, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/sage/sage-9.7/local/var/lib/sage/venv-python3.10.5/lib/python3.10/site-packages/flask/app.py", line 1822, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/sage/sage-9.7/local/var/lib/sage/venv-python3.10.5/lib/python3.10/site-packages/flask/app.py", line 1820, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/sage/sage-9.7/local/var/lib/sage/venv-python3.10.5/lib/python3.10/site-packages/flask/app.py", line 1796, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/home/lmfdb/lmfdb-git-dev/lmfdb/galois_groups/main.py", line 82, in by_label
    return render_group_webpage({'label': label})
  File "/home/lmfdb/lmfdb-git-dev/lmfdb/galois_groups/main.py", line 335, in render_group_webpage
    data['malle_a'] = wgg.malle_a
  File "sage/misc/lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__
    result = self.f(a)
  File "/home/lmfdb/lmfdb-git-dev/lmfdb/galois_groups/transitive_group.py", line 224, in malle_a
    ccs = self.conjclasses
  File "sage/misc/lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__
    result = self.f(a)
  File "/home/lmfdb/lmfdb-git-dev/lmfdb/galois_groups/transitive_group.py", line 204, in conjclasses
    cc = [isom.Image(z) for z in cc1]
  File "/home/lmfdb/lmfdb-git-dev/lmfdb/galois_groups/transitive_group.py", line 204, in <listcomp>
    cc = [isom.Image(z) for z in cc1]
  File "sage/libs/gap/element.pyx", line 2675, in sage.libs.gap.element.GapElement_MethodProxy.__call__
    return GapElement_Function.__call__(self, * ([self.first_argument] + list(args)))
  File "sage/libs/gap/element.pyx", line 2523, in sage.libs.gap.element.GapElement_Function.__call__
    sig_on()
RuntimeError: Aborted
[2024-08-30 11:31:06 UTC] 500 error on URL https://beta.lmfdb.org/GaloisGroup/34T82 ()
roed314 commented 1 week ago

@jwj61 I'm seeing this again in other cases (e.g. https://beta.lmfdb.org/GaloisGroup/42T8771). Maybe it's worth disabling the new Malle invariants for larger degrees.

jwj61 commented 1 week ago

Looking at it. I tried removing the Malle constant from all cases, and the page still doesn't load. From the error message, it looks like it involves to isomorphism to the abstract group.

roed314 commented 1 week ago

Got a different but related traceback (in the flasklog):

Exception on /GaloisGroup/34T18 [GET]
Traceback (most recent call last):
  File "/home/sage/sage-10.1/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/flask/app.py", line 2073, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/sage/sage-10.1/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/flask/app.py", line 1519, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/sage/sage-10.1/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/flask/app.py", line 1517, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/sage/sage-10.1/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/flask/app.py", line 1503, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/home/lmfdb/lmfdb-git-web/lmfdb/galois_groups/main.py", line 82, in by_label
    return render_group_webpage({'label': label})
  File "/home/lmfdb/lmfdb-git-web/lmfdb/galois_groups/main.py", line 265, in render_group_webpage
    data['cclasses'] = wgg.conjclasses
  File "sage/misc/lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__
    result = self.f(a)
  File "/home/lmfdb/lmfdb-git-web/lmfdb/galois_groups/transitive_group.py", line 204, in conjclasses
    cc = [isom.Image(z) for z in cc1]
  File "/home/lmfdb/lmfdb-git-web/lmfdb/galois_groups/transitive_group.py", line 204, in <listcomp>
    cc = [isom.Image(z) for z in cc1]
  File "sage/libs/gap/element.pyx", line 2645, in sage.libs.gap.element.GapElement_MethodProxy.__call__
    return GapElement_Function.__call__(self, * ([self.first_argument] + list(args)))
  File "sage/libs/gap/element.pyx", line 2514, in sage.libs.gap.element.GapElement_Function.__call__
    sig_on()
sage.libs.gap.util.GAPError: Error, reached the pre-set memory limit
(change it with the -o command line option)
[2024-09-25 12:42:36 UTC] 500 error on URL https://www.lmfdb.org/GaloisGroup/34T18 ()
jwj61 commented 1 week ago

I believe that the Malle constant is a stumbling block. It seems that just removing it on affected pages won't be enough -- those pages will still be initializing their conjugacy classes which keeps the page from loading.

Another approach could be to precompute conjugacy class data. We don't rely on on-the-fly computations very much anymore.

jwj61 commented 1 week ago

In making a table of conjugacy class data (just group label, size, encoded representative), what should be the cutoff, as in, if a group has more than N conjugacy classes, then we don't compute them. Using N=2500, it will have a total of 277 million classes; N=1500 gives 181 million classes; N=1000 gives 115 millions; N=500 gives 49 million.