[erlang-bugs] mnesia disc_copies memory size corrupts w/HiPE 64-bit

Anders Nygren anders.nygren@REDACTED
Fri Jun 25 22:19:14 CEST 2010


Hi
Was there any resolution to this?
We are running into the same thing on Solaris 10 x86 with OTP13B02-1
32 bit

$gcc -v
Reading specs from /usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/specs
Configured with:
/builds/sfw10-gate/usr/src/cmd/gcc/gcc-3.4.3/configure
--prefix=/usr/sfw --with-as=/usr/sfw/bin/gas --with-gnu-as
--with-ld=/usr/ccs/bin/ld --without-gnu-ld --enable-languages=c,c++
--enable-shared
Thread model: posix
gcc version 3.4.3 (csl-sol210-3_4-branch+sol_rpath)

Any chance that upgrading to R13B04 would help?

/Anders

On Wed, Aug 19, 2009 at 6:53 PM, Paul Fisher <pfisher@REDACTED> wrote:
> I have a mnesia table that is defined as disc_copies, which ends up with a
> corrupt memory size value after being updated from concurrent (erlang)
> processes from code compiled with HiPE.  All updates to the table are done
> as mnesia:transaction/1 calls.
>
> If I update the table from only two processes the memory size is correct:
>
> (emacs@REDACTED)2> mnesia:table_info(clu_unassignedq,size).
> 0
> (emacs@REDACTED)3> mnesia:table_info(clu_unassignedq,memory).
> 90
>
> After updating the table via 11 processes, the table size ends up zero, but
> memory size is completely bogus:
>
> (emacs@REDACTED)10> mnesia:table_info(clu_unassignedq,size).
> 0
> (emacs@REDACTED)11> mnesia:table_info(clu_unassignedq,memory).
> 2305843009213693459
>
> If the same thing is done with the code calling the mnesia operations is
> *not* compiled with HiPE, all is well and everything appears correct.
>
> This appears to be an artifact of the SMP/ets concurrency improvements
> introduced in R13. Thoughts for further investigation?
>
> Platform is amd64 (intel core 2) on opensolaris.  Erlang R13B02 snapshot
> from 2009/08/12.
>
> pfisher@REDACTED:~/lm/third_party/erlang-R13/install/solaris$ gcc -v
> Reading specs from /usr/sfw/lib/gcc/i386-pc-solaris2.11/3.4.3/specs
> Configured with: /builds2/sfwnv-gate/usr/src/cmd/gcc/gcc-3.4.3/configure
> --prefix=/usr/sfw --with-as=/usr/sfw/bin/gas --with-gnu-as
> --with-ld=/usr/ccs/bin/ld --without-gnu-ld --enable-languages=c,c++,f77,objc
> --enable-shared
> Thread model: posix
> gcc version 3.4.3 (csl-sol210-3_4-20050802)
>
>
> --
> paul
>
> ________________________________________________________________
> erlang-bugs mailing list. See http://www.erlang.org/faq.html
> erlang-bugs (at) erlang.org
>
>


More information about the erlang-bugs mailing list