[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#32463: 27.0.50; (logior -1) => 4611686018427387903
From: |
Pip Cet |
Subject: |
bug#32463: 27.0.50; (logior -1) => 4611686018427387903 |
Date: |
Sun, 19 Aug 2018 10:48:19 +0000 |
On Sat, Aug 18, 2018 at 10:58 PM Paul Eggert <eggert@cs.ucla.edu> wrote:
My bigger concern is memory management, along with integer overflow in size or
> bitcount calculation. Copies are made of bignums when not needed, behavior is
> dicey if memory is exhausted during bignum computation, and I'm afraid C-g
> will
> have problems when bignums get large.
Even if memory isn't exhausted, creating a bignum larger than 16 GB
(our most-positive-bignum) results in an immediate crash with external
libgmp (Linux, x86_64), and that appears not to be easy to fix without
modifying gmp.
> I don't have a good handle on this stuff
> yet. I have put in some sanity checks (e.g., see check_bignum_size in emacs.c)
> but I suspect more are needed. In particular, Fexpt will need to be careful as
> it is a good way to explode a bignum's size.
That and left shifts are probably the ones to worry about for now.
Creating a large bignum by repeated multiplication will require at
least some intermediate bignums, which need to be allocated and copied
and thus probably alert the user to something going on.
bug#32463: 27.0.50; (logior -1) => 4611686018427387903, Paul Eggert, 2018/08/18
- bug#32463: 27.0.50; (logior -1) => 4611686018427387903, Paul Eggert, 2018/08/18
- bug#32463: 27.0.50; (logior -1) => 4611686018427387903, Andy Moreton, 2018/08/19
- bug#32463: 27.0.50; (logior -1) => 4611686018427387903,
Pip Cet <=
- bug#32463: 27.0.50; (logior -1) => 4611686018427387903, Paul Eggert, 2018/08/19
- bug#32463: 27.0.50; (logior -1) => 4611686018427387903, Pip Cet, 2018/08/19
- bug#32463: 27.0.50; (logior -1) => 4611686018427387903, Paul Eggert, 2018/08/21
- bug#32463: 27.0.50; (logior -1) => 4611686018427387903, Andy Moreton, 2018/08/21
- bug#32463: 27.0.50; (logior -1) => 4611686018427387903, Eli Zaretskii, 2018/08/21
- bug#32463: 27.0.50; (logior -1) => 4611686018427387903, Andy Moreton, 2018/08/21
- bug#32463: 27.0.50; (logior -1) => 4611686018427387903, Paul Eggert, 2018/08/21
bug#32463: 27.0.50; (logior -1) => 4611686018427387903, Paul Eggert, 2018/08/19
bug#32463: 27.0.50; (logior -1) => 4611686018427387903, Tom Tromey, 2018/08/22