[erlang-questions] Erlang/OTP 18.0-rc2 is available for testing

Rickard Green <>
Wed May 13 15:32:38 CEST 2015


I broke it :-/ I'll unbreak it and post a notification here when it
has been fixed in master. I can not promise exactly when that will
happen, but at least before the actual release.

Regards,
Rickard

On Wed, May 13, 2015 at 3:24 PM, Steve Vinoski <> wrote:
> Hi Jesper, I see this too. It must be due to a very recent change, as I've
> been successfully building and running quite a bit recently from master with
> dirty schedulers enabled.
>
> It's got something to do with timer wheel:
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x1113 of process 16360]
> 0x000000010017480c in erts_check_next_timeout_time (esdp=0x10370a440) at
> beam/time.c:280
> 280    if (tiw->true_next_timeout_time)
> (gdb) bt
> #0  0x000000010017480c in erts_check_next_timeout_time (esdp=0x10370a440) at
> beam/time.c:280
> #1  0x000000010014c5bb in scheduler_wait (fcalls=0x105b47b20,
> esdp=0x10370a440, rq=0x101e47140) at beam/erl_process.c:2902
> #2  0x0000000100145e1a in schedule (p=0x0, calls=0) at
> beam/erl_process.c:9340
> #3  0x0000000100000e6e in process_main () at beam/beam_emu.c:1253
> #4  0x0000000100142428 in sched_dirty_cpu_thread_func (vesdp=0x10370a440) at
> beam/erl_process.c:7946
> #5  0x000000010033e7a1 in thr_wrapper (vtwd=0x7fff5fbfee88) at
> pthread/ethread.c:113
> #6  0x00007fff8eae3268 in _pthread_body () from
> /usr/lib/system/libsystem_pthread.dylib
> #7  0x00007fff8eae31e5 in _pthread_start () from
> /usr/lib/system/libsystem_pthread.dylib
> #8  0x00007fff8eae141d in thread_start () from
> /usr/lib/system/libsystem_pthread.dylib
> #9  0x0000000000000000 in ?? ()
> (gdb) p tiw
> $1 = (ErtsTimerWheel *) 0x0
>
> The dirty scheduler threads are restricted in what they can do as compared
> to normal schedulers, so my guess is that the dirty scheduler threads should
> not be entering this code.
>
> --steve
>
>
> On Wed, May 13, 2015 at 9:06 AM, Jesper Louis Andersen
> <> wrote:
>>
>> And edited to add, I know the version given by sha ce96ab6 compiled
>> (OTP-18.0-rc1-503-gce96ab6).
>>
>>
>> On Wed, May 13, 2015 at 3:04 PM, Jesper Louis Andersen
>> <> wrote:
>>>
>>> I'll just attach this here, but on my machine the BEAM emulator segfaults
>>> under the build if passed the --enable-dirty-schedulers option:
>>>
>>> git checkout -b t OTP-18.0-rc2
>>> git clean -dfxq
>>> ./otp_build autoconf
>>> ./configure --enable-dirty-schedulers --prefix=/usr/local/stow/$(git
>>> describe)
>>> make -j 10
>>>
>>> I had expected this to complete and give my an 'erl' with dirty
>>> schedulers enabled, but once it gets into 'erlc' compiling it's first
>>> binary, the command segfaults. Not passing --enable-dirty-schedulers works.
>>>
>>> Is this confirmable by anyone else, just to rule out my machine from the
>>> loop?
>>>
>>>
>>> On Wed, May 13, 2015 at 1:48 PM, Kenneth Lundin <>
>>> wrote:
>>>>
>>>> Erlang/OTP 18.0-rc2 is available for testing.
>>>>
>>>> This is the second and last release candidate before the final OTP 18.0
>>>> product release in June 2015.
>>>>
>>>> Between the 18.0 rc1 and 18.0 rc 2 and the final release there will be
>>>> new updates of
>>>> the master branch with corrections and minor new features.
>>>> Occasionally there might be new tags which we in that
>>>> case will communicate and ask you to test.
>>>>
>>>> Erlang/OTP 18.0 is a new major release with new features, quite a few
>>>> (characteristics) improvements, as well as a few incompatibilities.
>>>>
>>>> See the Release Notes and the documentation for more details.
>>>>
>>>> We would like to ask you to build and test this release candidate and
>>>> send us
>>>> your feedback as soon as possible, so that we can make the necessary
>>>> corrections before OTP 18.0.
>>>>
>>>> The release contains many changes; thus, some unexpected
>>>> incompatibilities
>>>> or issues may have slipped through our tests.
>>>> Please try to build and run your current products/applications and let
>>>> us
>>>> know about any problems.
>>>>
>>>> IMPORTANT INFO when building your own code with this OTP release
>>>>
>>>> Since erlang:now is deprecated your build might stop if you are using
>>>> "warnings as errors".
>>>> To let the build through you can turn of warnings for deprecated
>>>> functions
>>>> by setting an environment variable like this:
>>>>   export ERL_COMPILER_OPTIONS=nowarn_deprecated_function
>>>>
>>>> Some highlights of the release are:
>>>>
>>>> dialyzer: The -dialyzer() attribute can be used for suppressing warnings
>>>> in a module by specifying functions or warning options.
>>>> It can also be used for requesting warnings in a module.
>>>> erts: The time functionality has been extended. This includes a new API
>>>> for
>>>> time, as well as "time warp" modes which alters the behavior when system
>>>> time changes. You are strongly encouraged to use the new API instead of the
>>>> old API based on erlang:now/0. erlang:now/0 has been deprecated since it
>>>> will always be a scalability bottleneck.
>>>> For more information see the Time and Time Correction chapter of the
>>>> ERTS User's Guide. Here is a link
>>>> http://www.erlang.org/documentation/doc-7.0-rc2/erts-7.0/doc/html/time_correction.html
>>>> erts: Beside the API changes and time warp modes a lot of scalability
>>>> and performance improvements regarding time management has been made.
>>>> Examples are:
>>>>
>>>> scheduler specific timer wheels,
>>>> scheduler specific BIF timer management,
>>>> parallel retrieval of monotonic time and system time on OS:es that
>>>> support it.
>>>>
>>>> erts: The previously introduced "eager check I/O" feature is now enabled
>>>> by default.
>>>> erts/compiler: enhanced support for maps. Big maps new uses a HAMT (Hash
>>>> Array Mapped Trie) representation internally which makes them more
>>>> efficient. There is now also support for variables as map keys.
>>>> ssl: Remove default support for SSL-3.0 and added padding check for
>>>> TLS-1.0 due to the Poodle vulnerability.
>>>> ssl: Remove default support for RC4 cipher suites, as they are consider
>>>> too weak.
>>>> stdlib: Allow maps for supervisor flags and child specs
>>>>
>>>>
>>>> You can find the Release Notes with more detailed info at
>>>>
>>>>   http://www.erlang.org/download/OTP-18.0-rc2.README
>>>>
>>>> You find the source code at github.com in the official Erlang
>>>> repository.
>>>>
>>>> Git tag OTP-18.0-rc2
>>>>
>>>> https://github.com/erlang/otp/tree/OTP-18.0-rc2
>>>>
>>>> You can also read the documentation on-line here:
>>>> (see the Release Notes mentioned above for release notes which
>>>> are not updated in the doc, but the new functionality is)
>>>>
>>>> http://www.erlang.org/documentation/doc-7.0-rc2/doc/
>>>>
>>>> We also want to thank those that sent us patches, suggestions and bug
>>>> reports.
>>>>
>>>> The Erlang/OTP Team at Ericsson
>>>>
>>>> _______________________________________________
>>>> erlang-questions mailing list
>>>> 
>>>> http://erlang.org/mailman/listinfo/erlang-questions
>>>>
>>>
>>>
>>>
>>> --
>>> J.
>>
>>
>>
>>
>> --
>> J.
>>
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>



-- 
Rickard Green, Erlang/OTP, Ericsson AB


More information about the erlang-questions mailing list