aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-09-30Point out the correct line number in stack tracesBjörn Gustavsson
Sometimes the line number in a stack trace could be wrong, for example for this code: t() -> Res = id(x), %<== Wrong line number. Res + 1. id(I) -> I. The line number pointed out in the stack trace would be the line before the line where the exception occurred. The reason is the way the increment instruction instruction is implemented: OpCase(i_increment_rWtd): { increment_reg_val = r(0); } I -= 1; goto increment__execute; OpCase(i_increment_xWtd): { increment_reg_val = xb(I[1]); } goto increment__execute; increment__execute: /* Common code for increment */ . . . (The implementation in OTP 20 is similar, but hand-coded directly in beam_emu.c instead of generated.) The instruction i_increment_rWtd decrements the instruction pointer (I) before jumping to the common code. That means that I points *before* the 'increment' instruction. If there is a 'line' instruction directly before the 'increment' instruction (as there is in this example), the instruction pointer will point before that line. Thus the previous line will be picked up instead. To eliminate this bug, we must never decrement the instruction pointer. Instead, we can increment the other (longer) instructions in the same group of combined instructions: OpCase(i_increment_rWtd): { increment_reg_val = r(0); } goto increment__execute; OpCase(i_increment_xWtd): { increment_reg_val = xb(I[1]); } I += 1; goto increment__execute; increment__execute: /* Common code for increment */ . . . Also fix a bug that was only a potential bug when ddaed7774eb0a introduced relative jumps, but is now a real bug. See the added comment for SET_I_REL() in macros.tab.
2017-09-29Merge branch 'raimo/ssl-dist-skip-loopback/OTP-14465'Raimo Niskanen
* raimo/ssl-dist-skip-loopback/OTP-14465: Update runtime dependencies Disable debug function Pass all info's to the ssl_connection state function Remove ssl_tls_dist_ctrl module Remove ssl_tls_dist_ctrl process Remove ssl_tls_dist_proxy Avoid dialyzer warning Separate in and out in dist ctrl Rewrite dist ctrl from port to process Conflicts: lib/ssl/src/ssl.app.src
2017-09-29Update runtime dependenciesRaimo Niskanen
2017-09-28Merge branch 'maint'Rickard Green
* maint: Fix xmllint warning
2017-09-28Merge branch 'rickard/doc-fix' into maintRickard Green
* rickard/doc-fix: Fix xmllint warning
2017-09-28Fix xmllint warningRickard Green
2017-09-28Merge branch 'maint'Sverker Eriksson
2017-09-28Merge PR-1586 from Ayanda-D/ets-docs-grammarSverker Eriksson
Fix grammar in 'ets' docs
2017-09-28Fix grammar in ets:foldl/3 and ets:foldr/3 docsAyanda Dube
2017-09-28Disable debug functionRaimo Niskanen
2017-09-27Merge branch 'maint'Sverker Eriksson
2017-09-27Add git pre-push hookSverker Eriksson
2017-09-27Merge branch 'lukas/erts/fix_threads_error_printout'Lukas Larsson
* lukas/erts/fix_threads_error_printout: erts: Print the error reason when threads fail to start
2017-09-27Merge branch 'kvakvs/zero-size-read_file/ERL-327/PR-1524/OTP-14637'Lukas Larsson
* kvakvs/zero-size-read_file/ERL-327/PR-1524/OTP-14637: erts: On zero-size files attempt to read until EOF
2017-09-27erts: On zero-size files attempt to read until EOFDmytro Lytovchenko
2017-09-27Pass all info's to the ssl_connection state functionRaimo Niskanen
2017-09-27Remove ssl_tls_dist_ctrl moduleRaimo Niskanen
2017-09-26Remove ssl_tls_dist_ctrl processRaimo Niskanen
2017-09-26Merge branch 'maint'Henrik Nord
2017-09-26Merge branch 'dgud/stdlib/unicode-string-bench'Dan Gudmundsson
* dgud/stdlib/unicode-string-bench: stdlib: Add unicode string benchmarks
2017-09-26stdlib: Add unicode string benchmarksDan Gudmundsson
2017-09-25Merge pull request #1572 from gregors/update_docsRickard Green
fix off by one error in docs
2017-09-25Update primary bootstrapBjörn Gustavsson
2017-09-25Merge branch 'bjorn/speed-up-disassembler'Björn Gustavsson
* bjorn/speed-up-disassembler: Add testing of erts_debug:df() to the emulator smoke tests Speed up erts_debug:df()
2017-09-22Updated OTP versionOTP-20.1Erlang/OTP
2017-09-22Update release notesErlang/OTP
2017-09-22Update version numbersErlang/OTP
2017-09-22Merge branch 'maint'John Högberg
2017-09-22Correctly append sub-binaries in iolist_to_iovecJohn Högberg
The byte_offset of sub-binaries wasn't taken into account for ProcBins, subtly ruining the results. The test suite didn't catch it since it didn't check for sub-binaries in particular, and only checked for equality between variations -- not whether the output was equal to the input.
2017-09-22Merge branch 'maint'Dan Gudmundsson
* maint: stdlib: Remove gs removed warning
2017-09-22Merge branch 'dgud/stdlib/remove-gs-depr' into maintDan Gudmundsson
* dgud/stdlib/remove-gs-depr: stdlib: Remove gs removed warning
2017-09-22Merge branch 'maint'Hans Nilsson
2017-09-22Merge branch 'hans/public_key/fix_broken_marker' into maintHans Nilsson
2017-09-22public_key: Add app (ssl) to marker in seelalso tagHans Nilsson
2017-09-22stdlib: Remove gs removed warningDan Gudmundsson
Caused warnings which could not be suppressed, if old 'gs' application was compiled and used together with otp-20, which is fair usage even if OTP does not support the application anymore.
2017-09-22Add testing of erts_debug:df() to the emulator smoke testsBjörn Gustavsson
It is too easy to break the disassembler. Make sure that we notice.
2017-09-22Speed up erts_debug:df()Björn Gustavsson
The test case erts_debug_SUITE:df/1 in the emulator test suite is about 4 times faster with this change.
2017-09-21erts: Print the error reason when threads fail to startLukas Larsson
2017-09-21Merge branch 'siri/observer/dont-use-old-string-api'Siri Hansen
* siri/observer/dont-use-old-string-api: [cdv] Don't use old string API
2017-09-21Merge branch 'maint'Henrik Nord
2017-09-21Update copyright yearHenrik Nord
2017-09-21Merge branch 'maint'Anders Svensson
2017-09-21Merge branch 'anders/diameter/doc/OTP-14561' into maintAnders Svensson
* anders/diameter/doc/OTP-14561: Document new(ish) options in diameter_tcp/sctp
2017-09-21Merge branch 'anders/diameter/SoC/OTP-10927' into maintAnders Svensson
* anders/diameter/SoC/OTP-10927: Simplify/complete Standards Compliance doc
2017-09-21Merge branch 'maint'Lars Thorsen
2017-09-21Merge branch 'lars/make/fop-font-cache/OTP-14622' into maintLars Thorsen
* lars/make/fop-font-cache/OTP-14622: Change number of parameters Fix fop font-cache handling during pdf build
2017-09-21Change number of parametersLars Thorsen
2017-09-21Fix fop font-cache handling during pdf buildLars Thorsen
Two parallell doc builds running fop (as same user) could both update the fop font-cache at the same time. The cache is now created as an artifact in the build process.
2017-09-21Merge branch 'maint'Hans Bolinder
* maint: fprof: Make sure the receiving file can handle Unicode
2017-09-21Merge branch 'hasse/tools/fprof_unicode_fix' into maintHans Bolinder
* hasse/tools/fprof_unicode_fix: fprof: Make sure the receiving file can handle Unicode