Age | Commit message (Collapse) | Author |
|
* bjorn/line-numbers-in-exceptions/OTP-9468: (51 commits)
debugger: By default, only save non-tail-recursive calls
debugger: Add line_number_SUITE
debugger: Include line numbers in exceptions
Update examples in the documentation to include line numbers
Update documentation for erlang:raise/3 and erlang:get_stacktrace/0
beam_lib: Retain the "Line" chunk when stripping BEAM files
erl: Add +L to suppress loading of line number information
compiler: Add no_line_info for suppressing line/1 instructions
exception_SUITE: Test line numbers in exceptions
common_test: Use line numbers in exceptions
common_test tests: Don't do detailed testing of the stack backtrace
test_server: Refactor init_per_testcase/3 into two functions
Implement process_info(Pid, current_{location,stacktrace})
beam_emu: Factor out saving of stack trace from save_stacktrace()
compiler: Don't create filenames starting with "./"
ops.tab: Remove line instructions before tail-recursive calls
Lookup and include filenames and line numbers in exceptions
Fix decrement of continuation pointers
Refactor building of the exception stacktrace
BEAM loader: Load the line table
...
|
|
|
|
* anders/diameter/augment_inherited_enums/OTP-9469:
Allow @enum when AVP is defined in an inherited dictionary.
|
|
* anders/diameter/optional_appid_in_spec/OTP-9467:
@id required in dictionary files only when @messages is specified.
|
|
* hw/update-chmod-without-f:
Again: Call chmod without the "-f" flag
OTP-9491
|
|
* ao/fix-percept-msgs:
Fix message handling in select requests
Add demonitor to avoid keeping DOWN message in the queue
OTP-9490
|
|
percept_db used to send results in untagged messages, and use
a non selective receive to extract them. When percept is used
from the shell process, this can confuse other messages with
the actual result.
Add a tag to the message to be {result, Result}.
|
|
fix one spec in do_start/0
|
|
* sa/dialyzer-server-loop-fix:
Fix server loop detection
OTP-9489
|
|
* gs/yecc-example:
Fix incorrect order of pseudo variables in yecc example
OTP-9484
|
|
* sa/dialyzer-small-fixes:
Fix dialyzer warning on default clause for binary comprehension
Update results of race_SUITE/extract_translations
Update results of small_SUITE/flatten
Add codec_can and list_to_bitstring tests
Fix bug when reporting unused functions
Update Dialyzer's r9c_suite results
OTP-9483
|
|
into dev
* nick/ssh/stop_channel_tampers_with_trap_exit_flag/OTP-9386:
Corrected year in license header.
OTP-9386 - Calling ssh_sftp:stop_channel/1 resulted in that the trap_exit flag was set to true for the invoking process.
|
|
* nick/lht-idl-compiler-opt/OTP-9460:
[IC] Changed version, added release note and updated license headers.
ic: Fix typo, #ifudef -> #ifndef
|
|
Courtesy of William B. Morgan at Bigpoint Inc.
|
|
The example is for converting from infix to prefix. This change
uses to correct ordering of the triplet.
|
|
|
|
zip:zip_open/1,2 did not accept binary archives.
Also corrected the contracts of t/1 and tt/1.
|
|
By default, the debugger use to save all calls on its simulated
stack. That could facilitate finding errors, but it could also
mean that the Debugger could become very slow while executing
tail-recursive code.
|
|
|
|
|
|
|
|
|
|
Also update the r12 and r13 options so that they imply no_line_info.
|
|
Remove the old kludgy parse transformations and line numbers
macros in common_test and test_server, and use the line numbers
in exceptions instead.
|
|
The exact layout of the stack backtrace is an implementation detail
that may be changed at any time.
|
|
|
|
* hb/correction_of_zip_contracts/OTP-9471:
Correct contracts in the zip module
|
|
* hb/et/remove_dialyzer_warnings/OTP-9470:
Remove Dialyzer warnings
|
|
The contracts of zip:zip_list_dir/1 and zip:zip_get/2 have been
corrected.
|
|
* ia/odbc/skip-tests-because-of-driver-issues:
Skip test if not applicable
|
|
|
|
3GPP standards (for one) extend the values allowed for RFC 3588
AVP's of type Enumerated. Previously, extending an AVP was only
possible by completely redefining the AVP.
|
|
@id defines an application identifier and this is used only when sending
or receiving messages. A dictionary can define only AVP's however,
to be included by other dictionaries using @inherits, in which case it
makes no sense to require @id.
Note that message definitions are not inherited with @inherits, only
AVP's
|
|
Fixed dialyzer warning occuring on binary comprehension of form
"<< <<>> || {A, B} <- [{a, b}] >>" caused by default clause
inserted by compiler. Since this clause is different from the
case of list comprehension, dialyzer fails to suppress that warning.
|
|
|
|
* kj/eunit-surefire-fixes:
Generate separate surefire XMLs for each test suite
OTP-9465
|
|
* cr/trivia:
replace "a ssl" with "an ssl"
reindent pkix_path_validation/3
Trivial documentation fixes
OTP-9464
|
|
In the location information tables in the run-time system, source
filenames that are the same as the module name plus ".erl" extension
are not stored explicitly, thus saving memory.
To take advantage of that optimization, avoid complicating the names of
files in the current working directory; specifically, make sure that
"./" is not prepended to the name.
|
|
* rc/edoc-minor:
forgot to ensure that xmerl is found in path for include_lib to work
fix -spec declaration that doesn't work in R13B04
eliminate warnings about unused imports
removed CVS-keywords from source files
synchronized with edoc development version
OTP-9463
|
|
|
|
This commit is a preparation for introducing location information
(filename/line number) in stacktraces in exceptions. Currently
a stack trace looks like:
[{Mod1,Function1,Arity1},
.
.
.
{ModN,FunctionN,ArityN}]
Add a forth element to each tuple that can be used indication
the filename and line number of the source file:
[{Mod1,Function1,Arity1,Location1},
.
.
.
{ModN,FunctionN,ArityN,LocationN}]
In this commit, the fourth element will just be an empty list,
and we will change all code that look at or manipulate stacktraces.
|
|
|
|
|
|
Introduce the line/1 instruction in the compiler and the BEAM
virtual machine. It will not yet be generated by the compiler and
will not actually carry any information.
|
|
|
|
|
|
Since the run-time system cannot load those BEAM files, it was
not possible to debug them anyway.
|
|
The stacktrace in debugger-generated exceptions should be
as similar to stacktraces in BEAM-generated exceptions as
possible.
|
|
The 'no_tail' option was broken and would work almost as the
'all' option, because it would use #ieval.top (formerly
known as #ieval.last_call) as the basis for its decision
to push or not.
Fix it by including a boolean in each call/apply instruction
indicating whether the call is tail-recursive and pass
that boolean to the dbg_istk:push() function.
|
|
An exception from eval_bits:expr_grp/5 (for constructing binaries)
was not caught and handled by exception/4; thus exit_info and
and stacktrace for the process was not set.
|