aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2013-01-25Merge branch 'bjorn/asn1/further-cleanup/OTP-10588'Björn Gustavsson
* bjorn/asn1/further-cleanup/OTP-10588: (28 commits) Don't export encode_disp/2 and decode_disp/2 in generated modules Remove vestiges of support for the {TypeName,Value} notation Simplify the functions for decoding lengths per,uper: Optimize decoding of the remaining data types per,uper: Optimize decoding of the remaining string types Share all code for dec_gen_prim/3 between per/uper back-ends per,uper: Optimize decoding of the string data types testPrimStrings: Test some constraints By default, encode BIT STRING to bitstrings Teach encode functions to accept a bitstring term for a BIT STRING Fix EXTERNAL 1990/1994 conversion information loss uper: Look up some SizeConstraints at compile-time Enumeration decoding: Don't emit a default clause if it cannot match Slightly optimize per encoding of large INTEGERs with constraints BER run-time: Refactor decoding of string data types Refactor decoding of BIT STRINGs Optimize encoding of ENUMERATED in per and uper Remove the unused run-time modules eldap: Remove calls to undocumented asn1rt* functions BER: Correct bug in 'undec_rest' ...
2013-01-25Merge branch 'anders/diameter/R16A_release/OTP-10608'Anders Svensson
* anders/diameter/R16A_release/OTP-10608: vsn -> 1.4 Update appup Spec fix Test makefile tweak Warn about applications/capabilities mismatches in doc Minor documentation fixes Remove upgrade code not needed at a major release Comment fix Add patch target to makefile
2013-01-25Merge branch 'ia/ssl/test-case-timeout'Ingela Anderton Andin
* ia/ssl/test-case-timeout: ssl: Too short timeout in test case
2013-01-25Merge branch 'ia/ssl/dialyzer'Ingela Anderton Andin
* ia/ssl/dialyzer: ssl: Enhance dialyzer specs ssl: Do not return random values ssl: M-x erlang-indent-buffer ssl: Remove unnecessary construction of a return value
2013-01-25Merge branch 'hsv/http_redirect_on_post_303/OTP-10765'Fredrik Gustafsson
* hsv/http_redirect_on_post_303/OTP-10765: inets: fix autoredirect for POST requests responding 303 inets - httpc_SUITE: add redirect tests for response 303
2013-01-25Merge branch 'lukas/tools/emacs_add_error_bif/OTP-10774'Lukas Larsson
* lukas/tools/emacs_add_error_bif/OTP-10774: Update all bif highlighting for emacs
2013-01-25Merge branch 'mh/fix-highlighting-dollar-backslash-singlequote/OTP-10766'Fredrik Gustafsson
* mh/fix-highlighting-dollar-backslash-singlequote/OTP-10766: Fix syntax highlighting of $\' in Emacs mode
2013-01-25Merge branch 'sa/dialyzer-unknown-arity-funs/OTP-10772'Fredrik Gustafsson
* sa/dialyzer-unknown-arity-funs/OTP-10772: Update one more unused funs result as per ffe582b Remove pubsub and comm_layer tests from testsuite Properly support functions with arbitrary arity in type specs. Conflicts: lib/hipe/cerl/erl_types.erl
2013-01-25Merge branch 'ia/public_key/PKCS-10-usage-of-PKCS-9'Ingela Anderton Andin
* ia/public_key/PKCS-10-usage-of-PKCS-9: public_key: Include some PKCS-9 support needed by PKCS-10
2013-01-24Fix syntax highlighting of $\' in Emacs modeMagnus Henoch
The single quote in $\' does not begin an atom. Change the regexp to treat it just like $\". Previously this code would be incorrectly highlighted: foo() -> Quote = $\', %% This gets coloured as an atom, not as a comment ...
2013-01-24Merge branch 'kp/odbc-oracle-autocommit-fix/OTP-10735'Fredrik Gustafsson
* kp/odbc-oracle-autocommit-fix/OTP-10735: Fix aotocommit for Oracle ODBC driver in Linux.
2013-01-24Merge branch 'bjorn/kernel/undefined-function-handler/OTP-10617'Björn Gustavsson
* bjorn/kernel/undefined-function-handler/OTP-10617: Add a warning to discourage abuse of $handle_undefined_function/2
2013-01-24Merge branch 'bjorn/warnings-zero-tolerance'Björn Gustavsson
* bjorn/warnings-zero-tolerance: Turn warnings to errors on selected applications runtime_tools_sup: Eliminate warning inet_parse: Eliminate a compiler warning
2013-01-24Don't export encode_disp/2 and decode_disp/2 in generated modulesBjörn Gustavsson
Those functions were exported for no good reason.
2013-01-24Remove vestiges of support for the {TypeName,Value} notationBjörn Gustavsson
Support in BER was removed in 3d1279f3cebfdd2483c3afea9f225613fe45cd00.
2013-01-24Merge branch 'rickard/r16/port-optimizations/OTP-10336'Rickard Green
* rickard/r16/port-optimizations/OTP-10336: Bump fewer vreds per task callback
2013-01-24Bump fewer vreds per task callbackRickard Green
2013-01-23ssl: Enhance dialyzer specsKostis Sagonas
2013-01-23ssl: Do not return random valuesKostis Sagonas
2013-01-23ssl: M-x erlang-indent-bufferIngela Anderton Andin
2013-01-23ssl: Remove unnecessary construction of a return valueKostis Sagonas
2013-01-23Merge branch 'sverk/opt-timer-wheel2'Sverker Eriksson
* sverk/opt-timer-wheel2: erts: Fixate timer wheel resultion at compile time if possible
2013-01-23Merge branch 'sverk/r16/utf8-atoms'Sverker Eriksson
* sverk/r16/utf8-atoms: erl_interface: Fix bug when transcoding atoms from and to UTF8 erl_interface: Changed erlang_char_encoding interface erts: Testcase doing unicode atom printout with ~w erl_interface: even more utf8 atom stuff erts: Fix bug in analyze_utf8 causing faulty latin1 detection Add UTF-8 node name support for epmd workaround... Fix merge conflict with hasse UTF-8 atom documentation test case erl_interface: utf8 atoms continued Add utf8 atom distribution test cases atom fixes for NIFs and atom_to_binary UTF-8 support for distribution Implement UTF-8 atom support for jinterface erl_interface: Enable decode of unicode atoms stdlib: Fix printing of unicode atoms erts: Change internal representation of atoms to utf8 erts: Refactor rename DFLAG(S)_INTERNAL_TAGS for conformity Conflicts: erts/emulator/beam/io.c OTP-10753
2013-01-23erts: Change system version to R16ABjörn-Egil Dahlberg
Version change to reflect upcoming release candidate
2013-01-23Update preloaded erlang.beamBjörn-Egil Dahlberg
2013-01-23Merge branch 'sal/float_to_list_2/OTP-10752'Björn-Egil Dahlberg
* sal/float_to_list_2/OTP-10752: Text representation of a float formatted using given options.
2013-01-23vsn -> 1.4Anders Svensson
2013-01-23Update appupAnders Svensson
2013-01-23Spec fixAnders Svensson
2013-01-23Test makefile tweakAnders Svensson
2013-01-23Warn about applications/capabilities mismatches in docAnders Svensson
2013-01-23Minor documentation fixesAnders Svensson
2013-01-23Remove upgrade code not needed at a major releaseAnders Svensson
2013-01-23Comment fixAnders Svensson
2013-01-23Add patch target to makefileAnders Svensson
For building unofficial patches.
2013-01-23Merge branch 'anders/diameter/registered/OTP-10442'Anders Svensson
* anders/diameter/registered/OTP-10442: Add registered server names to app file
2013-01-23Merge branch 'siri/common_test/minor_test_fixes/OTP-10483'Siri Hansen
* siri/common_test/minor_test_fixes/OTP-10483: [common_test] Extend timetrap time in ct_hooks_SUITE [common_test] Avoid hanging ct@host node if crypto does not exist [common_test] Changed call to publick_key to use documented interface [common_test] Extend timeout values for slave nodes in ct_master_SUITE [common_test] Extend valid interval for approximate timer values in tests
2013-01-23Merge branch 'egil/fix-win-float-exponent/OTP-10751'Björn-Egil Dahlberg
* egil/fix-win-float-exponent/OTP-10751: erts: Force windows to use two-digit exponent
2013-01-23erl_interface: Fix bug when transcoding atoms from and to UTF8Lukas Larsson
2013-01-23erl_interface: Changed erlang_char_encoding interfaceSverker Eriksson
to allow bitwise-or'd combinations.
2013-01-23Merge branch 'pan/fix_oct_wrap'Patrik Nyblom
* pan/fix_oct_wrap: Make _oct counters in inet_drv exactly 64 bits Add testcase for oct counters Fix inet_drv _oct counters 32bit/64bit bug OTP-10746
2013-01-23Make _oct counters in inet_drv exactly 64 bitsPatrik Nyblom
Also, on 64 bit architectures, use 64 bit int's for the counters and be specific about the counter variables sizes utilizing datatypes from sys.h.
2013-01-23Add testcase for oct countersPatrik Nyblom
2013-01-23Fix inet_drv _oct counters 32bit/64bit bugPatrik Nyblom
2013-01-23Merge branch 'pan/R16/redhat_workaround'Patrik Nyblom
* pan/R16/redhat_workaround: Clean up and make the fix work on windows. Add workaround for CentOS/RedHat writev bug to inet_drv OTP-10747
2013-01-23Merge branch 'pan/fdmanana/fix_efile_drv_crash'Patrik Nyblom
* pan/fdmanana/fix_efile_drv_crash: Fix efile_drv crash when using async thread pool Alternative solution to the efile_drv crash on exit OTP-10748
2013-01-23Fix efile_drv crash when using async thread poolFilipe David Borba Manana
When using the async thread pool and compressed files, when an efile driver port instance is shutdown, the efile_drv stop callback closes the file descriptor (a gzFile instance actually) - this is dangerous if at the same time there's an async thread performing an operation against the file, for example calling invoke_read(), which can result in a segmentation fault, or calling invoke_close() which double closes the gzFile and this in turn causes 2 consecutive calls to driver_free() against same gzFile instance (resulting in later unexpected crashes in erl_bestfit_alloc.c for example). The following test program makes the emulator crash when using the async thread pool: -module(t2). -export([t/1]). t(N) -> file:delete("foo.bar"), % Use of 'compressed' option, for creating/writing the file, % is irrelevant. It only matters when opening it later for % reads - a non-compressed file open with the 'compressed' % option goes through an internal gzFile handle (instead of % a plain integer fd), just like a compressed file. %{ok, Fd} = file:open("foo.bar", [raw, write, binary]), {ok, Fd} = file:open("foo.bar", [raw, write, binary, compressed]), ok = file:write(Fd, <<"qwerty">>), ok = file:close(Fd), Pid = spawn_link(fun() -> process_flag(trap_exit, true), loop(N) end), Ref = erlang:monitor(process, Pid), receive {'DOWN', Ref, _, _, _} -> ok end. loop(0) -> ok; loop(N) -> Server = self(), Pid = spawn(fun() -> {ok, Fd} = file:open("foo.bar", [read, raw, binary, compressed]), Server ! continue, % Comment the file:read/2 call to make the file:close/1 call much % more likely to crash or end up causing efile_drv to close twice % the fd (gzFile), which will make the emulator crash later in the % best fit allocator (erl_bestfit_alloc.c). _ = file:read(Fd, 5), file:close(Fd) end), receive continue -> ok end, exit(Pid, shutdown), loop(N - 1). Running this test when using the async thread pool: shell> erl +A 4 Erlang R15B03 (erts-5.9.3.1) [source] [64-bit] [smp:4:4] [async-threads:4] [hipe] [kernel-poll:false] Eshell V5.9.3.1 (abort with ^G) 1> c(t2). {ok,t2} 2> t2:t(500000). Segmentation fault (core dumped) When not using the async thread pool, there are no issues: shell> erl Erlang R15B03 (erts-5.9.3.1) [source] [64-bit] [smp:4:4] [async-threads:0] [hipe] [kernel-poll:false] Eshell V5.9.3.1 (abort with ^G) 1> c(t2). {ok,t2} 2> t2:t(500000). ok 3> An example stack trace when the crash happens because there's an ongoing read operation is: Thread 1 (Thread 0x7f021cf2c700 (LWP 10687)): #0 updatewindow (strm=0x2691bf8, out=5) at zlib/inflate.c:338 #1 0x00000000005a2ba0 in inflate (strm=0x2691bf8, flush=0) at zlib/inflate.c:1141 #2 0x000000000055c46a in erts_gzread (file=0x2691bf8, buf=0x7f0215b29e80, len=5) at drivers/common/gzio.c:523 #3 0x00000000005849ef in invoke_read (data=0x26b2228) at drivers/common/efile_drv.c:1114 #4 0x000000000050adcb in async_main (arg=0x7f021bf5cf40) at beam/erl_async.c:488 #5 0x00000000005c21a0 in thr_wrapper (vtwd=0x7fff69c6ff10) at pthread/ethread.c:106 #6 0x00007f021c573e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #7 0x00007f021c097cbd in clone () from /lib/x86_64-linux-gnu/libc.so.6 #8 0x0000000000000000 in ?? () And when there's an ongoing close operation when the driver is stopped: Thread 1 (Thread 0x7fe5f5654700 (LWP 747)): #0 0x0000000000459b64 in bf_unlink_free_block (block=0x10b2a70, allctr=<optimized out>, flags=<optimized out>) at beam/erl_bestfit_alloc.c:792 #1 bf_unlink_free_block (flags=0, block=0x10b2a70, allctr=0x873380) at beam/erl_bestfit_alloc.c:822 #2 bf_get_free_block (allctr=0x873380, size=<optimized out>, cand_blk=<optimized out>, cand_size=<optimized out>, flags=0) at beam/erl_bestfit_alloc.c:869 #3 0x000000000044f0dd in mbc_alloc_block (alcu_flgsp=<synthetic pointer>, blk_szp=<synthetic pointer>, size=200, allctr=0x873380) at beam/erl_alloc_util.c:1198 #4 mbc_alloc (allctr=0x873380, size=200) at beam/erl_alloc_util.c:1345 #5 0x000000000045449b in do_erts_alcu_alloc (size=200, extra=0x873380, type=165) at beam/erl_alloc_util.c:3442 #6 erts_alcu_alloc_thr_pref (type=165, extra=<optimized out>, size=192) at beam/erl_alloc_util.c:3520 #7 0x000000000055c0bf in gz_open (mode=0x5d98b2 "rb", path=0x1103418 "foo.bar") at drivers/common/gzio.c:164 #8 erts_gzopen (path=0x1103418 "foo.bar", mode=0x5d98b2 "rb") at drivers/common/gzio.c:307 #9 0x0000000000584e47 in invoke_open (data=0x1103330) at drivers/common/efile_drv.c:1857 #10 0x000000000050adcb in async_main (arg=0x7fe5f698af80) at beam/erl_async.c:488
2013-01-23Alternative solution to the efile_drv crash on exitPatrik Nyblom
2013-01-23Update primary bootstrapBjörn Gustavsson
2013-01-23Merge branch 'lukas/erts/busy-port-tests/OTP-10336'Rickard Green
* lukas/erts/busy-port-tests/OTP-10336: Add testcases for strange port scheduling scenarios