[erlang-bugs] mnesia/dets breakage when otp R15B03-1 is compiled by gcc 4.8 or 4.9
Mikael Pettersson
mikpelinux@REDACTED
Thu Dec 5 14:00:30 CET 2013
Sverker Eriksson writes:
> This commit seems like yet a bug fix for the this fix.
>
> c4da6eed78d30670d3602f746030e03c46137ead
> Fix EV_* macros and functions signedness flaws
I saw that one too. It seems related but doesn't backport cleanly
(hunk #4 fails to apply) -- the problematic hunk seems redundant
so I'll try with it omitted.
/Mikael
>
> /Sverker, Erlang/OTP
>
>
> On 12/05/2013 12:54 PM, Mikael Pettersson wrote:
> > Lukas Larsson writes:
> > > Hello,
> > >
> > > Could it be OTP-11246? It is the only gcc version related patch that I
> > > can think of.
> >
> > Both test cases, mine and Erik's, are fixed by backporting two commits,
> >
> > >From 9f3dc09c1a70bd485b211768bedf989bed7fbf21 Mon Sep 17 00:00:00 2001
> > From: Lukas Larsson <lukas@REDACTED>
> > Date: Mon, 12 Aug 2013 16:04:31 +0200
> > Subject: [PATCH] erts: Refactor non-pure macros to functions
> >
> > and
> >
> > >From 3b1d9f46c187ecdad3930c52fa4fbe4d547277c8 Mon Sep 17 00:00:00 2001
> > From: Lukas Larsson <lukas@REDACTED>
> > Date: Tue, 20 Aug 2013 17:19:36 +0200
> > Subject: [PATCH] erts: Fix bug in translating ev macros to functions
> >
> > The first one suffices for the test cases, but the second one fixes
> > apparent errors in the first one so I'll treat them as a unit.
> >
> > I'll run some more tests on our full code base.
> >
> > /Mikael
> >
> > >
> > > Lukas
> > >
> > > On 04/12/13 15:00, Mikael Pettersson wrote:
> > > > We're using otp R15B03-1 on x86_64-linux. During initialization of our
> > > > application we create a bunch of mnesia disc_copies tables. If otp
> > > > was compiled by gcc 4.8 or 4.9, then during the creation of the 257th
> > > > mnesia table DETS spews the following warning
> > > >
> > > > dets: file "/.../Mnesia.nonode@REDACTED/schema.DAT" not properly closed, repairing ...
> > > >
> > > > but the mnesia:create_table/2 call doesn't fail. However the schema.DAT
> > > > file is corrupt and subsequent usage of mnesia fails.
> > > >
> > > > If otp R15B03-1 is compiled with gcc 4.7 or 4.6 the problem doesn't occur.
> > > >
> > > > If we use otp R16B02 compiled by gcc 4.8 or 4.9 the problem doesn't occur.
> > > >
> > > > At the moment we can't upgrade to R16B02, and as our developers upgrade their
> > > > machines to newer Linux distributions they get gcc-4.8 as their system compiler
> > > > and things break.
> > > >
> > > > Are there any known bug fixes in R16 that may be related to this?
> > > >
> > > > I'm appending the trivial reproducer below.
> > > >
> > > > /Mikael
> > > >
> > > > -module(bug).
> > > > -compile(export_all).
> > > > doit() ->
> > > > mnesia:delete_schema([node()]),
> > > > mnesia:create_schema([node()]),
> > > > mnesia:start(),
> > > > doit(0).
> > > >
> > > > doit(I) when I < 260 ->
> > > > D0 = $0 + (I rem 10),
> > > > D1 = $0 + ((I div 10) rem 10),
> > > > D2 = $0 + ((I div 100) rem 10),
> > > > Name = list_to_atom([$f, $o, $o, D2, D1, D0]),
> > > > io:format("creating table ~p~n", [Name]),
> > > > TabDef = [{disc_copies,[node()]}, {type,set}, {attributes,[key,val]}],
> > > > {atomic, ok} = mnesia:create_table(Name, TabDef),
> > > > doit(I + 1);
> > > > doit(_I) ->
> > > > ok.
> > > > _______________________________________________
> > > > erlang-bugs mailing list
> > > > erlang-bugs@REDACTED
> > > > http://erlang.org/mailman/listinfo/erlang-bugs
> > > >
> > >
> > > _______________________________________________
> > > erlang-bugs mailing list
> > > erlang-bugs@REDACTED
> > > http://erlang.org/mailman/listinfo/erlang-bugs
> >
--
More information about the erlang-bugs
mailing list