[erlang-bugs] mnesia/dets breakage when otp R15B03-1 is compiled by gcc 4.8 or 4.9
Mikael Pettersson
mikpelinux@REDACTED
Wed Dec 4 20:44:23 CET 2013
Lukas Larsson writes:
> Hello,
>
> Could it be OTP-11246? It is the only gcc version related patch that I
> can think of.
Perhaps, I did a git bisect which did find something, but I didn't have
time to analyze the results today. I'll follow up tomorrow.
/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