vitessio / vitess

Vitess is a database clustering system for horizontal scaling of MySQL.
http://vitess.io
Apache License 2.0
18.53k stars 2.09k forks source link

Go: int overflow on 32 bits arches #4971

Closed eclipseo closed 3 years ago

eclipseo commented 5 years ago

Golang 1.12.6 on i686 and armv7 (Fedora Linux Rawhide):

BUILDSTDERR: cd /builddir/build/BUILD/vitess-948c2518355749c076675c79f257b4acbf349852/_build/src/vitess.io/vitess/go/vt/binlog/binlogplayer
BUILDSTDERR: /usr/lib/golang/pkg/tool/linux_386/compile -o $WORK/b296/_pkg_.a -trimpath $WORK/b296 -shared -p vitess.io/vitess/go/vt/binlog/binlogplayer -complete -installsuffix shared -buildid kvfmrcTnXFCnqfzPpjVL/kvfmrcTnXFCnqfzPpjVL -goversion go1.12.6 -D "" -importcfg $WORK/b296/importcfg -pack ./binlog_player.go ./client.go ./dbclient.go ./fake_dbclient.go ./mock_dbclient.go
BUILDSTDERR: # vitess.io/vitess/go/vt/binlog/binlogplayer
BUILDSTDERR: _build/src/vitess.io/vitess/go/vt/binlog/binlogplayer/binlog_player.go:581:70: constant 9223372036854775807 overflows int
eclipseo commented 5 years ago

Another error in tests:

vitess.io/vitess/go/vt/binlog/binlogplayer
ERROR: logging before flag.Parse: E0701 20:02:10.231136   16889 syslogger.go:122] can't connect to syslog
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x5674c96b]
goroutine 43 [running]:
runtime/internal/atomic.Load64(0x591e4284, 0xffffffff, 0x56cc5e15)
    /usr/lib/golang/src/runtime/internal/atomic/asm_386.s:194 +0xb
vitess.io/vitess/go/sync2.(*AtomicInt64).Get(...)
    /builddir/build/BUILD/vitess-948c2518355749c076675c79f257b4acbf349852/_build/src/vitess.io/vitess/go/sync2/atomic.go:77
vitess.io/vitess/go/vt/throttler.(*MaxReplicationLagModule).MaxRate(0x591e4180, 0xffffffff, 0x7fffffff)
    /builddir/build/BUILD/vitess-948c2518355749c076675c79f257b4acbf349852/_build/src/vitess.io/vitess/go/vt/throttler/max_replication_lag_module.go:181 +0x2a
vitess.io/vitess/go/vt/throttler.(*Throttler).updateMaxRate(0x591d4300)
    /builddir/build/BUILD/vitess-948c2518355749c076675c79f257b4acbf349852/_build/src/vitess.io/vitess/go/vt/throttler/throttler.go:251 +0x87
vitess.io/vitess/go/vt/throttler.newThrottler(0x590a6a50, 0x591c6130, 0xe, 0x56cea10e, 0xc, 0x1, 0xffffffff, 0x7fffffff, 0xffffffff, 0x7fffffff, ...)
    /builddir/build/BUILD/vitess-948c2518355749c076675c79f257b4acbf349852/_build/src/vitess.io/vitess/go/vt/throttler/throttler.go:181 +0x6e9
vitess.io/vitess/go/vt/throttler.NewThrottler(...)
    /builddir/build/BUILD/vitess-948c2518355749c076675c79f257b4acbf349852/_build/src/vitess.io/vitess/go/vt/throttler/throttler.go:129
vitess.io/vitess/go/vt/binlog/binlogplayer.(*BinlogPlayer).applyEvents(0x5917c190, 0x5703f2a0, 0x590d2ba0, 0x0, 0x0)
    /builddir/build/BUILD/vitess-948c2518355749c076675c79f257b4acbf349852/_build/src/vitess.io/vitess/go/vt/binlog/binlogplayer/binlog_player.go:207 +0x27e
vitess.io/vitess/go/vt/binlog/binlogplayer.(*BinlogPlayer).ApplyBinlogEvents(0x5917c190, 0x5703f2a0, 0x590d2ba0, 0x0, 0x0)
    /builddir/build/BUILD/vitess-948c2518355749c076675c79f257b4acbf349852/_build/src/vitess.io/vitess/go/vt/binlog/binlogplayer/binlog_player.go:183 +0x10c
vitess.io/vitess/go/vt/binlog/binlogplayer.applyEvents.func1(0x591cc380, 0x5917c190, 0x5703f2a0, 0x590d2ba0)
BUILDSTDERR:    /builddir/build/BUILD/vitess-948c2518355749c076675c79f257b4error: Bad exit status from /var/tmp/rpm-tmp.EzRrc4 (%check)
acbf349852/_build/src/vitess.io/vitess/go/vt/binlog/binlogplayer/binlog_player_test.go:312 +0x32
created by vitess.io/vitess/go/vt/binlog/binlogplayer.applyEvents
    /builddir/build/BUILD/vitess-948c2518355749c076675c79f257b4acbf349852/_build/src/vitess.io/vitess/go/vt/binlog/binlogplayer/binlog_player_test.go:311 +0xa8
exit status 2
FAIL    vitess.io/vitess/go/vt/binlog/binlogplayer  0.018s
aquarapid commented 3 years ago

I do not think we plan on supporting 32 bit architectures, sorry.