aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-04-01Merge branch 'egil/fix-maps-tmp-heap'Björn-Egil Dahlberg
* egil/fix-maps-tmp-heap: erts: Test deep Maps updates erts: Use halfword secure tmp heap erts: Remove unused tmp heap in make_internal_hash Conflicts: erts/emulator/test/map_SUITE.erl
2015-04-01Merge branch 'egil/fix-maps-from_list-size'Björn-Egil Dahlberg
* egil/fix-maps-from_list-size: erts: Strengthen Maps merge tests erts: Try to test deep Maps collision erts: Fix size bug in maps:from_list/1 BIF
2015-04-01Merge branch 'egil/maps/tests'Björn-Egil Dahlberg
* egil/maps/tests: debugger: Strengthen Maps tests compiler: Strengthen Maps tests erts: Strengthen Maps tests
2015-03-31erts: Test deep Maps updatesBjörn-Egil Dahlberg
2015-03-31erts: Use halfword secure tmp heapBjörn-Egil Dahlberg
2015-03-31erts: Remove unused tmp heap in make_internal_hashBjörn-Egil Dahlberg
2015-03-31erts: Strengthen Maps merge testsBjörn-Egil Dahlberg
2015-03-31erts: Try to test deep Maps collisionBjörn-Egil Dahlberg
Ensure maps:size/1 is correct.
2015-03-31erts: Fix size bug in maps:from_list/1 BIFBjörn-Egil Dahlberg
The wrong size was imprinted on maps with deep hash key collisions.
2015-03-31Updated OTP versionOTP-17.5Erlang/OTP
2015-03-31Prepare releaseErlang/OTP
2015-03-31erts: Optimize insert and delete for big mapsSverker Eriksson
Do fast path without bit count for full internal nodes.
2015-03-30erts: Optimize == and /= for unequal big mapsSverker Eriksson
Bail out as soon as we find a diff between maps if we are not interested in term order.
2015-03-30erts: Refactor encode_size_struct_intSverker Eriksson
to handle the "start of list" case in one place and not seven. Note that this commit reverts (47d6fd3ccf35) back to using WSTACK and pushing raw pointers. We disable GC while yielding, so this should not be a problem.
2015-03-30erts: Suppress valgrind for bif_SUITE:erlang_haltSverker Eriksson
which does a deliberate deref of null pointer which is caught by a SEGV signal handler to resume crash dumping.
2015-03-30debugger: Strengthen Maps testsBjörn-Egil Dahlberg
2015-03-30compiler: Strengthen Maps testsBjörn-Egil Dahlberg
2015-03-30erts: Strengthen Maps testsBjörn-Egil Dahlberg
2015-03-30Merge branch 'egil/fix-maps-new_map-instruction'Björn-Egil Dahlberg
* egil/fix-maps-new_map-instruction: erts: Eliminate potential heap fragments after Map creation
2015-03-30Merge branch 'egil/fix-make_internal_hash-float'Björn-Egil Dahlberg
* egil/fix-make_internal_hash-float: erts: Add tests for internal_hash erts: Fix make_internal_hash for 0.0 vs -0.0
2015-03-30Merge branch 'egil/maps/tests'Björn-Egil Dahlberg
* egil/maps/tests: debugger: Strengthen Maps tests compiler: Strengthen Maps tests erts: Strengthen Maps tests
2015-03-30Merge branch 'maint'Dan Gudmundsson
* maint: observer: Fix crash in process_window
2015-03-30Merge branch 'dgud/observer/fix-atom-tostr/OTP-12634' into maintDan Gudmundsson
* dgud/observer/fix-atom-tostr/OTP-12634: observer: Fix crash in process_window
2015-03-27erts: Eliminate potential heap fragments after Map creationBjörn-Egil Dahlberg
2015-03-27erts: Add tests for internal_hashBjörn-Egil Dahlberg
2015-03-27observer: Fix crash in process_windowDan Gudmundsson
Links can be to named processes, convert atom to list
2015-03-27erts: Fix make_internal_hash for 0.0 vs -0.0Björn-Egil Dahlberg
The internal_hash should produce the same hash value for identical terms, in this case 0.0 =:= -0.0.
2015-03-27Merge branch 'maint'Anders Svensson
2015-03-27Merge branch 'maint'Sverker Eriksson
Conflicts: lib/stdlib/src/stdlib.appup.src
2015-03-27Merge branch 'anders/diameter/hardening/OTP-12628' into maintAnders Svensson
* anders/diameter/hardening/OTP-12628: Remove potentially large error reason in call to diameter_lib:log/4 Limit FQDN in DiameterURI to 255 octets Limit DiameterURI ports to 0-65535 digits on decode Add service_opt() incoming_maxlen Add guard to reject {spawn_opt, false} as transport/service_opt()
2015-03-27Merge branch 'sverk/large-list_to_integer-bug/OTP-12624' into maintSverker Eriksson
* sverk/large-list_to_integer-bug/OTP-12624: erts: Fix bug in list_to_integer for very large strings
2015-03-27Remove potentially large error reason in call to diameter_lib:log/4Anders Svensson
The function is intended to be traced on, to see abnormalities (mostly) without producing excessive output. In the case of decode failure, the error reason can be things like {badmatch, HugeBinary}. Missed in commit 0058430.
2015-03-27Merge branch 'dgud/mnesia/try-catch'Dan Gudmundsson
* dgud/mnesia/try-catch: mnesia: Replace catch with try-catch
2015-03-27mnesia: Replace catch with try-catchDan Gudmundsson
Avoids building stacktraces where it is not needed and do not mask errors, i.e. only catch the relevant classes in each try.
2015-03-27Merge branch 'dgud/wx/prefer-wxMSW-3/OTP-12632'Dan Gudmundsson
* dgud/wx/prefer-wxMSW-3/OTP-12632: wx: Fix variable cursor constants wx: On Mac keyboards use meta field as raw_ctrl wx: Prefer wxWidgets-3.0. branch on windows
2015-03-27wx: Fix variable cursor constantsDan Gudmundsson
Fix cursor constants that changes with OS and wxWidgets releases.
2015-03-27wx: On Mac keyboards use meta field as raw_ctrlDan Gudmundsson
On mac and wxWidgets-3.0 the crtlDown field in keyboard and mouse events are set when command button is pressed. The ctrl key on mac keyboard is in a field called raw_control as this would be backward incompatible to add we reuse the metaDown field as indicator when the ctrl keyboard button is pressed.
2015-03-27wx: Prefer wxWidgets-3.0. branch on windowsDan Gudmundsson
Since no bug fixes are done anymore on the 2.8 branch it is time to switch the preferred version to 3.0 branch.
2015-03-27Merge branch 'dgud/observer/allocator-graphs/OTP-12631'Dan Gudmundsson
* dgud/observer/allocator-graphs/OTP-12631: observer: Fix menu code (for mac) observer: Add a new tab memory allocator charts
2015-03-27observer: Fix menu code (for mac)Dan Gudmundsson
Have been broken since: 6fe02e14d observer: Add SASL log view for processes
2015-03-27observer: Add a new tab memory allocator chartsDan Gudmundsson
Easier to the see memory usage and utilization as charts instead of values that is updating during runtime. Remove from system page and create a separate allocator tab.
2015-03-27debugger: Strengthen Maps testsBjörn-Egil Dahlberg
2015-03-27compiler: Strengthen Maps testsBjörn-Egil Dahlberg
2015-03-27erts: Strengthen Maps testsBjörn-Egil Dahlberg
2015-03-27Merge branch 'dgud/erts/fix-driver-thread-name'Dan Gudmundsson
* dgud/erts/fix-driver-thread-name: Fix thread name from driver api
2015-03-27Merge branch 'egil/fix-make_internal_hash'Björn-Egil Dahlberg
* egil/fix-make_internal_hash: erts: Fix missing case in make_internal_hash
2015-03-27Merge branch 'hb/doc/refman_type_fix'Hans Bolinder
* hb/doc/refman_type_fix: doc: Use module() in the definition of the built-in type mfa()
2015-03-27Limit FQDN in DiameterURI to 255 octetsAnders Svensson
As for the port number in the parent commit, a FQDN can't be arbitrarily long, at most 255 octets. Make decode fail if it's more.
2015-03-27Limit DiameterURI ports to 0-65535 digits on decodeAnders Svensson
A port number is a 16-bit integer, but the regexp used to parse it in commit 1590920 slavishly followed the RFC 6733 grammar in matching an arbitrary number of digits. Make decode fail if it's anything more than 5, to avoid doing erlang:list_to_integer/1 on arbitrarily large lists. Also make it fail if the resulting integer is outside of the expected range.
2015-03-27Add service_opt() incoming_maxlenAnders Svensson
To bound the length of incoming messages that will be decoded. A message longer than the specified number of bytes is discarded. An incoming_maxlen_exceeded counter is incremented to make note of the occurrence. The motivation is to prevent a sufficiently malicious peer from generating significant load by sending long messages with many AVPs for diameter to decode. The 24-bit message length header accomodates (16#FFFFFF - 20) div 12 = 1398099 Unsigned32 AVPs for example, which the current record-valued decode is too slow with in practice. A bound of 16#FFFF bytes allows for 5461 small AVPs, which is probably more than enough for the majority of applications, but the default is the full 16#FFFFFF.