Giter Club home page Giter Club logo

erlyberly's People

Contributors

aboroska avatar andytill avatar chilikk avatar georgekankava avatar gitter-badger avatar lucafavatella avatar maruks avatar ruanpienaar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

erlyberly's Issues

Improve the tweet button

It is a whimsical feature that could be improved.

  • Blue background for the twitter icon, it could even use a gradient like the actual icon.
  • Take a screenshot and attach it to the tweet. The image should be taken from the scene and saved to the systems /tmp directory then added to the tweet url. Need to do some research to check this is possible through the web UI it is using. EDIT: Nope https://twittercommunity.com/t/attach-a-photo-to-a-web-intent/33677
  • Detect if the node is erlang or elixir by the modules that are loaded and tailor the tweet.

Screen not redrawn when unminimised on Mac OSX

Steps:

  • start a remote shell from OS X into a Vagrant ubuntu box with X-forwarding over ssh
  • start Erlyberly from Ubuntu on an X-Server running under OS X
  • minimise window
  • restore
    • screen is blank/undrawn

Workaround:

  • resize window to force redraw

Improve crash report display

Currently the crash reports are just dumped into a term tree, which doesn't make them very readable.

crash-reports

It would be great to improve this and make it more readable. Important information should be shown prominently such as the the pid and registered name if any.

The stack trace is as important in most cases, this should be formatted as a string or in a control to make it easily readable. For bonus points, the function name should be a javaFX link which opens the source for that function.

The other properties should also be shown, in a table if it makes sense.

Is OpenJDK supported for running the released JAR?

The JAR looks working with Oracle JDK but not with OpenJDK. Is this expected?

In the readme I read You will need Java 8u20 or higher to run erlyberly [...] - it is not clear to me whether this excludes any other JDK different from the Oracle's one.

Is this a bug in OpenJDK? Or a bug in Oracle JDK? Or is the JAR malformed (e.g. classpath not set in manifest) in a way that triggers JDK implementation-dependent behaviour?

Details below.

I fetched the package:

$ curl -LO https://github.com/andytill/erlyberly/releases/download/0.6.7/erlyberly-0.6.7-runnable.jar
...
MD5 (erlyberly-0.6.7-runnable.jar) = d2c424439bca6ca7ba4dba6ea4e607d4

OpenJDK cannot find the entry point:

$ java -version
openjdk version "1.8.0_66-internal"
OpenJDK Runtime Environment (build 1.8.0_66-internal-b17)
OpenJDK 64-Bit Server VM (build 25.66-b17, mixed mode)

$ java -jar erlyberly-0.6.7-runnable.jar
Error: Could not find or load main class erlyberly.ErlyBerly

Oracle JDK manages to find the entry point in the JAR (it fails as I have no display but that is out of scope):

$ java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

$ java -jar erlyberly-0.6.7-runnable.jar
Exception in thread "main" java.lang.reflect.InvocationTargetException
...
Caused by: java.lang.UnsupportedOperationException: Unable to open DISPLAY
...

I checked that variables CLASSPATH and JAVA_HOME are unset (not empty string - really unset) for both examples above.

Show record and record field names in function traces

At the moment erlyberly highlights record and record field names in process state and for certain function patterns used by OTP behaviours where it is likely that a record is used. It would be great to have highlighting for records anywhere they're used.

screen shot 2015-11-15 at 02 09 00

To do this in erlyberly we could do the following:

  • On a trace, decompile the module to AST.
  • Find dialyzer specs for functions which have records in the arguments or results and put them in an ets table to be checked when a trace comes in.
  • Compile record data in the module and put it into an ets table.
  • When a trace comes in, check if the function is in the ets containing record functions, pull the record info and convert the record so that it contains meta data like the process state does right now.

The record and function data needs to be deleted and rebuilt when the module is reloaded.

Only erlang is required for this change.

Trace all functions in a module

Enable the star icon for modules in the module tree. When a module is "traced" all functions in the module are traced, un-tracing a module will remove all traces from functions in the module.

Crashes on start up on Rasberry Pi [Loading Modules on startup]

My Raspberry pi is 1) slow and 2) a bit Busy, so i'd expect side effects.
( Even OTP's observer is acts a bit weird, with crashes from time to time ).

Modified the requestFunctions function a little to be more verbose:

    public synchronized OtpErlangList requestFunctions() throws Exception {
        assert !Platform.isFxApplicationThread() : "cannot run this method from the FX thread";

        sendRPC("erlyberly", "module_functions", new OtpErlangList());

        OtpErlangObject result = receiveRPC();
        System.out.println(result);
        OtpErlangList l = (OtpErlangList) result;
        return l;

        //return (OtpErlangList) receiveRPC();
    }

This happens, when Erlyberly is started:

------------------------------------------------------------------------
Building erlyberly 0.6.1
------------------------------------------------------------------------

--- exec-maven-plugin:1.2.1:exec (default-cli) @ erlyberly ---
May 28, 2015 10:18:30 PM com.sun.javafx.css.parser.CSSParser declaration
WARNING: CSS Error parsing '*{-fx-font-family: FontAwesome; -fx-font-size: 2em;null}: Expected COLON at [1,55]
null
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
    at erlyberly.DbgView.buildObjectTreeRoot(DbgView.java:481)
    at erlyberly.DbgView$$Lambda$406/1384178901.callback(Unknown Source)
    at erlyberly.DbgController$GetModulesThread.lambda$run$3(DbgController.java:194)
    at erlyberly.DbgController$GetModulesThread$$Lambda$411/1277535706.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl.lambda$null$170(PlatformImpl.java:295)
    at com.sun.javafx.application.PlatformImpl$$Lambda$49/324427784.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(PlatformImpl.java:294)
    at com.sun.javafx.application.PlatformImpl$$Lambda$48/237061348.run(Unknown Source)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

Module functions load fine, after i click on refresh modules.

Erlang node reconnect

I'm using Netbeans to compile and startup erlyberly.
I noticed the reconnection has a slight hiccup.

Loads of "Not connected"s when the node is down, and then the ominous:
"java.lang.ClassCastException: com.ericsson.otp.erlang.OtpErlangTuple cannot be cast to com.ericsson.otp.erlang.OtpErlangList".

Then the "{error,tcollector_down}" keeps happening indefinitely.

I'll look into a fix. ( maybe it's already a known thing ).

Error:

java.io.IOException: Not connected
    at com.ericsson.otp.erlang.AbstractConnection.sendBuf(AbstractConnection.java:235)
    at com.ericsson.otp.erlang.OtpConn.send(OtpConn.java:41)
    at erlyberly.node.OtpUtil.sendRPC(OtpUtil.java:223)
    at erlyberly.node.NodeAPI.sendRPC(NodeAPI.java:289)
    at erlyberly.node.NodeAPI.collectTraceLogs(NodeAPI.java:293)
    at erlyberly.DbgController$TraceCollectorThread.run(DbgController.java:126)
java.io.IOException: Not connected
    at com.ericsson.otp.erlang.AbstractConnection.sendBuf(AbstractConnection.java:235)
    at com.ericsson.otp.erlang.OtpConn.send(OtpConn.java:41)
    at erlyberly.node.OtpUtil.sendRPC(OtpUtil.java:223)
    at erlyberly.node.NodeAPI.sendRPC(NodeAPI.java:289)
    at erlyberly.node.NodeAPI.collectTraceLogs(NodeAPI.java:293)
    at erlyberly.DbgController$TraceCollectorThread.run(DbgController.java:126)
java.lang.ClassCastException: com.ericsson.otp.erlang.OtpErlangTuple cannot be cast to com.ericsson.otp.erlang.OtpErlangList
    at erlyberly.node.NodeAPI.requestFunctions(NodeAPI.java:242)
    at erlyberly.DbgController$GetModulesThread.run(DbgController.java:190)
[{io,[{put_chars,2},{nl,1},{columns,1},{rows,0},{rows,1},{get_chars,2},{get_chars,3},{get_password,0},{get_password,1},{getopts,0},{getopts,1},{setopts,1},{setopts,2},{write,1},{write,2},{read,1},{read,2},{fwrite,1},{fwrite,3},{fread,2},{fread,3},{scan_erl_exprs,1},{scan_erl_exprs,2},{scan_erl_exprs,3},{scan_erl_form,1},{scan_erl_form,2},{scan_erl_form,3},{parse_erl_exprs,2},{parse_erl_form,1},{parse_erl_form,2},{parse_erl_form,3},{request,1},{requests,2},{module_info,0},{module_info,1},{nl,0},{parse_erl_exprs,1},{columns,0},{requests,1},{fwrite,2},{parse_erl_exprs,3},{read,3},{request,2},{get_line,1},{put_chars,1},{format,1},{get_line,2},{format,2},{format,3}],[{to_tuple,1},{o_request,3},{conv_reason,2},{execute_request,2},{default_input,0},{default_output,0},{wait_io_mon_reply,2},{io_requests,2},{io_requests,4},{bc_req,3},{io_request,2},{convert_binaries,1}]},{erl_distribution,[{start_link,0},{start_link,1},{init,1},{start,1},{stop,0},{module_info,0},{module_info,1}],[{start_p,0},{sname,0},{lname,0},{ticktime,0}]},{edlin,[{prefix_arg,1},{over_word,3},{erase_inp,1},{length_before,1},{length_after,1},{module_info,0},{module_info,1},{redraw_line,1},{edit_line1,2},{prompt,1},{erase_line,1},{current_line,1},{init,0},{edit_line,2},{start,1}],[{edit,5},{key_map,2},{do_op,4},{until_quote,3},{over_word1,3},{over_word2,3},{over_non_word,3},{word_char,1},{over_paren,3},{over_paren,6},{over_paren_auto,1},{over_paren_auto,4},{erase,4},{redraw,4},{'-over_word/3-lc$^0/1-0-',1}]},{dist_util,[{shutdown,4},{setup_timer,2},{cancel_timer,1},{module_info,0},{module_info,1},{handshake_we_started,1},{reset_timer,1},{handshake_other_started,1},{shutdown,3},{start_timer,1}],[{remove_flag,2},{adjust_flags,2},{publish_flag,2},{make_this_flags,2},{is_allowed,1},{check_dflag_xnc,1},{mark_pending,1},{wait_pending,1},{do_alive,1},{do_mark_pending,5},{is_pending,2},{flush_down,0},{connection,1},{gen_digest,2},{gen_challenge,0},{get_cookies,1},{do_setnode,1},{mark_nodeup,2},{con_loop,9},{send_name,1},{send_challenge,2},{send_challenge_reply,3},{send_challenge_ack,2},{recv_name,1},{get_name,1},{publish_type,1},{recv_challenge,1},{recv_challenge_reply,3},{recv_challenge_ack,3},{recv_status,1},{send_status,2},{send_tick,5},{send_tick,3}]},{erl_epmd,[{start,0},{start_link,0},{stop,0},{port_please,3},{names,0},{names,1},{init,1},{handle_call,3},{handle_cast,2},{handle_info,2},{terminate,2},{code_change,3},{open,0},{open,1},{open,2},{module_info,0},{module_info,1},{port_please,2},{register_node,2}],[{port_please1,3},{names1,1},{get_epmd_port,0},{close,1},{do_register_node,2},{epmd_dist_high,0},{epmd_dist_low,0},{wait_for_reg_reply,2},{get_port,3},{wait_for_port_reply,2},{wait_for_port_reply_cont,2},{wait_for_port_reply_cont2,2},{wait_for_port_reply_name,3},{best_version,2},{select_best_version,4},{wait_for_close,2},{to_string,1},{get_names,1},{do_get_names,1},{names_loop,3},{scan_names,2},{scan_line,2},{parse_line,1},{parse_name,2}]},{zlib,[{open,0},{close,1},{deflateInit,1},{deflateInit,2},{deflateInit,6},{deflateSetDictionary,2},{deflateReset,1},{deflateParams,3},{deflate,2},{deflate,3},{deflateEnd,1},{inflateInit,1},{inflateInit,2},{inflateSetDictionary,2},{inflateSync,1},{inflateReset,1},{inflate,2},{inflateEnd,1},{setBufSize,2},{getBufSize,1},{crc32,1},{crc32,2},{crc32,3},{adler32,2},{adler32,3},{crc32_combine,4},{adler32_combine,4},{getQSize,1},{compress,1},{uncompress,1},{zip,1},{unzip,1},{gzip,1},{gunzip,1},{module_info,0},{module_info,1}],[{collect,1},{collect,2},{flush,1},{arg_flush,1},{arg_level,1},{arg_strategy,1},{arg_method,1},{arg_bitsz,1},{arg_mem,1},{call,3},{reverse,1},{reverse,2}]},{error_handler,[{undefined_function,3},{undefined_lambda,3},{breakpoint,3},{stub_function,3},{module_info,0},{module_info,1}],[{int,0},{crash,2},{crash,3},{crash,1},{ensure_loaded,1},{check_inheritance,2}]},{io_lib,[{fwrite,2},{fread,2},{fread,3},{print,1},{print,4},{indentation,2},{write,3},{write,2},{write_atom,1},{quote_atom,2},{write_string,1},{write_string,2},{write_unicode_string,1},{write_unicode_string,2},{write_char,1},{write_unicode_char,1},{char_list,1},{unicode_char_list,1},{deep_char_list,1},{deep_unicode_char_list,1},{printable_unicode_list,1},{nl,0},{collect_chars,3},{collect_chars,4},{collect_line,2},{collect_line,3},{collect_line,4},{get_until,3},{get_until,4},{module_info,0},{module_info,1},{format_prompt,1},{write,1},{printable_list,1},{format,2}],[{format_prompt,2},{write_tail,3},{write_port,1},{write_ref,1},{write_binary,2},{write_binary_body,2},{name_chars,1},{name_char,1},{write_string1,3},{string_char,4},{deep_char_list,2},{deep_unicode_char_list,2},{count_and_find_utf8,2},{cafu,5},{collect_chars1,3},{collect_chars_list,3},{collect_line1,2},{collect_line_bin,4},{collect_line_list,2},{binrev,1},{binrev,2}]},{filename,[{absname,1},{absname_join,2},{basename,1},{extension,1},{join,1},{append,2},{rootname,1},{rootname,2},{split,1},{nativename,1},{find_src,1},{find_src,2},{module_info,0},{module_info,1},{flatten,1},{pathtype,1},{join,2},{dirname,1},{basename,2},{absname,2}],[{absname_vr,3},{win_basenameb,1},{basenameb,2},{basename1,3},{skip_prefix,2},{basename,4},{dirname,4},{fstrip,1},{dirjoin,3},{dirjoin1,3},{extension,3},{join1,4},{join1b,4},{maybe_remove_dirsep,2},{unix_pathtype,1},{win32_pathtype,1},{rootname,4},{rootname2,3},{unix_splitb,1},{fix_driveletter,1},{win32_splitb,1},{unix_split,1},{win32_split,1},{split,3},{split,4},{win32_nativename,1},{separators,0},{try_file,3},{try_file,4},{filter_options,3},{get_source_file,3},{source_by_rules,3},{try_rule,4},{readable_file,1},{make_abs_path,2},{major_os_type,0},{do_flatten,2},{filename_string_to_binary,1},{'-win32_splitb/1-lc$^3/1-0-',1},{'-win32_splitb/1-lc$^0/1-1-',1},{'-win32_splitb/1-lc$^1/1-2-',1},{'-win32_splitb/1-lc$^2/1-3-',1},{'-unix_splitb/1-lc$^0/1-0-',1},{'-basenameb/2-lc$^0/1-0-',1}]},{unicode,[{characters_to_list,1},{characters_to_binary,1},{bom_to_encoding,1},{encoding_to_bom,1},{module_info,0},{module_info,1},{characters_to_binary,3},{characters_to_list_int,2},{characters_to_binary_int,2},{bin_is_7bit,1},{characters_to_list,2},{characters_to_binary,2}],[{do_characters_to_list,2},{characters_to_binary_int,3},{cbv,2},{ml_map,3},{i_trans,1},{i_trans_chk,1},{o_trans,1},{do_o_binary,2},{do_o_binary2,2},{do_i_utf8_chk,1},{do_i_utf16_big_chk,1},{do_i_utf16_little_chk,1},{do_i_utf32_big_chk,1},{do_i_utf32_little_chk,1},{do_i_utf8,1},{do_i_utf16_big,1},{do_i_utf16_little,1},{do_i_utf32_big,1},{do_i_utf32_little,1},{'-o_trans/1-fun-10-',1},{'-o_trans/1-fun-9-',1},{'-o_trans/1-fun-6-',1},{'-o_trans/1-fun-5-',1},{'-o_trans/1-fun-0-',1},{'-o_trans/1-fun-8-',1},{'-o_trans/1-fun-7-',1},{'-o_trans/1-fun-4-',1},{'-o_trans/1-fun-3-',1},{'-o_trans/1-fun-2-',1},{'-o_trans/1-fun-1-',1},{'-i_trans_chk/1-fun-7-',1},{'-i_trans_chk/1-fun-6-',1},{'-i_trans_chk/1-fun-4-',1},{'-i_trans_chk/1-fun-3-',1},{'-i_trans_chk/1-fun-0-',1},{'-i_trans_chk/1-fun-5-',1},{'-i_trans_chk/1-fun-2-',1},{'-i_trans_chk/1-fun-1-',1},{'-i_trans/1-fun-7-',1},{'-i_trans/1-fun-6-',1},{'-i_trans/1-fun-4-',1},{'-i_trans/1-fun-3-',1},{'-i_trans/1-fun-0-',1},{'-i_trans/1-fun-5-',1},{'-i_trans/1-fun-2-',1},{'-i_trans/1-fun-1-',1},{'-characters_to_binary_int/3-fun-0-',5}]},{orddict,[{is_key,2},{size,1},{fetch,2},{fetch_keys,1},{append,3},{append_list,3},{update,3},{update,4},{update_counter,3},{fold,3},{map,2},{merge,3},{module_info,0},{module_info,1},{erase,2},{store,3},{find,2},{to_list,1},{new,0},{filter,2},{from_list,1}],[{'-from_list/1-fun-0-',2}]},{gb_sets,[{empty,0},{new,0},{is_empty,1},{size,1},{singleton,1},{is_element,2},{is_member,2},{insert,2},{balance,1},{add_element,2},{add,2},{from_list,1},{from_ordset,1},{del_element,2},{delete_any,2},{delete,2},{take_smallest,1},{smallest,1},{take_largest,1},{largest,1},{to_list,1},{iterator,1},{next,1},{union,2},{union,1},{intersection,2},{intersection,1},{is_disjoint,2},{subtract,2},{difference,2},{is_subset,2},{is_set,1},{filter,2},{fold,3},{module_info,0},{module_info,1}],[{is_member_1,2},{insert_1,3},{count,1},{balance,2},{balance_list,2},{balance_list_1,2},{delete_1,2},{merge,2},{take_smallest1,1},{smallest_1,1},{take_largest1,1},{largest_1,1},{to_list_1,1},{to_list,2},{iterator,2},{union,4},{mk_set,2},{union_1,2},{union_2,3},{union_2,4},{push,2},{balance_revlist,2},{balance_revlist_1,2},{union_list,2},{intersection,4},{intersection_1,2},{intersection_1,4},{intersection_2,2},{intersection_2,4},{intersection_list,2},{is_disjoint_1,2},{difference,4},{difference_1,2},{difference_1,4},{difference_2,3},{difference_2,4},{is_subset,4},{is_subset_1,2},{is_subset_2,2},{fold_1,3},{'-filter/2-lc$^0/1-0-',2}]},{inet_db,[{start,0},{start_link,0},{stop,0},{reset,0},{add_resolv,1},{add_hosts,1},{add_host,2},{del_host,1},{clear_hosts,0},{add_ns,1},{add_ns,2},{ins_ns,1},{ins_ns,2},{del_ns,1},{del_ns,2},{del_ns,0},{add_alt_ns,1},{add_alt_ns,2},{ins_alt_ns,1},{ins_alt_ns,2},{del_alt_ns,1},{del_alt_ns,2},{del_alt_ns,0},{add_search,1},{ins_search,1},{del_search,1},{del_search,0},{set_hostname,1},{set_domain,1},{set_lookup,1},{set_recurse,1},{set_timeout,1},{set_retry,1},{set_inet6,1},{set_usevc,1},{set_edns,1},{set_udp_payload_size,1},{set_resolv_conf,1},{set_hosts_file,1},{get_hosts_file,0},{set_socks_server,1},{set_socks_port,1},{add_socks_methods,1},{del_socks_methods,1},{del_socks_methods,0},{add_socks_noproxy,1},{del_socks_noproxy,1},{set_cache_size,1},{set_cache_refresh,1},{clear_cache,0},{set_tcp_module,1},{tcp_module,0},{set_udp_module,1},{udp_module,0},{set_sctp_module,1},{sctp_module,0},{add_rc,1},{add_rc_bin,1},{add_rc_list,1},{get_rc,0},{res_option,1},{res_option,2},{res_check_option,2},{socks_option,1},{gethostname,0},{res_update_conf,0},{res_update_hosts,0},{add_rr,1},{add_rr,5},{del_rr,4},{getbyname,2},{get_searchlist,0},{res_hostent_by_domain,3},{gethostbyaddr,1},{res_gethostbyaddr,2},{register_socket,2},{unregister_socket,1},{lookup_socket,1},{init,1},{handle_call,3},{handle_cast,2},{handle_info,2},{terminate,2},{tolower,1},{module_info,0},{module_info,1}],[{call,1},{translate_lookup,1},{valid_lookup,0},{get_rc,2},{get_rc,5},{get_rc_noproxy,3},{get_rc_ns,4},{get_rc_hosts,3},{get_rc_hosts,5},{res_optname,1},{res_check_option_absfile,1},{res_check_list,2},{res_check_ns,1},{res_check_search,1},{res_update,5},{db_get,1},{res_cache_answer,1},{getbysearch,5},{make_hostent,4},{hostent_by_domain,2},{hostent_by_domain,3},{lookup_type,2},{lookup_cname,1},{lookup_rr,3},{res_hostent_by_domain,4},{res_lookup_type,3},{ent_gethostbyaddr,4},{dnip,1},{dnt,1},{reset_db,1},{handle_set_file,7},{handle_set_file,4},{do_add_host,5},{do_del_host,3},{handle_rc_list,3},{handle_calls,3},{rc_opt_req,1},{rc_reqname,1},{is_res_set,1},{is_reqname,1},{do_add_rr,3},{cache_rr,3},{times,0},{do_lookup_rr,3},{match_rr,1},{filter_rr,2},{lower_rr,1},{dn_ip6_int,8},{dn_in_addr_arpa,4},{dnib,1},{hex,1},{stripdot,1},{stripdot_1,1},{init_timer,0},{stop_timer,1},{cache_refresh,0},{do_refresh_cache,1},{do_refresh_cache,4},{alloc_entry,3},{alloc_entry,4},{delete_n_oldest,4},{delete_older,3},{delete_older,5},{lists_delete,2},{lists_subtract,2},{lists_keydelete,3},{'-lists_subtract/2-fun-0-',2},{'-delete_older/5-fun-0-',4},{'-do_refresh_cache/4-fun-0-',4},{'-rc_opt_req/1-lc$^0/1-0-',1},{'-do_del_host/3-lc$^0/1-0-',2},{'-do_add_host/5-lc$^0/1-0-',3},{'-handle_call/3-fun-0-',2},{'-handle_call/3-fun-2-',2},{'-handle_call/3-lc$^2/1-0-',1},{'-handle_call/3-fun-1-',2},{'-handle_call/3-lc$^0/1-1-',1},{'-handle_call/3-lc$^1/1-2-',2},{'-res_lookup_type/3-lc$^0/1-0-',3},{'-lookup_cname/1-lc$^0/1-0-',1},{'-lookup_type/2-lc$^0/1-0-',1},{'-res_cache_answer/1-fun-0-',1},{'-res_update_hosts/0-fun-0-',1},{'-res_update_conf/0-fun-0-',1},{'-res_check_option/2-fun-1-',1},{'-res_check_option/2-fun-0-',1},{'-res_check_option/2-fun-3-',1},{'-res_check_option/2-fun-2-',1},{'-res_check_option/2-fun-4-',1},{'-add_hosts/1-fun-0-',1}]},{inet,[{get_rc,0},{close,1},{peername,1},{setpeername,2},{sockname,1},{setsockname,2},{port,1},{send,2},{setopts,2},{getopts,2},{getifaddrs,1},{getifaddrs,0},{getiflist,1},{getiflist,0},{ifget,3},{ifget,2},{ifset,3},{ifset,2},{getif,0},{getif,1},{pushf,3},{popf,1},{getstat,1},{getstat,2},{gethostbyname,2},{gethostbyname,3},{gethostbyname_tm,3},{gethostbyaddr,1},{gethostbyaddr,2},{gethostbyaddr_tm,2},{ip,1},{getll,1},{getfd,1},{getaddr,3},{getaddrs,2},{getaddrs,3},{getservbyport,2},{options,0},{stats,0},{connect_options,2},{listen_options,2},{sctp_options,2},{translate_ip,2},{getaddrs_tm,3},{gethostbyname_self,2},{gethostbyname_string,2},{i,0},{i,1},{i,2},{format_error,1},{tcp_close,1},{tcp_controlling_process,2},{start_timer,1},{timeout,1},{timeout,2},{stop_timer,1},{module_info,0},{module_info,1},{fdopen,6},{udp_controlling_process,2},{udp_close,1},{open,8},{udp_options,2},{getaddr_tm,3},{getaddr,2},{getservbyname,2},{gethostname,1},{gethostbyname,1},{gethostname,0},{lock_socket,2}],[{withsocket,1},{connect_options,0},{con_opt,3},{con_add,5},{listen_options,0},{list_opt,3},{list_add,5},{udp_options,0},{udp_opt,3},{udp_add,5},{sctp_options,0},{sctp_opt,4},{sctp_opt,6},{sctp_opt_ifaddr,5},{add_opt,4},{gethostbyname_tm,4},{gethostbyname_tm,5},{gethostbyname_tm_native,4},{make_hostent,4},{gethostbyaddr_tm,3},{gethostbyaddr_self,2},{gethostbyaddr_tm_native,3},{ii,3},{smax,2},{info_lines,3},{i_line,3},{h_line,1},{h_field,1},{hh_field,1},{upper,1},{info,3},{fmt_status,1},{fmt_addr,2},{fmt_port,2},{tcp_sockets,0},{udp_sockets,0},{sctp_sockets,0},{port_list,1},{tcp_sync_input,3},{udp_sync_input,2},{udp_sync_input,3},{'-port_list/1-fun-0-',2},{'-h_line/1-lc$^0/1-0-',1},{'-i_line/3-lc$^0/1-0-',3},{'-info_lines/3-lc$^0/1-0-',3},{'-ii/3-fun-1-',2},{'-ii/3-lc$^0/1-0-',1},{'-ii/3-fun-0-',2},{'-open/8-lc$^0/1-0-',2},{'-gethostname/0-fun-0-',1},{'-getif/1-fun-0-',3},{'-getif/0-fun-0-',1},{'-ifset/2-fun-0-',3},{'-ifget/2-fun-0-',3},{'-getiflist/0-fun-0-',1},{'-getifaddrs/0-fun-0-',1}]},{ordsets,[{new,0},{is_set,1},{size,1},{del_element,2},{union,1},{intersection,1},{is_disjoint,2},{is_subset,2},{fold,3},{filter,2},{module_info,0},{module_info,1},{intersection,2},{add_element,2},{union,2},{subtract,2},{is_element,2},{to_list,1},{from_list,1}],[{is_set,2},{union1,2},{intersection1,2}]},{gen_tcp,[{listen,2},{accept,1},{accept,2},{shutdown,2},{recv,2},{recv,3},{unrecv,2},{controlling_process,2},{fdopen,2},{module_info,0},{module_info,1},{send,2},{close,1},{connect,4},{connect,3}],[{connect1,4},{try_connect,6},{mod,1},{mod,2}]},{group,[{server,3},{interfaces,1},{module_info,0},{module_info,1},{start,2},{start,3}],[{get_pids,3},{start_shell,1},{start_shell1,3},{start_shell1,1},{server_loop,3},{exit_shell,1},{get_tty_geometry,1},{get_unicode_state,1},{set_unicode_state,2},{io_request,5},{io_request,3},{io_requests,3},{io_reply,3},{send_drv,2},{send_drv_reqs,2},{expand_encoding,1},{setopts,3},{check_valid_opts,1},{do_setopts,3},{getopts,2},{get_password_chars,2},{get_chars,7},{get_chars_loop,8},{get_chars_apply,9},{id,2},{err_func,3},{get_line,4},{get_line1,4},{get_line_echo_off,3},{get_line_echo_off1,2},{edit_line,2},{remainder_after_nl,1},{get_line_timeout,1},{new_stack,1},{up_stack,1},{down_stack,1},{save_line,2},{get_lines,1},{save_line_buffer,2},{save_line_buffer,1},{get_password_line,2},{get_password1,2},{edit_password,2},{prompt_bytes,1},{cast,3},{append,3},{'-server/3-fun-0-',1}]},{gen,[{init_it,6},{init_it,7},{reply,2},{module_info,0},{module_info,1},{format_status_header,2},{call,3},{call,4},{debug_options,1},{start,6},{start,5}],[{do_spawn,5},{do_spawn,6},{init_it2,7},{do_call,4},{wait_resp,3},{where,1},{name_register,1},{timeout,1},{spawn_opts,1},{opt,2}]},{kernel,[{start,2},{stop,1},{config_change,3},{init,1},{module_info,0},{module_info,1}],[{get_error_logger_type,0},{get_code_args,0},{start_dist_ac,0},{start_boot_server,0},{get_boot_args,0},{start_disk_log,0},{start_pg2,0},{start_timer,0},{do_distribution_change,3},{is_dist_changed,3},{do_global_groups_change,3},{is_gg_changed,3}]},{erl_eval,[{exprs,3},{exprs,4},{expr,3},{expr,5},{expr_list,2},{expr_list,3},{match_clause,4},{is_constant_expr,1},{partial_eval,1},{module_info,0},{module_info,1},{expr_list,4},{expr,4},{check_command,2},{add_binding,3},{binding,2},{del_binding,2},{bindings,1},{expr,2},{fun_data,1},{exprs,2},{new_bindings,0}],[{exprs,5},{find_maxline,1},{hide_calls,2},{hide,3},{unhide_calls,3},{local_func,5},{local_func2,2},{bif,5},{do_apply,5},{do_apply,6},{eval_lc,6},{eval_lc1,6},{eval_bc,6},{eval_bc1,6},{eval_generate,7},{eval_b_generate,7},{eval_filter,6},{ret_expr,3},{eval_fun,5},{eval_fun,6},{expr_list,6},{eval_op,6},{eval_op,5},{if_clauses,5},{try_clauses,8},{case_clauses,6},{receive_clauses,6},{receive_clauses,8},{merge_queue,1},{recv_all,1},{send_all,2},{match_clause,5},{guard,4},{guard1,4},{guard0,4},{guard_test,4},{type_test,1},{match,3},{match,4},{string_to_conses,3},{match1,4},{match_fun,1},{match_tuple,5},{match_list,3},{match_list,4},{add_bindings,2},{merge_bindings,2},{eval_expr,1},{ev_expr,1},{ret_expr,2},{line,1},{expand_module_name,2},{stacktrace,0},{'-ev_expr/1-lc$^0/1-0-',1},{'-merge_bindings/2-fun-0-',2},{'-add_bindings/2-fun-0-',2},{'-match_fun/1-fun-0-',3},{'-match1/4-fun-0-',2},{'-eval_b_generate/7-fun-0-',4},{'-eval_bc1/6-fun-2-',6},{'-eval_bc1/6-fun-1-',6},{'-eval_bc1/6-fun-0-',6},{'-eval_lc1/6-fun-2-',6},{'-eval_lc1/6-fun-1-',6},{'-eval_lc1/6-fun-0-',6},{'-local_func/5-fun-0-',4},{'-find_maxline/1-fun-0-',1},{'-expr/5-fun-22-',4},{'-expr/5-fun-17-',20},{'-expr/5-fun-1-',4},{'-expr/5-fun-20-',23},{'-expr/5-fun-4-',7},{'-expr/5-fun-7-',10},{'-expr/5-fun-10-',13},{'-expr/5-fun-13-',16},{'-expr/5-fun-16-',19},{'-expr/5-fun-19-',22},{'-expr/5-fun-3-',6},{'-expr/5-fun-6-',9},{'-expr/5-fun-9-',12},{'-expr/5-fun-12-',15},{'-expr/5-fun-15-',18},{'-expr/5-fun-18-',21},{'-expr/5-fun-2-',5},{'-expr/5-fun-21-',24},{'-expr/5-fun-5-',8},{'-expr/5-fun-8-',11},{'-expr/5-fun-11-',14},{'-expr/5-fun-14-',17},{'-expr/5-fun-0-',3}]},{prim_file,[{open,3},{open,2},{open,1},{open_int,4},{close,1},{advise,4},{write,2},{pwrite,2},{pwrite,3},{datasync,1},{sync,1},{read_line,1},{read,2},{pread,2},{pread,3},{position,2},{truncate,1},{copy,3},{ipread_s32bu_p32bu,3},{read_file,1},{read_file,2},{write_file,2},{sendfile,10},{start,0},{stop,1},{get_cwd,0},{get_cwd,1},{get_cwd,2},{set_cwd,1},{set_cwd,2},{delete,1},{delete,2},{rename,2},{rename,3},{make_dir,1},{make_dir,2},{del_dir,1},{del_dir,2},{read_file_info,1},{read_file_info,2},{read_file_info,3},{altname,1},{altname,2},{write_file_info,2},{write_file_info,3},{write_file_info,4},{make_link,2},{make_link,3},{make_symlink,2},{make_symlink,3},{read_link,1},{read_link,2},{read_link_info,1},{read_link_info,2},{read_link_info,3},{list_dir,1},{list_dir,2},{open_mode,1},{open_mode,4},{module_info,0},{module_info,1},{internal_normalize_utf8,1},{internal_native2name,1},{internal_name2native,1}],[{open_int_setopts,3},{pwrite_int,5},{pwrite_int,7},{pread_int,4},{get_cwd_int,1},{get_cwd_int,2},{set_cwd_int,2},{delete_int,2},{rename_int,3},{make_dir_int,2},{del_dir_int,2},{read_file_info_int,3},{altname_int,2},{write_file_info_int,4},{file_info_validate_atime,2},{file_info_validate_mtime,2},{file_info_validate_ctime,2},{make_link_int,3},{make_symlink_int,3},{read_link_int,2},{read_link_info_int,3},{list_dir_int,2},{drv_open,2},{drv_close,1},{drv_command,2},{drv_command,3},{drv_command,4},{drv_command_nt,3},{drv_get_response,2},{drv_get_response,1},{append,2},{lseek_position,1},{translate_response,2},{transform_info,1},{file_type,1},{file_access,1},{int_to_int32bytes,1},{int_to_int64bytes,1},{sint64,8},{uint32,4},{get_uint64,1},{get_uint32,1},{transform_ldata,1},{transform_ldata,3},{transform_ldata,4},{transform_lfname,1},{lists_split,2},{lists_split,3},{reverse,1},{reverse,2},{pathname,1},{plgv,3},{from_seconds,2},{to_seconds,2}]},{ets,[{match_spec_run,2},{repair_continuation,2},{fun2ms,1},{foldl,3},{foldr,3},{from_dets,2},{to_dets,2},{test_ms,2},{init_table,2},{tab2file,2},{tab2file,3},{file2tab,1},{file2tab,2},{tabfile_info,1},{table,1},{table,2},{i,0},{i,1},{i,2},{i,3},{module_info,0},{module_info,1},{tab2list,1},{match_delete,2},{filter,3},{setopts,2},{give_away,3},{update_element,3},{match_spec_run_r,3},{match_spec_compile,1},{select_delete,2},{select_reverse,3},{select_reverse,2},{select_reverse,1},{select_count,2},{select,3},{select,2},{select,1},{update_counter,3},{slot,2},{safe_fixtable,2},{rename,2},{insert_new,2},{insert,2},{prev,2},{next,2},{member,2},{match_object,3},{match_object,2},{match_object,1},{match,3},{match,2},{match,1},{last,1},{info,2},{info,1},{lookup_element,3},{lookup,2},{is_compiled_ms,1},{first,1},{delete_object,2},{delete_all_objects,1},{delete,2},{delete,1},{new,2},{all,0}],[{do_foldl,4},{do_foldr,4},{init_table_continue,2},{init_table_sub,2},{do_filter,5},{dump_file,4},{ft_options_to_list,1},{md5terms,2},{parse_ft_options,1},{parse_ft_info_options,2},{do_read_and_verify,6},{parse_f2t_opts,3},{count_mandatory,1},{verify_header_mandatory,1},{wrap_bchunk,4},{wrap_chunk,4},{get_header_data,2},{md5_and_convert,3},{scan_for_endinfo,2},{load_table,3},{create_tab,2},{named_table,1},{table_info,2},{qlc_next,2},{qlc_prev,2},{qlc_select,1},{options,2},{options,3},{default_option,1},{listify,1},{tabs,0},{prinfo,1},{prinfo2,1},{is_reg,1},{hform,6},{pad_right,2},{to_string,1},{display_items,6},{choice,8},{get_line,2},{nonl,1},{print_number,3},{do_display,6},{do_display_items,4},{do_display_item,4},{re_search,7},{re_display,8},{print_re_num,4},{re_match,2},{'-hform/6-lc$^0/1-0-',1},{'-i/0-fun-0-',1},{'-qlc_select/1-fun-0-',1},{'-qlc_prev/2-fun-0-',2},{'-qlc_next/2-fun-0-',2},{'-table/2-fun-9-',3},{'-table/2-lc$^0/1-0-',2},{'-table/2-lc$^1/1-1-',2},{'-table/2-fun-8-',3},{'-table/2-fun-7-',2},{'-table/2-fun-6-',2},{'-table/2-fun-5-',1},{'-table/2-fun-4-',2},{'-table/2-fun-3-',3},{'-table/2-fun-2-',3},{'-table/2-fun-0-',1},{'-table/2-fun-1-',1},{'-file2tab/2-fun-1-',3},{'-file2tab/2-fun-0-',3},{'-tab2file/3-fun-1-',3},{'-tab2file/3-fun-0-',3}]},{lists,[{append,2},{append,1},{subtract,2},{nth,2},{nthtail,2},{prefix,2},{suffix,2},{last,1},{seq,2},{seq,3},{sum,1},{duplicate,2},{min,1},{max,1},{sublist,3},{sublist,2},{zip,2},{unzip,1},{zip3,3},{unzip3,1},{zipwith,3},{zipwith3,4},{merge,1},{merge3,3},{rmerge3,3},{merge,2},{rmerge,2},{flatten,2},{flatlength,1},{keytake,3},{keystore,4},{keysort,2},{keymerge,3},{rkeymerge,3},{ukeysort,2},{ukeymerge,3},{rukeymerge,3},{keymap,3},{sort,2},{merge,3},{rmerge,3},{usort,2},{umerge,3},{rumerge,3},{usort,1},{umerge,1},{umerge3,3},{rumerge3,3},{umerge,2},{rumerge,2},{all,2},{any,2},{flatmap,2},{foldr,3},{partition,2},{mapfoldl,3},{mapfoldr,3},{takewhile,2},{dropwhile,2},{split,2},{module_info,0},{module_info,1},{sort,1},{splitwith,2},{keyreplace,4},{keydelete,3},{map,2},{flatten,1},{delete,2},{zf,2},{filter,2},{concat,1},{reverse,1},{foldl,3},{foreach,2},{keyfind,3},{keysearch,3},{keymember,3},{reverse,2},{member,2}],[{last,2},{seq_loop,3},{seq_loop,4},{sum,2},{duplicate,3},{min,2},{max,2},{sublist_2,2},{unzip,3},{unzip3,4},{sort_1,3},{thing_to_list,1},{do_flatten,2},{flatlength,2},{keydelete3,3},{keyreplace3,4},{keytake,4},{keystore2,4},{keysort_1,5},{ukeysort_1,4},{usort_1,3},{usort_1,2},{partition,4},{splitwith,3},{split,3},{split_1,5},{split_1_1,6},{split_2,5},{split_2_1,6},{mergel,2},{rmergel,2},{merge3_1,6},{merge3_2,6},{merge3_12_3,6},{merge3_21_3,6},{rmerge3_1,6},{rmerge3_2,6},{rmerge3_12_3,6},{rmerge3_21_3,6},{merge2_1,4},{merge2_2,5},{rmerge2_1,4},{rmerge2_2,5},{usplit_1,5},{usplit_1_1,6},{usplit_2,5},{usplit_2_1,6},{umergel,1},{umergel,3},{rumergel,3},{umerge3_1,7},{umerge3_2,7},{umerge3_12_3,6},{umerge3_21_3,6},{rumerge3_1,6},{rumerge3_2,7},{rumerge3_12_3,7},{rumerge3_21_3,7},{umerge2_1,5},{umerge2_2,4},{rumerge2_1,4},{rumerge2_2,5},{keysplit_1,8},{keysplit_1_1,10},{keysplit_2,8},{keysplit_2_1,10},{keymergel,4},{rkeymergel,4},{keymerge3_1,10},{keymerge3_2,10},{keymerge3_12_3,9},{keymerge3_21_3,9},{rkeymerge3_1,10},{rkeymerge3_2,10},{rkeymerge3_12_3,9},{rkeymerge3_21_3,9},{keymerge2_1,6},{keymerge2_2,7},{rkeymerge2_1,6},{rkeymerge2_2,7},{ukeysplit_1,8},{ukeysplit_1_1,10},{ukeysplit_2,5},{ukeymergel,3},{rukeymergel,3},{ukeymerge3_1,11},{ukeymerge3_2,11},{ukeymerge3_12_3,9},{ukeymerge3_21_3,9},{rukeymerge3_1,11},{rukeymerge3_2,11},{rukeymerge3_12_3,11},{rukeymerge3_21_3,11},{ukeymerge2_1,7},{ukeymerge2_2,6},{rukeymerge2_1,6},{rukeymerge2_2,8},{fsplit_1,6},{fsplit_1_1,7},{fsplit_2,6},{fsplit_2_1,7},{fmergel,4},{rfmergel,4},{fmerge2_1,5},{fmerge2_2,5},{rfmerge2_1,5},{rfmerge2_2,5},{ufsplit_1,6},{ufsplit_1_1,7},{ufsplit_2,4},{ufmergel,3},{rufmergel,3},{ufmerge2_1,6},{ufmerge2_2,5},{rufmerge2_1,5},{rufmerge2_2,6},{'-filter/2-lc$^0/1-0-',2},{'-concat/1-fun-0-',1}]},{sets,[{from_list,1},{union,2},{union,1},{intersection,2},{intersection,1},{is_disjoint,2},{subtract,2},{is_subset,2},{filter,2},{module_info,0},{module_info,1},{is_element,2},{is_set,1},{add_element,2},{del_element,2},{new,0},{size,1},{fold,3},{to_list,1}],[{add_bkt_el,3},{del_bkt_el,2},{union1,2},{intersection1,2},{get_slot,2},{get_bucket,2},{on_bucket,3},{fold_set,3},{fold_segs,4},{fold_seg,4},{fold_bucket,3},{filter_set,2},{filter_seg_list,4},{filter_bkt_list,4},{filter_bucket,4},{get_bucket_s,2},{put_bucket_s,3},{maybe_expand,2},{maybe_expand_segs,1},{maybe_contract,2},{maybe_contract_segs,1},{rehash,4},{mk_seg,1},{expand_segs,2},{contract_segs,1},{'-is_subset/2-fun-0-',3},{'-subtract/2-fun-0-',2},{'-is_disjoint/2-fun-1-',3},{'-is_disjoint/2-fun-0-',3},{'-intersection/2-fun-1-',2},{'-intersection/2-fun-0-',2},{'-union/2-fun-1-',2},{'-union/2-fun-0-',2},{'-del_element/2-fun-0-',2},{'-add_element/2-fun-0-',2},{'-from_list/1-fun-0-',2},{'-to_list/1-fun-0-',2}]},{inet_udp,[{getserv,1},{getaddr,1},{getaddr,2},{open,1},{send,4},{send,2},{connect,3},{recv,2},{recv,3},{controlling_process,2},{fdopen,2},{module_info,0},{module_info,1},{close,1},{open,2}],[{optuniquify,1},{optuniquify,2},{optuniquify,4}]},{erlyberly,[{process_info,0},{get_process_state,1},{module_functions,0},{start_trace,5},{stop_trace,4},{erlyberly_tcollector,1},{collect_trace_logs,0},{seq_trace,5},{collect_seq_trace_logs,0},{module_info,0},{module_info,1}],[{process_info2,2},{size_props_to_bytes,1},{size_to_bytes,1},{format_record,2},{record_fields,1},{module_functions2,1},{when_process_is_unregistered,2},{ensure_dbg_started,1},{store_trace,1},{erlyberly_tcollector2,1},{tcollector_start_trace,2},{collect_log,2},{maybe_add_log,2},{trace_to_props,1},{reapply_traces,2},{get_registered_name,1},{ensure_seq_tracer_started,1},{start_seq_tracer,1},{seq_trace_collector,1},{seq_trace_to_props,1},{format_pid,1},{log_seq_trace,1},{format_utc_timestamp,0},{seq_trace_match_spec,1},{'-start_seq_tracer/1-fun-0-',1},{'-reapply_traces/2-lc$^0/1-0-',1},{'-reapply_traces/2-fun-0-',2},{'-ensure_dbg_started/1-fun-1-',2},{'-ensure_dbg_started/1-fun-0-',1},{'-module_functions2/1-lc$^0/1-0-',2},{'-module_functions/0-lc$^0/1-0-',1},{'-format_record/2-lc$^1/1-1-',2},{'-format_record/2-fun-0-',2},{'-format_record/2-lc$^0/1-0-',2},{'-size_props_to_bytes/1-lc$^0/1-0-',1}]},{auth,[{start_link,0},{is_auth,1},{cookie,0},{cookie,1},{node_cookie,1},{node_cookie,2},{get_cookie,1},{set_cookie,1},{print,3},{init,1},{handle_call,3},{handle_cast,2},{handle_info,2},{code_change,3},{terminate,2},{module_info,0},{module_info,1},{sync_cookie,0},{get_cookie,0},{set_cookie,2}],[{getnode,1},{init_cookie,0},{read_cookie,0},{read_cookie,1},{read_cookie,2},{make_error,2},{check_attributes,4},{check_cookie,2},{check_cookie1,2},{create_cookie,1},{random_cookie,3},{make_info,1},{next_random,1}]},{code,[{objfile_extension,0},{load_file,1},{load_abs,1},{load_abs,2},{load_binary,3},{load_native_partial,2},{load_native_sticky,3},{delete,1},{purge,1},{soft_purge,1},{get_object_code,1},{all_loaded,0},{stop,0},{root_dir,0},{lib_dir,0},{lib_dir,1},{lib_dir,2},{compiler_dir,0},{priv_dir,1},{stick_dir,1},{unstick_dir,1},{stick_mod,1},{unstick_mod,1},{is_sticky,1},{set_path,1},{get_path,0},{add_path,1},{add_pathz,1},{add_patha,1},{add_paths,1},{add_pathsz,1},{add_pathsa,1},{del_path,1},{replace_path,2},{rehash,0},{start_link,0},{start_link,1},{where_is_file,2},{set_primary_archive,3},{clash,0},{module_info,0},{module_info,1},{which,1},{where_is_file,1},{is_loaded,1},{ensure_loaded,1},{is_module_native,1},{make_stub_module,3},{module_md5,1},{get_chunk,2}],[{call,1},{do_start,1},{load_code_server_prerequisites,0},{do_stick_dirs,0},{do_s,1},{get_mode,1},{which2,1},{which,3},{search,1},{build,1},{decorate,2},{filter,3},{filter2,3},{has_ext,3},{to_path,1},{load_native_code_for_all_loaded,0},{'-load_native_code_for_all_loaded/0-fun-0-',2},{'-set_primary_archive/3-lc$^0/1-0-',2},{'-load_code_server_prerequisites/0-lc$^0/1-0-',1}]},{ram_file,[{read,2},{write,2},{copy,3},{datasync,1},{sync,1},{truncate,1},{position,2},{pread,2},{pread,3},{pwrite,2},{pwrite,3},{ipread_s32bu_p32bu,3},{set_file,2},{get_file_close,1},{get_size,1},{uuencode,1},{uudecode,1},{advise,4},{open_mode,1},{module_info,0},{module_info,1},{compress,1},{close,1},{get_file,1},{uncompress,1},{open,2}],[{pread_1,3},{pread_2,3},{pwrite_1,4},{pwrite_2,3},{ll_open,3},{call_port,2},{get_response,1},{ll_close,1},{mode_list,1},{open_mode,2},{lseek_position,1},{translate_response,2},{i32,4}]},{dict,[{append_list,3},{update,3},{update,4},{update_counter,3},{map,2},{filter,2},{merge,3},{module_info,0},{module_info,1},{size,1},{fetch_keys,1},{fetch,2},{from_list,1},{is_key,2},{find,2},{append,3},{new,0},{store,3},{erase,2},{fold,3},{to_list,1}],[{find_key,2},{fetch_val,2},{find_val,2},{erase_key,2},{store_bkt_val,3},{append_bkt,3},{app_list_bkt,3},{update_bkt,3},{update_bkt,4},{counter_bkt,3},{get_slot,2},{get_bucket,2},{on_bucket,3},{fold_dict,3},{fold_segs,4},{fold_seg,4},{fold_bucket,3},{map_dict,2},{map_seg_list,2},{map_bkt_list,2},{map_bucket,2},{filter_dict,2},{filter_seg_list,4},{filter_bkt_list,4},{filter_bucket,4},{get_bucket_s,2},{put_bucket_s,3},{maybe_expand,2},{maybe_expand_aux,2},{maybe_expand_segs,1},{maybe_contract,2},{maybe_contract_segs,1},{rehash,4},{mk_seg,1},{expand_segs,2},{contract_segs,1},{'-merge/3-fun-3-',4},{'-merge/3-fun-2-',4},{'-merge/3-fun-1-',4},{'-merge/3-fun-0-',4},{'-update_counter/3-fun-0-',3},{'-update/4-fun-0-',4},{'-update/3-fun-0-',3},{'-append_list/3-fun-0-',3},{'-append/3-fun-0-',3},{'-store/3-fun-0-',3},{'-erase/2-fun-0-',2},{'-fetch_keys/1-fun-0-',3},{'-from_list/1-fun-0-',2},{'-to_list/1-fun-0-',3}]},{packages,[{to_string,1},{concat,2},{concat,1},{is_valid,1},{is_segmented,1},{first,1},{strip_last,1},{find_modules,1},{find_modules,2},{module_info,0},{module_info,1},{split,1},{last,1}],[{concat_1,1},{is_valid_1,1},{split_1,2},{is_segmented_1,1},{last_1,1},{first_1,1},{find_modules,4},{'-find_modules/4-fun-0-',3},{'-find_modules/4-lc$^0/1-0-',2}]},{inet_tcp,[{getserv,1},{getaddr,1},{getaddr,2},{getaddrs,1},{getaddrs,2},{recv,2},{unrecv,2},{shutdown,2},{connect,4},{accept,2},{fdopen,2},{module_info,0},{module_info,1},{send,2},{recv,3},{send,3},{close,1},{connect,3},{controlling_process,2},{accept,1},{listen,2}],[{do_connect,4}]},{binary,[{split,2},{replace,3},{replace,4},{module_info,0},{module_info,1},{split,3},{decode_unsigned,2},{decode_unsigned,1},{encode_unsigned,2},{encode_unsigned,1},{referenced_byte_size,1},{copy,2},{copy,1},{list_to_bin,1},{bin_to_list,3},{bin_to_list,2},{bin_to_list,1},{part,3},{part,2},{at,2},{last,1},{first,1},{longest_common_suffix,1},{longest_common_prefix,1},{matches,3},{matches,2},{match,3},{match,2},{compile_pattern,1}],[{do_split,4},{do_replace,4},{do_insert,2},{splitat,3},{get_opts_split,2},{get_opts_replace,2}]},{gen_event,[{start,0},{start_link,0},{init_it,6},{add_sup_handler,3},{sync_notify,2},{call,4},{swap_sup_handler,3},{stop,1},{wake_hib,4},{system_continue,3},{system_terminate,4},{system_code_change,4},{format_status,2},{behaviour_info,1},{module_info,0},{module_info,1},{call,3},{which_handlers,1},{add_handler,3},{delete_handler,3},{swap_handler,3},{notify,2},{start_link,1},{start,1}],[{name,1},{rpc,2},{call1,3},{call1,4},{send,2},{loop,5},{fetch_msg,5},{handle_msg,5},{terminate_server,4},{do_unlink,2},{handle_exit,4},{terminate_supervised,4},{print_event,3},{server_add_handler,3},{server_add_handler,4},{server_add_sup_handler,4},{server_delete_handler,4},{server_swap_handler,6},{server_swap_handler,7},{s_s_h,4},{split_and_terminate,6},{server_notify,4},{server_update,4},{do_swap,7},{new_handler,2},{split,2},{split,3},{server_call,4},{search,2},{delete,2},{replace,3},{server_call_update,3},{do_terminate,7},{report_terminate,7},{report_terminate,5},{report_error,5},{handler,1},{the_handlers,1},{stop_handlers,2},{get_modules,1},{'-format_status/2-lc$^0/1-0-',4},{'-get_modules/1-lc$^0/1-0-',1},{'-the_handlers/1-lc$^0/1-0-',1},{'-system_code_change/4-fun-0-',4},{'-terminate_supervised/4-fun-0-',4},{'-do_unlink/2-fun-0-',2},{'-fetch_msg/5-fun-0-',3}]},{heart,[{start,0},{init,2},{set_cmd,1},{get_cmd,0},{clear_cmd,0},{cycle,0},{module_info,0},{module_info,1}],[{wait_for_init_ack,1},{wait,0},{start_portprogram,0},{get_heart_timeouts,0},{check_start_heart,0},{wait_ack,1},{loop,3},{no_reboot_shutdown,1},{do_cycle_port_program,4},{send_heart_beat,1},{send_heart_cmd,2},{get_heart_cmd,1},{send_shutdown,1},{report_problem,1}]},{io_lib_format,[{module_info,0},{module_info,1},{fwrite_g,1},{indentation,2},{fwrite,2}],[{collect,2},{collect_cseq,2},{encoding,2},{field_width,2},{field_width,3},{precision,2},{field_value,2},{field_value,3},{pad_char,2},{collect_cc,2},{pcount,1},{pcount,2},{build,3},{decr_pc,2},{control,8},{uniconv,1},{base,1},{term,5},{print,7},{fwrite_e,5},{float_e,3},{float_man,3},{float_man,2},{float_exp,1},{fwrite_f,5},{float_f,3},{float_data,1},{float_data,2},{mantissa_exponent,1},{fwrite_g_1,3},{scale,7},{fixup,7},{generate,6},{insert_decimal,2},{insert_exp,2},{int_ceil,1},{int_pow,2},{int_pow,3},{log2floor,1},{log2floor,2},{fwrite_g,5},{iolist_to_chars,1},{string,5},{string_field,5},{unprefixed_integer,6},{prefixed_integer,7},{char,5},{newline,4},{adjust,3},{flat_trunc,2},{flat_trunc,4},{chars,2},{cond_lowercase,2},{lowercase,1},{'-fwrite_g/1-lc$^1/1-1-',2},{'-fwrite_g/1-lc$^0/1-0-',1}]},{erl_lint,[{bool_option,4},{value_option,3},{value_option,7},{format_error,1},{exprs,2},{module,1},{module,2},{module,3},{is_pattern_expr,1},{is_guard_test,2},{is_guard_expr,1},{module_info,0},{module_info,1},{is_guard_test,1},{modify_line,2},{used_vars,2},{exprs_opt,3}],[{gen_type_paren,1},{gen_type_paren_1,2},{format_mfa,1},{format_mf,3},{format_where,1},{pseudolocals,0},{compiler_options,1},{start,0},{start,2},{is_warn_enabled,2},{return_status,1},{pack_errors,1},{pack_warnings,1},{add_error,2},{add_error,3},{add_warning,2},{add_warning,3},{loc,1},{forms,2},{pre_scan,2},{includes_qlc_hrl,2},{eval_file_attribute,2},{eval_file_attr,2},{zip_file_and_line,2},{form,2},{start_state,2},{set_module,3},{ensure_new,2},{add_instance,2},{add_func,3},{attribute_state,2},{function_state,2},{eof,2},{bif_clashes,2},{not_deprecated,2},{disallowed_compile_flags,2},{post_traversal_check,2},{check_behaviour,1},{behaviour_check,2},{all_behaviour_callbacks,3},{behaviour_callbacks,3},{behaviour_missing_callbacks,2},{behaviour_conflicting,2},{behaviour_add_conflicts,2},{behaviour_add_conflict,5},{check_deprecated,2},{depr_cat,3},{depr_fa,4},{deprecated_flag,1},{check_imports,2},{check_inlines,2},{check_unused_functions,2},{initially_reached,1},{reached_functions,2},{reached_functions,4},{check_undefined_functions,1},{check_undefined_types,1},{check_bif_clashes,2},{check_option_functions,4},{nowarn_function,2},{func_line_warning,3},{func_line_error,3},{check_untyped_records,2},{check_unused_records,2},{check_callback_information,1},{export,3},{export_type,3},{import,3},{check_imports,3},{add_imports,3},{imported,3},{on_load,3},{check_on_load,1},{call_function,4},{function,5},{define_function,4},{function_check_max_args,3},{clauses,3},{clause,3},{head,3},{head,4},{pattern,3},{pattern,5},{pattern_list,5},{reject_bin_alias_expr,3},{reject_bin_alias,3},{reject_bin_alias_list,3},{reject_bin_alias_rec,5},{rbia_field_vars,1},{rbia_fields,3},{is_pattern_expr_1,1},{pattern_bin,5},{pattern_element,4},{pattern_element_1,4},{good_string_size_type,2},{pat_bit_expr,4},{pat_bit_size,4},{expr_bin,4},{bin_element,4},{bit_size,4},{bit_type,4},{bit_size_check,4},{elemtype_check,4},{add_bit_size,5},{guard,3},{guard_tests,3},{guard_test,3},{guard_test2,3},{gexpr,3},{gexpr_list,3},{is_guard_test2,2},{is_gexpr,2},{is_gexpr_op,2},{is_gexpr_list,2},{is_gexpr_fields,4},{exprs,3},{expr,3},{expr_list,3},{record_expr,4},{warn_invalid_record,3},{is_valid_record,1},{warn_invalid_call,3},{is_valid_call,1},{record_def,4},{def_fields,3},{normalise_fields,1},{exist_record,3},{check_record,4},{used_record,2},{check_fields,6},{check_field,7},{pattern_field,4},{pattern_fields,7},{record_field,4},{init_fields,6},{ginit_fields,6},{init_fields,3},{update_fields,5},{exist_field,2},{find_field,2},{type_def,6},{check_type,2},{check_type,3},{check_record_types,5},{check_record_types,6},{is_var_arity_type,1},{default_types,0},{is_newly_introduced_builtin_type,1},{spec_decl,4},{callback_decl,4},{check_specs,3},{check_specs_without_function,1},{check_functions_without_spec,2},{add_missing_spec_warnings,3},{check_unused_types,2},{icrt_clauses,4},{icrt_clauses,3},{icrt_clause,3},{icrt_export,4},{handle_comprehension,4},{lc_quals,3},{lc_quals,4},{handle_generator,5},{fun_clauses,3},{fun_clause,3},{pat_var,5},{pat_binsize_var,5},{expr_var,4},{exported_var,4},{shadow_vars,4},{check_unused_vars,3},{check_old_unused_vars,3},{unused_vars,3},{warn_unused_vars,3},{vtupdate,2},{vtexport,3},{vtunsafe,3},{vtmerge,2},{vtmerge,1},{vtmerge_pat,2},{merge_lines,2},{merge_state,2},{merge_used,2},{vtnew,2},{vtsubtract,2},{vtold,2},{vtnames,1},{vt_no_unsafe,1},{vintersection,1},{copy_expr,2},{modify_line1,2},{check_record_info_call,4},{has_wildcard_field,1},{check_remote_function,5},{check_qlc_hrl,5},{deprecated_function,5},{obsolete_guard,2},{keyword_warning,3},{format_function,5},{is_format_function,2},{check_format_1,1},{canonicalize_string,1},{check_format_2,2},{check_format_2a,2},{check_format_3,2},{args_list,1},{args_length,1},{check_format_string,1},{extract_sequences,2},{extract_sequence,3},{extract_sequence_digits,3},{control_type,2},{package_to_string,1},{expand_package,2},{local_functions,1},{is_local_function,2},{is_imported_function,2},{is_imported_from_erlang,2},{auto_import_suppressed,1},{is_autoimport_suppressed,2},{bif_clash_specifically_disabled,2},{no_guard_bif_clash,2},{'-auto_import_suppressed/1-lc$^1/1-1-',1},{'-auto_import_suppressed/1-lc$^0/1-0-',1},{'-local_functions/1-lc$^0/1-0-',1},{'-canonicalize_string/1-fun-0-',3},{'-copy_expr/2-fun-0-',2},{'-vt_no_unsafe/1-lc$^0/1-0-',1},{'-vtnames/1-lc$^0/1-0-',1},{'-vtold/2-fun-0-',3},{'-vtnew/2-fun-0-',3},{'-vtmerge_pat/2-fun-0-',3},{'-vtmerge/1-fun-0-',2},{'-vtmerge/2-fun-0-',3},{'-vtunsafe/3-lc$^0/1-0-',3},{'-vtexport/3-lc$^0/1-0-',3},{'-vtupdate/2-fun-0-',3},{'-warn_unused_vars/3-fun-2-',1},{'-warn_unused_vars/3-fun-1-',2},{'-warn_unused_vars/3-fun-0-',3},{'-unused_vars/3-fun-0-',2},{'-shadow_vars/4-fun-0-',3},{'-fun_clauses/3-fun-0-',3},{'-icrt_export/4-lc$^0/1-0-',3},{'-icrt_clauses/3-fun-0-',3},{'-check_unused_types/2-fun-0-',5},{'-check_unused_types/2-lc$^0/1-0-',1},{'-add_missing_spec_warnings/3-fun-0-',2},{'-add_missing_spec_warnings/3-lc$^2/1-1-',3},{'-add_missing_spec_warnings/3-lc$^1/1-2-',2},{'-add_missing_spec_warnings/3-lc$^0/1-0-',1},{'-check_specs_without_function/1-fun-0-',5},{'-check_specs/3-lc$^0/1-0-',1},{'-default_types/0-lc$^0/1-0-',1},{'-check_record_types/5-fun-0-',1},{'-check_type/3-fun-0-',2},{'-check_type/3-fun-1-',2},{'-check_type/2-fun-0-',3},{'-type_def/6-lc$^0/1-0-',1},{'-update_fields/5-fun-0-',3},{'-init_fields/3-lc$^0/1-0-',3},{'-ginit_fields/6-lc$^0/1-0-',1},{'-ginit_fields/6-fun-1-',3},{'-ginit_fields/6-fun-0-',3},{'-init_fields/6-fun-1-',3},{'-init_fields/6-fun-0-',3},{'-pattern_fields/7-fun-1-',6},{'-pattern_fields/7-fun-0-',5},{'-check_fields/6-fun-0-',6},{'-normalise_fields/1-fun-0-',1},{'-def_fields/3-fun-0-',3},{'-expr_list/3-fun-0-',3},{'-expr/3-fun-4-',3},{'-expr/3-fun-3-',5},{'-expr/3-fun-2-',4},{'-expr/3-fun-1-',6},{'-expr/3-fun-0-',4},{'-is_gexpr_fields/4-fun-0-',2},{'-is_gexpr_list/2-fun-0-',2},{'-is_gexpr/2-fun-0-',2},{'-is_guard_test/2-fun-0-',2},{'-is_guard_test/2-lc$^0/1-0-',1},{'-gexpr_list/3-fun-0-',3},{'-gexpr/3-fun-3-',3},{'-gexpr/3-fun-1-',4},{'-gexpr/3-fun-2-',6},{'-gexpr/3-fun-0-',4},{'-expr_bin/4-fun-0-',4},{'-good_string_size_type/2-fun-0-',1},{'-pattern_bin/5-fun-0-',4},{'-is_pattern_expr_1/1-fun-0-',1},{'-is_pattern_expr_1/1-fun-1-',1},{'-rbia_field_vars/1-lc$^0/1-0-',1},{'-reject_bin_alias_rec/5-fun-0-',1},{'-pattern_list/5-fun-0-',5},{'-pattern/5-fun-0-',4},{'-clauses/3-fun-0-',3},{'-add_imports/3-fun-0-',3},{'-check_imports/3-fun-0-',3},{'-import/3-fun-0-',3},{'-export_type/3-fun-0-',3},{'-export/3-fun-0-',3},{'-check_callback_information/1-fun-0-',2},{'-check_unused_records/2-fun-1-',2},{'-check_unused_records/2-lc$^1/1-1-',2},{'-check_unused_records/2-fun-0-',2},{'-check_unused_records/2-lc$^0/1-0-',1},{'-check_untyped_records/2-fun-1-',3},{'-check_untyped_records/2-lc$^0/1-0-',1},{'-check_untyped_records/2-fun-0-',1},{'-func_line_error/3-fun-0-',3},{'-func_line_warning/3-fun-0-',3},{'-nowarn_function/2-lc$^0/1-0-',2},{'-nowarn_function/2-lc$^1/1-1-',3},{'-check_option_functions/4-lc$^4/1-4-',2},{'-check_option_functions/4-lc$^3/1-3-',1},{'-check_option_functions/4-lc$^0/1-0-',2},{'-check_option_functions/4-lc$^1/1-1-',4},{'-check_option_functions/4-lc$^2/1-2-',5},{'-check_undefined_types/1-fun-0-',2},{'-check_undefined_types/1-lc$^0/1-0-',3},{'-check_undefined_functions/1-fun-0-',2},{'-check_unused_functions/2-lc$^1/1-1-',2},{'-check_unused_functions/2-lc$^2/1-2-',4},{'-check_unused_functions/2-lc$^0/1-0-',1},{'-check_imports/2-lc$^2/1-2-',2},{'-check_imports/2-lc$^3/1-3-',4},{'-check_imports/2-lc$^0/1-0-',1},{'-check_imports/2-lc$^1/1-1-',4},{'-depr_fa/4-fun-0-',2},{'-check_deprecated/2-fun-0-',2},{'-check_deprecated/2-lc$^0/1-0-',3},{'-check_deprecated/2-lc$^1/1-1-',5},{'-check_deprecated/2-lc$^2/1-2-',6},{'-behaviour_conflicting/2-fun-0-',1},{'-behaviour_missing_callbacks/2-fun-0-',4},{'-behaviour_callbacks/3-lc$^0/1-0-',2},{'-behaviour_callbacks/3-fun-1-',1},{'-behaviour_callbacks/3-fun-0-',1},{'-disallowed_compile_flags/2-lc$^1/1-1-',2},{'-disallowed_compile_flags/2-lc$^0/1-0-',2},{'-not_deprecated/2-lc$^4/1-4-',1},{'-not_deprecated/2-lc$^3/1-3-',1},{'-not_deprecated/2-lc$^0/1-0-',1},{'-not_deprecated/2-lc$^1/1-1-',3},{'-not_deprecated/2-lc$^2/1-2-',4},{'-bif_clashes/2-lc$^0/1-0-',1},{'-start_state/2-lc$^0/1-0-',1},{'-zip_file_and_line/2-fun-1-',2},{'-zip_file_and_line/2-fun-0-',2},{'-includes_qlc_hrl/2-lc$^0/1-0-',1},{'-forms/2-fun-0-',2},{'-pack_warnings/1-lc$^2/1-2-',1},{'-pack_warnings/1-lc$^0/1-0-',2},{'-pack_warnings/1-lc$^1/1-1-',2},{'-pack_errors/1-fun-2-',1},{'-pack_errors/1-fun-1-',1},{'-pack_errors/1-fun-0-',2},{'-start/2-lc$^1/1-1-',1},{'-start/2-lc$^0/1-0-',1},{'-compiler_options/1-lc$^0/1-0-',1},{'-used_vars/2-fun-1-',2},{'-used_vars/2-fun-0-',2},{'-exprs_opt/3-fun-0-',2},{'-format_mfa/1-lc$^0/1-0-',1},{'-value_option/7-fun-0-',7},{'-value_option/3-fun-0-',3},{'-bool_option/4-fun-0-',4}]},{kernel_config,[{start_link,0},{init,1},{handle_info,2},{terminate,2},{handle_call,3},{handle_cast,2},{code_change,3},{send_timeout,2},{module_info,0},{module_info,1}],[{sync_nodes,0},{wait_nodes,2},{rec_nodes,2},{check_up,3},{get_sync_data,0},{get_sync_timeout,0},{get_sync_mandatory_nodes,0},{get_sync_optional_nodes,0},{'-wait_nodes/2-fun-0-',1}]},{inet_gethost_native,[{init,1},{start_link,0},{start_raw,0},{run_once,0},{terminate,2},{server_init,2},{main_loop,1},{system_continue,3},{system_terminate,4},{system_code_change,4},{gethostbyname,1},{control,1},{module_info,0},{module_info,1},{gethostbyaddr,1},{gethostbyname,2}],[{handle_message,2},{do_handle_call,4},{find_request,2},{pick_request,2},{pick_client,3},{get_rid,0},{foreach,2},{foreach,3},{restart_port,1},{do_open_port,2},{get_extra_args,0},{get_poolsize,0},{getit,4},{getit,2},{do_start,2},{ensure_started,0},{parse_address,2},{expand_default_name,2},{listify,1},{pick_addresses_v4,2},{pick_addresses_v6,2},{ndx,2},{ndx,4},{pick_names,1},{pick_names,2},{'-restart_port/1-fun-0-',2},{'-handle_message/2-fun-0-',2}]},{gen_server,[{start,3},{start,4},{start_link,3},{start_link,4},{abcast,2},{abcast,3},{multi_call,2},{multi_call,3},{multi_call,4},{enter_loop,3},{enter_loop,5},{init_it,6},{wake_hib,5},{system_continue,3},{system_terminate,4},{system_code_change,4},{format_status,2},{behaviour_info,1},{module_info,0},{module_info,1},{cast,2},{reply,2},{enter_loop,4},{call,2},{call,3}],[{do_cast,2},{cast_msg,1},{do_abcast,3},{name,1},{unregister_name,1},{loop,6},{decode_msg,8},{do_send,2},{do_multi_call,4},{send_nodes,4},{send_nodes,5},{rec_nodes,4},{rec_nodes,7},{rec_nodes_rest,5},{start_monitor,2},{unmonitor,1},{dispatch,3},{handle_msg,5},{handle_msg,6},{handle_common_reply,6},{handle_common_reply,7},{reply,5},{print_event,3},{terminate,6},{error_info,5},{opt,2},{debug_options,2},{dbg_options,2},{dbg_opts,2},{get_proc_name,1},{get_parent,0},{name_to_pid,1},{'-reply/5-fun-0-',3},{'-handle_common_reply/7-fun-1-',3},{'-handle_common_reply/7-fun-0-',3},{'-handle_msg/6-fun-1-',3},{'-handle_msg/6-fun-0-',3},{'-do_multi_call/4-fun-0-',6},{'-decode_msg/8-fun-0-',3}]},{proc_lib,[{spawn,1},{spawn,3},{spawn_link,1},{spawn_link,3},{spawn,2},{spawn,4},{spawn_link,2},{spawn_link,4},{spawn_opt,2},{spawn_opt,3},{spawn_opt,4},{spawn_opt,5},{init_p,3},{init_p,5},{wake_up,3},{start,3},{start,4},{start_link,3},{start_link,4},{init_ack,1},{initial_call,1},{translate_initial_call,1},{format,1},{module_info,0},{module_info,1},{start,5},{start_link,5},{hibernate,3},{init_ack,2}],[{check_for_monitor,1},{ensure_link,1},{init_p_do_apply,3},{exit_p,2},{sync_wait,2},{flush,1},{make_dummy_args,2},{raw_initial_call,1},{raw_init_call,1},{trans_init,3},{crash_report,3},{my_info,3},{my_info_1,2},{get_ancestors,1},{get_cleaned_dictionary,1},{clean_dict,1},{get_dictionary,2},{linked_info,1},{make_neighbour_reports1,1},{make_neighbour_report,1},{get_initial_call,1},{neighbours,1},{max_neighbours,0},{visit,2},{adjacents,1},{no_trap,1},{get_process_info,2},{translate_process_info,2},{get_my_name,0},{get_ancestors,0},{proc_info,2},{check,1},{format_report,1},{format_rep,1},{format_exception,3},{format_mfa,1},{pp_fun,0},{format_tag,2},{'-pp_fun/0-fun-0-',2},{'-format_exception/3-fun-0-',3}]},{application,[{load,2},{unload,1},{start,1},{start,2},{start_boot,1},{start_boot,2},{takeover,2},{permit,2},{stop,1},{which_applications,0},{which_applications,1},{loaded_applications,0},{info,0},{set_env,3},{set_env,4},{unset_env,2},{unset_env,3},{get_env,1},{get_all_env,0},{get_key,1},{get_all_key,0},{get_all_key,1},{get_application,0},{get_application,1},{start_type,0},{behaviour_info,1},{module_info,0},{module_info,1},{get_all_env,1},{get_key,2},{get_env,2},{load,1}],[{load1,2},{get_appl_name,1}]},{global,[{start,0},{start_link,0},{stop,0},{sync,0},{sync,1},{node_disconnected,1},{register_name,3},{re_register_name,2},{re_register_name,3},{registered_names,0},{register_name_external,2},{register_name_external,3},{unregister_name_external,1},{set_lock,1},{set_lock,2},{set_lock,3},{del_lock,1},{del_lock,2},{trans,2},{trans,3},{trans,4},{info,0},{init,1},{handle_call,3},{handle_cast,2},{handle_info,2},{terminate,2},{code_change,3},{resolve_it,4},{random_exit_name,3},{random_notify_name,3},{notify_all_name,3},{module_info,0},{module_info,1},{unregister_name,1},{register_name,2},{whereis_name,1},{send,2}],[{check_dupname,2},{set_lock,4},{wait_high_level_trace,0},{send_high_level_trace,0},{trans_all_known,1},{set_lock_known,2},{lock_on_known_nodes,3},{set_lock_on_nodes,2},{local_lock_check,2},{check_replies,3},{init_connect,6},{lock_is_set,3},{exchange,3},{resolved,5},{cancel_resolved_locker,2},{new_nodes,6},{do_whereis,2},{start_resolver,2},{resolver,2},{resend_pre_connect,1},{ins_name,6},{ins_name_ext,7},{where,1},{handle_set_lock,3},{can_set_lock,1},{insert_lock,4},{is_global_lock_set,0},{is_lock_set,1},{handle_del_lock,3},{remove_lock,6},{kill_monitor_proc,2},{do_ops,5},{sync_others,1},{sync_other,2},{insert_global_name,6},{lock_still_set,3},{extra_info,2},{del_name,2},{delete_global_name_keep_pid,2},{delete_global_name2,2},{delete_global_name2,5},{delete_global_name,2},{start_the_locker,1},{init_the_locker,1},{loop_the_locker,1},{the_locker_message,2},{select_node,1},{locker_lock_id,2},{lock_nodes_safely,3},{delete_nonode,1},{locker_trace,3},{update_locker_known,1},{update_locker_known,2},{random_element,1},{exclude_known,2},{lock_is_set,5},{call_fun,1},{delete_global_lock,2},{the_boss,1},{find_node_tag,2},{find_node_tag2,2},{remove_node,2},{remove_node2,2},{add_node,2},{is_node_local,1},{split_node,3},{cancel_locker,3},{cancel_locker,4},{reset_node_state,1},{exchange_names,4},{minmax,2},{dolink_ext,2},{dounlink_ext,2},{unlink_pid,1},{pid_is_locking,2},{delete_lock,2},{pid_locks,1},{rpid_is_locking,2},{handle_nodedown,2},{get_names,0},{get_names_ext,0},{get_known,0},{random_sleep,1},{dec,1},{send_again,1},{timer,2},{change_our_node_name,2},{trace_message,3},{trace_message,2},{start_sync,2},{sync_init,2},{sync_loop,2},{check_sync_nodes,0},{check_sync_nodes,1},{get_own_nodes,0},{start_the_registrar,0},{loop_the_registrar,0},{unexpected_message,2},{do_monitor,1},{intersection,2},{'-do_monitor/1-fun-0-',1},{'-start_the_registrar/0-fun-0-',0},{'-sync_loop/2-fun-0-',1},{'-sync_init/2-fun-0-',1},{'-start_sync/2-fun-0-',2},{'-send_again/1-fun-0-',2},{'-pid_locks/1-lc$^0/1-0-',2},{'-pid_locks/1-fun-0-',1},{'-delete_lock/2-fun-0-',3},{'-exclude_known/2-lc$^0/1-0-',2},{'-start_the_locker/1-fun-0-',1},{'-del_name/2-lc$^0/1-0-',2},{'-del_name/2-lc$^1/1-1-',4},{'-sync_others/1-fun-1-',2},{'-sync_others/1-fun-0-',2},{'-do_ops/5-fun-2-',2},{'-do_ops/5-lc$^4/1-4-',1},{'-do_ops/5-fun-1-',4},{'-do_ops/5-lc$^3/1-3-',2},{'-do_ops/5-lc$^2/1-2-',1},{'-do_ops/5-fun-0-',4},{'-do_ops/5-lc$^0/1-0-',2},{'-do_ops/5-lc$^1/1-1-',6},{'-start_resolver/2-fun-0-',2},{'-resolved/5-fun-4-',4},{'-resolved/5-fun-3-',5},{'-resolved/5-fun-2-',2},{'-resolved/5-fun-1-',3},{'-resolved/5-fun-0-',2},{'-check_replies/3-lc$^0/1-0-',1},{'-handle_cast/2-fun-0-',2},{'-register_name_external/3-fun-0-',4},{'-register_name_external/2-fun-0-',3},{'-re_register_name/3-fun-0-',4},{'-re_register_name/2-fun-0-',3},{'-unregister_name/1-fun-0-',2},{'-check_dupname/2-lc$^0/1-0-',1},{'-register_name/3-fun-0-',4},{'-register_name/2-fun-0-',3}]},{inet_tcp_dist,[{select,1},{listen,1},{accept,1},{accept_loop,2},{accept_connection,5},{do_accept,6},{setup,5},{do_setup,6},{close,1},{is_node_name,1},{tick,1},{getstat,1},{module_info,0},{module_info,1}],[{do_listen,1},{do_listen,3},{controller,2},{flush_controller,2},{nodelay,0},{get_remote_id,2},{splitnode,2},{split_node,3},{get_tcp_address,1},{check_ip,1},{get_ifs,1},{check_ip,2},{mask,2},{split_stat,4},{'-do_setup/6-fun-2-',5},{'-do_setup/6-fun-1-',1},{'-do_setup/6-fun-0-',1},{'-do_accept/6-fun-5-',2},{'-do_accept/6-fun-4-',1},{'-do_accept/6-fun-3-',1},{'-do_accept/6-fun-2-',1},{'-do_accept/6-fun-1-',3},{'-do_accept/6-fun-0-',2}]},{code_server,[{system_continue,3},{system_terminate,4},{system_code_change,4},{module_info,0},{module_info,1},{error_msg,2},{info_msg,2},{start_link,1},{call,2}],[{init,3},{get_user_lib_dirs,0},{get_user_lib_dirs_1,1},{split_paths,4},{reply,2},{loop,1},{handle_system_msg,5},{gen_reply,2},{suspend_loop,3},{do_sys_cmd,4},{handle_call,3},{do_mod_call,4},{create_cache,1},{rehash_cache,1},{rehash_cache,2},{update_cache,3},{locate_mods,5},{filter_mods,5},{make_path,2},{choose_bundles,1},{create_bundle,2},{vsn_to_num,1},{is_vsn,1},{is_numstr,1},{split,2},{split1,3},{split2,4},{join,2},{choose,3},{make_path,4},{try_ebin_dirs,6},{add_loader_path,2},{patch_path,1},{exclude_pa_pz,3},{excl,2},{strip_path,2},{add,3},{add1,3},{add_pa_pz,3},{get_arg,1},{exclude,2},{get_name,1},{get_name1,1},{get_name2,2},{check_path,1},{do_check_path,4},{add_path,4},{do_add,4},{maybe_update,2},{update,2},{set_path,3},{normalize,1},{init_namedb,1},{init_namedb,2},{insert_name,2},{insert_name,3},{archive_subdirs,1},{all_archive_subdirs,1},{try_archive_subdirs,3},{del_path,3},{del_path1,3},{insert_old_shadowed,3},{replace_path,4},{replace_path1,4},{check_pars,2},{del_ebin,1},{replace_name,2},{delete_name,2},{delete_name_dir,2},{lookup_name,2},{do_dir,3},{stick_dir,3},{stick_mod,3},{get_mods,2},{is_sticky,2},{add_paths,4},{do_load_binary,5},{modp,1},{load_abs,4},{try_load_module,4},{try_load_module,5},{try_load_module_1,5},{load_native_code,2},{hipe_result_to_status,1},{post_beam_load,1},{int_list,1},{load_file,3},{load_file_1,3},{mod_to_bin,2},{absname,1},{absname,2},{absname_vr,3},{do_purge,1},{do_purge,3},{do_soft_purge,1},{do_soft_purge,2},{is_loaded,2},{handle_on_load,4},{pending_on_load,3},{pending_on_load_1,3},{finish_on_load,3},{finish_on_load_1,5},{finish_on_load_report,2},{all_loaded,1},{all_l,4},{strip_mod_info,2},{objfile_extension,0},{archive_extension,0},{to_list,1},{to_atom,1},{to_path,1},{'-finish_on_load_report/2-fun-0-',2},{'-finish_on_load_1/5-lc$^0/1-0-',2},{'-finish_on_load/3-lc$^0/1-0-',2},{'-handle_on_load/4-fun-0-',1},{'-stick_dir/3-fun-1-',2},{'-stick_dir/3-fun-0-',2},{'-try_archive_subdirs/3-fun-0-',2},{'-archive_subdirs/1-fun-0-',2},{'-exclude/2-lc$^0/1-0-',3},{'-is_numstr/1-fun-0-',1},{'-is_vsn/1-fun-0-',1},{'-vsn_to_num/1-lc$^0/1-0-',1},{'-choose_bundles/1-lc$^1/1-1-',1},{'-choose_bundles/1-lc$^0/1-0-',2},{'-handle_call/3-lc$^0/1-0-',1},{'-handle_call/3-fun-4-',2},{'-handle_call/3-fun-0-',3},{'-handle_call/3-fun-5-',2},{'-handle_call/3-fun-3-',2},{'-handle_call/3-fun-2-',2},{'-handle_call/3-fun-1-',2},{'-get_user_lib_dirs_1/1-lc$^0/1-0-',2},{'-init/3-fun-0-',2},{'-start_link/1-fun-0-',3}]},{file_server,[{format_error,1},{start,0},{start_link,0},{stop,0},{init,1},{handle_call,3},{handle_cast,2},{handle_info,2},{terminate,2},{code_change,3},{module_info,0},{module_info,1}],[{do_start,1},{do_start,3},{do_start_slave,3},{relay_start,4},{relay_loop,3},{'-do_start_slave/3-fun-1-',4},{'-do_start_slave/3-fun-0-',4}]},{beam_lib,[{info,1},{chunks,3},{all_chunks,1},{cmp,2},{cmp_dirs,2},{diff_dirs,2},{strip,1},{strip_files,1},{strip_release,1},{version,1},{md5,1},{format_error,1},{crypto_key_fun,1},{clear_crypto_key_fun,0},{make_crypto_key,2},{build_module,1},{get_crypto_key,1},{init,1},{handle_call,3},{handle_cast,2},{handle_info,2},{code_change,3},{terminate,2},{module_info,0},{module_info,1},{chunks,2}],[{read_info,1},{diff_directories,2},{diff_only,2},{compare_dirs,2},{compare_files,3},{beam_files,1},{cmp_files,2},{cmp_lists,2},{strip_rel,1},{strip_fils,1},{strip_file,1},{build_chunks,1},{pad,1},{read_all_but_useless_chunks,1},{is_useless_chunk,1},{read_significant_chunks,2},{filter_significant_chunks,4},{filter_funtab,1},{filter_funtab_1,2},{read_all_chunks,1},{read_chunk_data,2},{read_chunk_data,3},{check_chunks,4},{scan_beam,2},{scan_beam,3},{scan_beam1,2},{scan_beam2,2},{scan_beam,5},{get_data,8},{del_chunk,2},{get_chunk,4},{chunks_to_data,7},{chunk_to_data,6},{chunk_name_to_id,2},{attributes,1},{attributes,2},{symbols,4},{symbols1,5},{symbol,6},{atm,2},{ensure_atoms,2},{extract_atoms,2},{extract_atoms,3},{extract_atom,1},{open_file,1},{read_all,3},{pread,3},{filename,1},{beam_filename,1},{uncompress,1},{compress,1},{assert_directory,1},{file_error,2},{error,1},{significant_chunks,0},{md5_chunks,0},{mandatory_chunks,0},{decrypt_abst,6},{decrypt_abst_1,3},{start_crypto,0},{call_crypto_server,1},{call_crypto_server_1,1},{crypto_key_fun_from_file,0},{crypto_key_fun_from_file_1,1},{f_p_s,2},{try_load_crypto_fun,1},{alt_lookup_key,2},{error,2},{'-try_load_crypto_fun/1-fun-1-',2},{'-try_load_crypto_fun/1-fun-0-',2},{'-attributes/2-lc$^0/1-0-',1},{'-attributes/2-fun-0-',2},{'-scan_beam/3-lc$^0/1-0-',2},{'-read_all_chunks/1-lc$^0/1-0-',1},{'-read_all_but_useless_chunks/1-lc$^0/1-0-',1},{'-strip_fils/1-lc$^0/1-0-',1},{'-beam_files/1-lc$^0/1-0-',1},{'-diff_directories/2-fun-0-',1},{'-md5/1-lc$^0/1-0-',1}]},{prim_zip,[{open,1},{open,3},{foldl,3},{close,1},{splitter,3},{module_info,0},{module_info,1}],[{filter_fun,0},{do_open,3},{do_foldl,6},{include_acc,3},{lists_foldl,3},{get_zip_input,1},{get_z_file,4},{get_z_all,4},{offset_over_z_data_descriptor,1},{get_central_dir,3},{get_cd_loop,11},{get_file_header,1},{get_filename_from_b2,4},{get_end_of_central_dir,3},{find_eocd_header,1},{prim_file_io,2},{binary_io,2},{eocd_and_comment_from_bin,1},{cd_file_header_to_file_info,3},{add_extra_info,2},{dos_date_time_to_datetime,2},{cd_file_header_from_bin,1},{local_file_header_from_bin,2},{split_iolist,2},{skip_iolist,2},{skipper,2},{pwrite_iolist,3},{pwrite_binary,3},{reverse,1},{reverse,2},{last,1},{last,2},{'-get_cd_loop/11-fun-2-',3},{'-get_cd_loop/11-fun-1-',4},{'-get_cd_loop/11-fun-0-',2},{'-get_zip_input/1-fun-1-',2},{'-get_zip_input/1-fun-0-',2},{'-include_acc/3-fun-0-',3},{'-filter_fun/0-fun-0-',2}]},{os,[{find_executable,1},{find_executable,2},{module_info,0},{module_info,1},{cmd,1},{version,0},{type,0},{timestamp,0},{getpid,0},{getenv,1},{getenv,0},{putenv,2}],[{find_executable1,3},{verify_executable,3},{can_be_full_name,2},{split_path,1},{split_path,4},{reverse_element,1},{extensions,0},{unix_cmd,1},{start_port,0},{start_port_srv,1},{start_port_srv_handle,1},{start_port_srv_loop,0},{unix_get_data,1},{unix_get_data,2},{eot,1},{eot,2},{mk_cmd,1},{validate,1},{validate1,1},{get_data,2},{'-start_port/0-fun-0-',1},{'-unix_cmd/1-fun-0-',2}]},{rpc,[{start,0},{start_link,0},{stop,0},{init,1},{handle_call,3},{handle_cast,2},{handle_info,2},{terminate,2},{code_change,3},{proxy_user_flush,0},{call,5},{block_call,4},{block_call,5},{server_call,4},{cast,4},{abcast,2},{abcast,3},{sbcast,2},{sbcast,3},{eval_everywhere,3},{eval_everywhere,4},{multicall,3},{multicall,4},{multicall,5},{multi_server_call,2},{multi_server_call,3},{safe_multi_server_call,2},{safe_multi_server_call,3},{async_call,4},{yield,1},{nb_yield,2},{nb_yield,1},{parallel_eval,1},{pmap,3},{pinfo,1},{pinfo,2},{module_info,0},{module_info,1},{call,4}],[{stop,1},{handle_call_call,6},{set_group_leader,1},{proxy_user,0},{proxy_user_loop,0},{local_call,3},{do_call,3},{rpc_check_t,1},{rpc_check,1},{send_nodes,4},{start_monitor,2},{unmonitor,1},{do_multicall,5},{rec_nodes,2},{rec_nodes,4},{do_yield,2},{map_nodes,3},{build_args,5},{check,2},{'-parallel_eval/1-lc$^0/1-0-',1},{'-async_call/4-fun-0-',5},{'-do_multicall/5-fun-0-',1},{'-do_call/3-fun-0-',4},{'-proxy_user/0-fun-0-',0},{'-handle_call_call/6-fun-0-',5},{'-handle_cast/2-fun-0-',4}]},{c,[{help,0},{c,1},{c,2},{lc,1},{lc_batch,0},{lc_batch,1},{nc,1},{nc,2},{l,1},{nl,1},{i,0},{ni,0},{i,1},{display_info,1},{i,3},{q,0},{bt,1},{m,0},{erlangrc,0},{erlangrc,1},{bi,1},{m,1},{flush,0},{nregs,0},{regs,0},{pwd,0},{cd,1},{ls,0},{ls,1},{memory,0},{memory,1},{xm,1},{y,1},{y,2},{appcall,4},{module_info,0},{module_info,1},{pid,3}],[{outdir,1},{machine_load,3},{check_load,2},{split,3},{split_def,2},{make_term,1},{i,2},{paged_i,4},{choice,1},{get_line,2},{mfa_string,1},{initial_call,1},{iformat,5},{all_procs,0},{pinfo,1},{fetch,2},{mformat,2},{error,2},{f_p_e,2},{print_object_file,1},{get_compile_time,1},{get_compile_options,1},{get_compile_info,2},{print_exports,1},{split_print_exports,1},{split_print_exports,2},{print_time,1},{month,1},{all_regs,0},{print_node_regs,1},{pids_and_ports,5},{pwhereis,2},{portinfo,1},{procline,3},{procformat,5},{portline,3},{portformat,3},{fixup_one_bin,1},{fixup_bin,1},{ls_print,1},{ls_print,3},{lengths,2},{w,1},{'-fixup_one_bin/1-lc$^0/1-0-',1},{'-print_node_regs/1-fun-1-',1},{'-print_node_regs/1-fun-0-',1},{'-all_regs/0-lc$^0/1-0-',1},{'-nregs/0-fun-0-',1},{'-m/0-fun-0-',1},{'-all_procs/0-fun-0-',1},{'-paged_i/4-fun-1-',4},{'-paged_i/4-fun-0-',2},{'-i/2-fun-0-',2},{'-lc_batch/1-lc$^0/1-0-',2},{'-lc/1-fun-0-',2}]},{file_io_server,[{format_error,1},{start,3},{count_and_find,3},{module_info,0},{module_info,1},{start_link,3}],[{do_start,4},{parse_options,1},{parse_options,4},{expand_encoding,1},{valid_enc,1},{server_loop,1},{file_reply,3},{io_reply,3},{file_request,2},{std_reply,2},{io_request,2},{io_request_loop,2},{put_chars,3},{get_chars,3},{get_chars,5},{get_chars_empty,6},{get_chars_notempty,6},{get_chars_apply,7},{err_func,3},{setopts,2},{check_valid_opts,1},{do_setopts,2},{getopts,1},{cat,5},{cast,4},{cast_binary,1},{read_size,1},{cafu,6},{cbv,2},{position,3},{'-do_start/4-fun-0-',6}]},{inet_config,[{do_load_resolv,2},{module_info,0},{module_info,1},{init,0}],[{erl_dist_mode,0},{add_dns_lookup,1},{add_dns_lookup,2},{set_hostname,0},{set_hostname,1},{set_search_dom,1},{load_resolv,2},{load_hosts,2},{win32_load_from_registry,1},{win32_load1,3},{win32_split_line,2},{win32_get_strings,2},{win32_get_strings,3},{vxworks_load_hosts,0},{check_hostShow,1},{check_hostShow,2},{next_line,1},{read_rc,0},{extract_cfg_files,3},{extract_cfg_files1,5},{valid_type,1},{read_inetrc,0},{try_get_rc,1},{get_rc,1},{get_file,1},{error,2},{warning,2},{parse_inetrc,1},{parse_inetrc_skip_line,3},{parse_inetrc,3},{'-vxworks_load_hosts/0-fun-0-',1},{'-win32_load1/3-fun-1-',1},{'-win32_load1/3-fun-0-',1},{'-load_hosts/2-fun-0-',1},{'-set_hostname/1-fun-0-',1},{'-init/0-fun-0-',2}]},{user_drv,[{start,0},{start,1},{start,2},{start,3},{interfaces,1},{server,2},{server,3},{module_info,0},{module_info,1}],[{server1,3},{rem_sh_opts,1},{start_user,0},{server_loop,4},{server_loop,5},{port_bytes,6},{interrupt_shell,5},{handle_escape,4},{switch_loop,3},{switch_cmd,4},{unknown_group,3},{list_commands,2},{get_line,3},{get_line_timeout,1},{get_tty_geometry,1},{get_unicode_state,1},{set_unicode_state,2},{io_request,3},{io_requests,3},{put_int16,2},{gr_new,0},{gr_get_num,2},{gr_get_num1,2},{gr_get_info,2},{gr_get_info1,2},{gr_add_cur,3},{gr_set_cur,2},{gr_set_num,4},{gr_set_num1,4},{gr_del_pid,2},{gr_del_pid1,2},{gr_cur_pid,1},{gr_list,1},{gr_list,3},{append,2},{member,2},{flatten,1},{flatten,3},{'-rem_sh_opts/1-fun-0-',2}]},{inet_parse,[{services,1},{services,2},{rpc,1},{rpc,2},{host_conf_linux,1},{host_conf_linux,2},{host_conf_freebsd,1},{host_conf_freebsd,2},{host_conf_bsdos,1},{host_conf_bsdos,2},{nsswitch_conf,1},{nsswitch_conf,2},{protocols,1},{protocols,2},{netmasks,1},{netmasks,2},{networks,1},{networks,2},{domain,1},{ipv4strict_address,1},{ipv6strict_address,1},{module_info,0},{module_info,1},{ntoa,1},{ipv4_address,1},{ipv6_address,1},{address,1},{hosts_vxworks,1},{split_line,1},{resolv,2},{hosts,2},{dots,1},{visible_string,1},{hosts,1},{resolv,1}],[{delete_options,1},{parse_file,2},{parse_file,3},{parse_fd,5},{parse_cs,5},{get_line,1},{get_line,2},{read_line,1},{collect_line,2},{collect_line,4},{port_proto,2},{is_vis1,1},{is_dom1,1},{is_dom_ldh,1},{is_dom2,1},{ipv4_addr,1},{ipv4_addr,2},{ipv4_addr,5},{strip0,1},{ipv4strict_addr,1},{ipv4strict_addr,2},{ipv4_field,4},{ipv4_field,2},{ipv6_addr,1},{ipv6_addr,3},{ipv6_addr,4},{ipv6_addr_done,4},{ipv6_addr_done,3},{ipv6_addr_done,1},{hex,1},{hex,2},{hex_to_int,1},{dup,3},{ntoa,2},{ntoa,3},{ntoa,4},{ntoa,5},{ntoa_done,2},{ntoa_done,1},{separate,2},{separate,3},{dig_to_dec,1},{dig_to_hex,1},{dots,2},{split_line,2},{split_mid,3},{split_end,2},{split_comma,1},{split_comma,2},{split_mid_comma,3},{warning,2},{error,2},{'-ntoa_done/1-fun-0-',1},{'-ntoa_done/2-fun-1-',1},{'-ntoa_done/2-fun-0-',1},{'-networks/2-fun-0-',1},{'-netmasks/2-fun-0-',1},{'-protocols/2-fun-0-',1},{'-nsswitch_conf/2-fun-0-',1},{'-host_conf_bsdos/2-fun-0-',1},{'-host_conf_freebsd/2-fun-0-',1},{'-host_conf_linux/2-fun-0-',1},{'-resolv/2-fun-0-',1},{'-hosts_vxworks/1-fun-0-',1},{'-hosts/2-fun-0-',1},{'-rpc/2-fun-0-',1},{'-services/2-fun-0-',1}]},{prim_inet,[{open,3},{fdopen,4},{shutdown,2},{close,1},{bind,3},{connect,3},{connect,4},{async_connect,4},{accept,1},{accept,2},{async_accept,2},{listen,1},{listen,2},{peeloff,2},{send,3},{send,2},{sendto,4},{sendmsg,3},{recv,2},{recv,3},{async_recv,3},{recvfrom,2},{recvfrom,3},{peername,1},{setpeername,2},{sockname,1},{setsockname,2},{setopt,3},{setopts,2},{getopt,2},{getopts,2},{chgopt,3},{chgopts,2},{getifaddrs,1},{getiflist,1},{ifget,3},{ifset,3},{getstat,2},{getfd,1},{ignorefd,2},{getindex,1},{gettype,1},{getstatus,1},{gethostname,1},{getservbyname,3},{getservbyport,3},{unrecv,2},{detach,1},{attach,1},{is_sockopt_val,2},{module_info,0},{module_info,1}],[{open,5},{enc_family,1},{enc_type,1},{protocol2drv,1},{drv2protocol,1},{shutdown_1,2},{shutdown_2,2},{shutdown_pend_loop,2},{close_pend_loop,2},{bindx,3},{connect0,4},{accept0,2},{accept_opts,2},{recv0,3},{recvfrom0,3},{comp_ifaddrs,2},{comp_ifaddrs_add,2},{getifaddrs_ifget,2},{getifaddrs_ifget,5},{subscribe,2},{getprotocol,1},{getservbyname1,3},{getservbyport1,3},{enc_opt,1},{dec_opt,1},{type_opt,2},{type_opt_1,1},{type_value,2},{type_value,3},{type_value_default,3},{type_value_1,3},{type_value_tuple,4},{type_value_record,4},{type_value_2,2},{enc_value,2},{enc_value,3},{enc_value_default,3},{enc_value_1,3},{enc_value_tuple,4},{enc_value_2,2},{dec_value,2},{dec_value_tuple,4},{borlist,2},{enum_vals,2},{enum_names,2},{enum_val,2},{enum_name,2},{encode_opt_val,1},{enc_opt_val,2},{enc_opt_val,4},{encode_opts,1},{enc_opts,1},{enc_opts,2},{enc_opts,3},{decode_opt_val,1},{dec_opt_val,1},{dec_opt_val,3},{need_template,1},{need_template,2},{merge_options,2},{merge_fields,3},{type_ifopt,1},{enc_ifopt,1},{dec_ifopt,1},{decode_ifopts,2},{encode_ifopts,2},{encode_ifopt_val,2},{encode_subs,1},{enc_subs,1},{decode_subs,1},{dec_subs,1},{encode_stats,1},{enc_stats,1},{decode_stats,1},{dec_stats,1},{dec_status,1},{enc_time,1},{encode_ifname,1},{build_ifaddrs,1},{build_ifaddrs,2},{build_ifaddrs_opts,2},{build_iflist,1},{build_iflist,3},{rev,1},{rev,2},{split,2},{split,3},{len,2},{len,3},{member,2},{ktree_empty,0},{ktree_is_defined,2},{ktree_get,2},{ktree_insert,3},{ktree_update,3},{ktree_keys,1},{tree,0},{tree,3},{tree,4},{utf8_to_characters,1},{utf8_to_characters,3},{ip_to_bytes,1},{ip4_to_bytes,1},{ip6_to_bytes,1},{get_ip,2},{get_ip4,1},{get_ip6,1},{ctl_cmd,3},{'-comp_ifaddrs/2-lc$^0/1-0-',2},{'-bindx/3-lc$^0/1-0-',1}]},{erlang,[{apply,2},{spawn,2},{spawn_link,2},{spawn_monitor,3},{spawn_opt,2},{spawn_opt,3},{spawn,4},{spawn_link,4},{spawn_opt,4},{spawn_opt,5},{crasher,6},{yield,0},{nodes,0},{disconnect_node,1},{fun_info,1},{send_nosuspend,2},{send_nosuspend,3},{suspend_process,1},{set_cookie,2},{get_cookie,0},{integer_to_list,2},{list_to_integer,2},{max,2},{memory,0},{memory,1},{module_info,0},{module_info,1},{min,2},{localtime_to_universaltime,1},{spawn_monitor,1},{spawn,1},{spawn_link,1},{delay_trap,2},{await_sched_wall_time_modifications,2},{await_proc_exit,3},{format_cpu_topology,1},{set_cpu_topology,1},{flush_monitor_message,2},{dmonitor_p,2},{dexit,2},{dgroup_leader,2},{dmonitor_node,3},{dunlink,1},{dlink,1},{dsend,3},{dsend,2},{hash,2},{dt_append_vm_tag_data,1},{dt_prepend_vm_tag_data,1},{dt_restore_tag,1},{dt_spread_tag,1},{dt_get_tag_data,0},{dt_get_tag,0},{dt_put_tag,1},{posixtime_to_universaltime,1},{universaltime_to_posixtime,1},{check_old_code,1},{nif_error,2},{nif_error,1},{binary_part,3},{binary_part,2},{binary_to_term,2},{finish_after_on_load,2},{call_on_load_function,1},{load_nif,2},{binary_to_existing_atom,2},{binary_to_atom,2},{atom_to_binary,2},{decode_packet,3},{bitstring_to_list,1},{list_to_bitstring,1},{bit_size,1},{byte_size,1},{tuple_size,1},{is_bitstring,1},{list_to_existing_atom,1},{iolist_to_binary,1},{iolist_size,1},{make_fun,3},{is_boolean,1},{get_module_info,2},{get_module_info,1},{hibernate,3},{match_spec_test,3},{is_record,3},{is_record,2},{is_function,2},{is_function,1},{is_binary,1},{is_reference,1},{is_port,1},{is_pid,1},{is_number,1},{is_integer,1},{is_float,1},{is_tuple,1},{is_list,1},{is_atom,1},{subtract,2},{'--',2},{append,2},{'++',2},{send,3},{send,2},{'!',2},{'+',1},{'-',1},{bnot,1},{bsr,2},{bsl,2},{bxor,2},{band,2},{bor,2},{rem,2},{div,2},{'/',2},{'*',2},{'-',2},{'+',2},{'/=',2},{'=/=',2},{'==',2},{'=:=',2},{'=<',2},{'<',2},{'>=',2},{'>',2},{not,1},{xor,2},{or,2},{and,2},{is_builtin,3},{get_stacktrace,0},{raise,3},{error,2},{error,1},{is_process_alive,1},{demonitor,2},{demonitor,1},{monitor,2},{fun_to_list,1},{port_to_list,1},{ref_to_list,1},{system_profile,0},{system_profile,2},{system_monitor,2},{system_monitor,1},{system_monitor,0},{system_info,1},{system_flag,2},{make_tuple,3},{append_element,2},{make_tuple,2},{read_timer,1},{cancel_timer,1},{send_after,3},{start_timer,3},{bump_reductions,1},{process_display,2},{resume_process,1},{suspend_process,2},{seq_trace_print,2},{seq_trace_print,1},{seq_trace_info,1},{seq_trace,2},{trace_delivered,1},{trace_info,2},{trace,3},{trace_pattern,3},{trace_pattern,2},{port_get_data,1},{port_set_data,2},{port_connect,2},{port_close,1},{port_control,3},{port_command,3},{port_command,2},{port_call,3},{port_call,2},{dist_exit,3},{setnode,3},{setnode,2},{spawn_opt,1},{whereis,1},{unregister,1},{unlink,1},{universaltime_to_localtime,1},{universaltime,0},{tuple_to_list,1},{trunc,1},{tl,1},{time,0},{throw,1},{term_to_binary,2},{term_to_binary,1},{statistics,1},{split_binary,2},{spawn_link,3},{spawn,3},{size,1},{setelement,3},{self,0},{round,1},{registered,0},{register,2},{put,2},{purge_module,1},{processes,0},{process_info,2},{process_info,1},{process_flag,3},{process_flag,2},{pre_loaded,0},{ports,0},{port_info,2},{port_info,1},{pid_to_list,1},{open_port,2},{now,0},{nodes,1},{node,0},{node,1},{monitor_node,3},{monitor_node,2},{function_exported,3},{module_loaded,1},{md5_final,1},{md5_update,2},{md5_init,0},{md5,1},{make_ref,0},{localtime_to_universaltime,2},{localtime,0},{loaded,0},{load_module,2},{list_to_tuple,1},{list_to_pid,1},{list_to_integer,1},{list_to_float,1},{list_to_binary,1},{list_to_atom,1},{link,1},{length,1},{is_alive,0},{integer_to_list,1},{hd,1},{phash2,2},{phash2,1},{phash,2},{halt,2},{halt,1},{halt,0},{group_leader,2},{group_leader,0},{get_keys,1},{get,1},{get,0},{garbage_collect_message_area,0},{garbage_collect,1},{garbage_collect,0},{fun_info,2},{float_to_list,1},{float,1},{external_size,2},{external_size,1},{exit,2},{exit,1},{erase,1},{erase,0},{element,2},{display_nl,0},{display_string,1},{display,1},{delete_module,1},{date,0},{crc32_combine,3},{crc32,2},{crc32,1},{check_process_code,2},{binary_to_term,1},{binary_to_list,3},{binary_to_list,1},{atom_to_list,1},{apply,3},{adler32_combine,3},{adler32,2},{adler32,1},{abs,1},{gather_sched_wall_time_result,1},{alloc_sizes,1},{alloc_info,1}],[{remote_spawn_error,2},{is_well_formed_list,1},{fun_info_1,3},{integer_to_list,3},{list_to_integer_sign,2},{list_to_integer,3},{cput_e2i_clvl,2},{cput_e2i,1},{cput_e2i,7},{cput_i2e,1},{cput_i2e,4},{cput_i2e,6},{cput_i2e_tag_map,0},{cput_i2e_tag,2},{rvrs,1},{rvrs,2},{memory_result_list,3},{get_mem_data,3},{need_mem_info_list,1},{need_mem_info,1},{get_memval,2},{memory_is_supported,0},{get_blocks_size,2},{blocks_size,2},{get_fix_proc,2},{fix_proc,2},{is_low_alloc,2},{is_low_alloc,1},{au_mem_data,2},{au_mem_data,1},{receive_emd,3},{receive_emd,1},{aa_mem_data,2},{aa_mem_data,1},{get_alloc_info,2},{mk_res_list,1},{insert_instance,3},{insert_info,2},{receive_allocator,3},{sched_wall_time,2},{sched_wall_time,3},{'-spawn_opt/5-fun-0-',2}]},{hipe_unified_loader,[{load_native_code,2},{post_beam_load,1},{load_module,3},{load,2},{module_info,0},{module_info,1},{chunk_name,1}],[{version_check,2},{load_module_nosmp,3},{load_module,4},{load_nosmp,2},{load_common,4},{find_callee_mfas,1},{find_callee_mfas,3},{add_callee_mfas,3},{mk_trampoline_map,2},{mk_trampoline_map,5},{trampoline_map_get,2},{trampoline_map_lookup,2},{exports,2},{exports,4},{mod,1},{calculate_addresses,3},{offsets_to_addresses,2},{find_closure_patches,1},{find_closure_refs,2},{export_funs,1},{export_funs,4},{patch,5},{patch_call,5},{patch_bif_call_list,4},{patch_mfa_call_list,7},{patch_call_insn,3},{patch_all,5},{patch_all_offsets,6},{patch_offset,5},{patch_atom,2},{patch_sdesc,3},{patch_load_address,4},{patch_closure,5},{patch_load_mfa,4},{patch_consts,3},{patch_label_or_labels,3},{sort_and_write,4},{sort_on_representation,1},{patch_instr,3},{write_word,2},{bif_address,1},{create_data_segment,3},{enter_data,4},{enter_datum,3},{group,2},{bytes_to_32,4},{write_words,2},{write_bytes,2},{find_const,2},{add_ref,6},{address_to_mfa,2},{patch_to_emu,1},{patch_to_emu_step1,1},{patch_to_emu_step2,1},{is_loaded,1},{emu_make_stubs,1},{get_refs_from,2},{mark_referred_from,1},{redirect,1},{remove_refs_from,1},{get_native_address,3},{mfa_to_address,3},{assert_local_patch,1},{enter_code,5},{'-patch_to_emu_step1/1-lc$^0/1-0-',2},{'-enter_datum/3-lc$^1/1-0-',1},{'-enter_datum/3-lc$^0/1-1-',1},{'-sort_on_representation/1-lc$^0/1-0-',1},{'-sort_and_write/4-fun-0-',3},{'-patch_consts/3-fun-0-',3},{'-export_funs/4-lc$^0/1-0-',1},{'-offsets_to_addresses/2-lc$^0/1-0-',2},{'-calculate_addresses/3-lc$^0/1-0-',3}]},{error_logger,[{start,0},{start_link,0},{error_msg,1},{error_msg,2},{format,2},{error_report,1},{error_report,2},{warning_report,1},{warning_report,2},{warning_msg,1},{info_report,1},{info_report,2},{info_msg,1},{info_msg,2},{error_info,1},{swap_handler,1},{add_report_handler,1},{add_report_handler,2},{delete_report_handler,1},{logfile,1},{tty,1},{init,1},{handle_event,2},{handle_info,2},{handle_call,2},{terminate,2},{module_info,0},{module_info,1},{warning_msg,2},{warning_map,0}],[{notify,1},{simple_logger,1},{simple_logger,0},{handle_event2,2},{tag_event,1},{display,1},{add_node,2},{display2,3}]},{standard_error,[{start_link,0},{terminate,2},{init,1},{module_info,0},{module_info,1}],[{start_port,1},{server,2},{run,1},{server_loop,1},{get_fd_geometry,1},{do_io_request,4},{io_request,2},{io_requests,3},{put_port,2},{send_port,2},{io_reply,3},{put_chars,2},{setopts,2},{check_valid_opts,1},{do_setopts,2},{getopts,1},{wrap_characters_to_binary,3},{'-wrap_characters_to_binary/3-lc$^0/1-0-',3},{'-start_port/1-fun-0-',1}]},{global_group,[{global_groups,0},{monitor_nodes,1},{own_nodes,0},{registered_names,1},{send,2},{send,3},{whereis_name,1},{whereis_name,2},{sync,0},{ng_add_check,2},{ng_add_check,3},{info,0},{registered_names_test,1},{send_test,2},{whereis_name_test,1},{start,0},{start_link,0},{stop,0},{init,1},{handle_call,3},{handle_cast,2},{handle_info,2},{terminate,2},{code_change,3},{config_scan,1},{config_scan,2},{sync_init,4},{get_own_nodes,0},{module_info,0},{module_info,1},{publish_on_nodes,0},{get_own_nodes_with_errors,0},{global_groups_removed,1},{global_groups_added,1},{global_groups_changed,1}],[{request,1},{request,2},{config_scan,6},{grp_tuple,1},{sync_check_node,3},{sync_check_init,6},{sync_check_init,8},{sync_check,1},{sync_check,3},{monitor_nodes,3},{delete_all,2},{do_unlink,2},{send_monitor,3},{safesend,2},{safesend_nc,2},{check_exit,2},{check_exit_reg,3},{check_exit_send,3},{check_exit_where,3},{kill_global_group_check,0},{disconnect_nodes,1},{force_nodedown,1},{publish_arg,0},{own_group,0},{publish_on_nodes,2},{update_publish_nodes,1},{update_publish_nodes,2},{'-force_nodedown/1-fun-0-',1},{'-disconnect_nodes/1-fun-0-',1},{'-sync_check_init/8-fun-0-',2},{'-handle_call/3-fun-1-',3},{'-handle_call/3-fun-0-',2},{'-init/1-fun-0-',1}]},{shell,[{local_allowed,3},{non_local_allowed,3},{start,0},{start,1},{start,2},{whereis_evaluator,0},{whereis_evaluator,1},{start_restricted,1},{stop_restricted,0},{server,2},{server,1},{history,1},{results,1},{prompt_func,1},{module_info,0},{module_info,1}],[{default_packages,0},{default_modules,0},{server_loop,7},{get_command,5},{get_command1,5},{prompt,5},{get_prompt_func,0},{bad_prompt_func,1},{default_prompt,1},{expand_hist,2},{expand_exprs,2},{expand_expr,2},{expand_cs,2},{expand_fields,2},{expand_quals,2},{expand_bin_elements,2},{no_command,1},{add_cmd,3},{getc,1},{get_cmd,2},{del_cmd,4},{has_binary,1},{has_bin,1},{has_bin,2},{shell_cmd,6},{shell_rep,4},{nocatch,2},{report_exception,3},{report_exception,4},{start_eval,3},{evaluator,4},{eval_loop,3},{restricted_eval_loop,4},{eval_exprs,7},{do_catch,2},{exprs,6},{exprs,7},{is_expand_variable,1},{result_will_be_saved,0},{used_record_defs,2},{used_records,3},{used_records,1},{fwrite_severity,3},{format_severity,3},{add_severity,2},{severity_tag,1},{restrict_handlers,3},{local_allowed,6},{non_local_allowed,4},{not_restricted,2},{apply_fun,3},{prep_check,1},{expand_records,2},{prep_rec,1},{init_dict,1},{local_func,7},{non_builtin_local_func,3},{shell_default,3},{shell_undef,2},{local_func_handler,3},{record_print_fun,1},{record_fields,1},{initiate_records,2},{init_rec,3},{read_and_add_records,5},{read_records,3},{add_records,3},{listify,1},{check_command,2},{expr,4},{expr_list,4},{strip_bindings,1},{record_bindings,2},{read_records,2},{find_file,1},{read_file_records,2},{try_source,2},{is_file,1},{parse_file,2},{pre_defs,1},{inc_paths,1},{record_attrs,1},{import_all,2},{shell_req,2},{list_commands,2},{list_bindings,2},{list_records,1},{record_defs,2},{expand_value,1},{try_abstract,2},{prep_list_commands,1},{substitute_v1,2},{check_and_get_history_and_results,0},{get_history_and_results,0},{pp,3},{columns,0},{garb,1},{get_env,2},{check_env,1},{set_env,4},{catch_exception,1},{'-prep_list_commands/1-fun-0-',1},{'-expand_value/1-fun-0-',1},{'-record_defs/2-fun-0-',2},{'-list_records/1-fun-0-',1},{'-import_all/2-fun-0-',3},{'-record_attrs/1-lc$^0/1-0-',1},{'-inc_paths/1-lc$^0/1-0-',1},{'-read_records/2-fun-0-',2},{'-record_bindings/2-fun-1-',2},{'-record_bindings/2-fun-0-',2},{'-strip_bindings/1-lc$^0/1-0-',1},{'-add_records/3-lc$^1/1-1-',1},{'-add_records/3-lc$^0/1-0-',1},{'-read_records/3-lc$^0/1-0-',2},{'-record_print_fun/1-fun-0-',3},{'-local_func_handler/3-fun-1-',4},{'-local_func_handler/3-fun-0-',7},{'-local_func/7-fun-2-',2},{'-local_func/7-fun-1-',1},{'-local_func/7-fun-0-',1},{'-expand_records/2-lc$^0/1-0-',1},{'-restrict_handlers/3-fun-1-',4},{'-restrict_handlers/3-fun-0-',6},{'-used_record_defs/2-lc$^0/1-0-',1},{'-exprs/7-lc$^0/1-0-',1},{'-eval_exprs/7-fun-0-',2},{'-eval_loop/3-fun-0-',3},{'-start_eval/3-fun-0-',4},{'-report_exception/4-fun-1-',3},{'-report_exception/4-fun-0-',3},{'-get_command/5-fun-0-',1},{'-server/1-fun-1-',2},{'-server/1-fun-0-',2},{'-start/2-fun-0-',2}]},{file,[{pid2name,1},{set_cwd,1},{rename,2},{make_dir,1},{del_dir,1},{read_file_info,2},{altname,1},{read_link_info,1},{read_link_info,2},{read_link,1},{write_file_info,2},{write_file_info,3},{read_file,1},{make_link,2},{make_symlink,2},{write_file,2},{write_file,3},{advise,4},{read_line,1},{pread,2},{pread,3},{pwrite,2},{pwrite,3},{datasync,1},{sync,1},{truncate,1},{copy,2},{copy,3},{ipread_s32bu_p32bu,3},{ipread_s32bu_p32bu_int,3},{path_consult,2},{eval,1},{eval,2},{path_eval,2},{path_eval,3},{script,1},{script,2},{path_script,3},{path_open,3},{change_mode,2},{change_owner,2},{change_owner,3},{change_group,2},{change_time,2},{change_time,3},{sendfile,5},{sendfile,2},{module_info,0},{module_info,1},{path_script,2},{list_dir,1},{delete,1},{raw_write_file_info,2},{write,2},{raw_read_file_info,1},{get_cwd,1},{get_cwd,0},{read_file_info,1},{position,2},{read,2},{consult,1},{close,1},{open,2},{format_error,1},{copy_opened,3},{native_name_encoding,0}],[{pread_int,3},{pwrite_int,3},{copy_int,3},{copy_opened_int,3},{copy_opened_int,4},{ipread_s32bu_p32bu_2,3},{sendfile,10},{sendfile_fallback,7},{sendfile_fallback,5},{sendfile_fallback_int,5},{sendfile_send,3},{consult_stream,1},{consult_stream,3},{eval_stream,3},{eval_stream,6},{eval_stream2,6},{path_open_first,4},{fname_join,2},{file_name,1},{file_name_1,2},{make_binary,1},{mode_list,1},{call,2},{check_and_call,2},{check_args,1},{file_request,2},{wait_file_reply,2}]},{proplists,[{property,1},{property,2},{compact,1},{lookup,2},{lookup_all,2},{is_defined,2},{get_all_values,2},{append_values,2},{get_bool,2},{get_keys,1},{delete,2},{substitute_aliases,2},{expand,2},{normalize,2},{split,2},{module_info,0},{module_info,1},{get_value,2},{unfold,1},{substitute_negations,2},{get_value,3}],[{get_keys,2},{substitute_aliases_1,2},{substitute_negations_1,2},{expand_0,2},{expand_1,3},{expand_2,4},{expand_3,5},{key_uniq,1},{key_uniq_1,2},{flatten,1},{split,3},{dict_prepend,3},{'-split/2-lc$^1/1-1-',2},{'-split/2-lc$^0/1-0-',1},{'-expand/2-lc$^0/1-0-',1},{'-substitute_negations/2-lc$^0/1-0-',2},{'-substitute_aliases/2-lc$^0/1-0-',2},{'-compact/1-lc$^0/1-0-',1}]},{net_kernel,[{kernel_apply,3},{allow,1},{longnames,0},{stop,0},{node_info,1},{node_info,2},{nodes_info,0},{i,0},{i,1},{verbose,1},{set_net_ticktime,2},{set_net_ticktime,1},{get_net_ticktime,0},{monitor_nodes,1},{monitor_nodes,2},{hidden_connect,1},{publish_on_node,1},{update_publish_nodes,1},{connect_node,1},{hidden_connect_node,1},{passive_connect_monitor,2},{start,1},{start_link,1},{init,1},{handle_call,3},{handle_cast,2},{code_change,3},{terminate,2},{handle_info,2},{ticker,2},{ticker_loop,2},{aux_ticker,4},{do_spawn,3},{spawn_func,6},{connecttime,0},{module_info,0},{module_info,1},{protocol_childspecs,0},{epmd_module,0},{passive_cnct,1},{connect,1},{disconnect,1},{dflag_unicode_io,1}],[{ticktime_res,1},{do_connect,3},{request,1},{handle_exit,3},{do_handle_exit,3},{listen_exit,2},{accept_exit,2},{conn_own_exit,3},{pending_own_exit,2},{ticker_exit,2},{nodedown,4},{get_conn,1},{nodedown,6},{pending_nodedown,4},{up_pending_nodedown,5},{up_nodedown,5},{mark_sys_dist_nodedown,1},{check_opt,2},{check_opt,4},{check_options,1},{mk_monitor_nodes_error,2},{do_disconnect,2},{disconnect_pid,2},{get_nodes,1},{get_nodes,2},{get_up_nodes,0},{get_up_nodes,1},{to_integer,1},{start_aux_ticker,3},{aux_ticker1,3},{send,3},{setup,4},{select_mod,2},{get_proto_mod,3},{init_node,2},{create_name,3},{create_hostpart,2},{protocol_childspecs,1},{start_protos,2},{start_protos,3},{start_protos,4},{set_node,2},{get_node_info,1},{get_status,3},{get_node_info,2},{get_nodes_info,0},{get_nodes_info,2},{reply_waiting,3},{reply_waiting1,2},{all_atoms,1},{restart_ticker,1},{print_info,0},{display_info,2},{fmt_address,1},{fetch,2},{nformat,6},{print_info,1},{verbose,3},{getnode,1},{async_reply,2},{async_gen_server_reply,2},{'-async_gen_server_reply/2-fun-0-',2},{'-print_info/0-fun-0-',2},{'-create_hostpart/2-fun-0-',1},{'-init_node/2-fun-0-',1},{'-handle_info/2-fun-1-',1},{'-handle_info/2-fun-0-',1},{'-terminate/2-fun-2-',2},{'-terminate/2-fun-1-',1},{'-terminate/2-fun-0-',2}]},{error_logger_tty_h,[{init,1},{handle_event,2},{handle_info,2},{handle_call,2},{terminate,2},{code_change,3},{write_event,2},{module_info,0},{module_info,1}],[{set_group_leader,0},{tag_event,1},{write_events,2},{write_events1,2},{maybe_utc,1},{maybe_utc,2},{format,2},{format,3},{format_report,1},{format_rep,1},{add_node,2},{string_p,1},{string_p1,1},{write_time,1},{write_time,2},{t,1},{t1,1},{month,1}]},{supervisor_bridge,[{start_link,2},{init,1},{handle_call,3},{handle_cast,2},{handle_info,2},{terminate,2},{code_change,3},{behaviour_info,1},{module_info,0},{module_info,1},{start_link,3}],[{supname,2},{terminate_pid,2},{report_progress,4},{report_error,3}]},{gb_trees,[{is_empty,1},{size,1},{is_defined,2},{get,2},{update,3},{enter,3},{balance,1},{from_orddict,1},{delete_any,2},{take_smallest,1},{smallest,1},{take_largest,1},{largest,1},{to_list,1},{keys,1},{values,1},{iterator,1},{next,1},{map,2},{module_info,0},{module_info,1},{insert,3},{delete,2},{lookup,2},{empty,0}],[{lookup_1,2},{is_defined_1,2},{get_1,2},{update_1,3},{insert_1,4},{count,1},{balance,2},{balance_list,2},{balance_list_1,2},{delete_1,2},{merge,2},{take_smallest1,1},{smallest_1,1},{take_largest1,1},{largest_1,1},{to_list_1,1},{to_list,2},{keys,2},{values,2},{iterator_1,1},{iterator,2},{map_1,2}]},{application_master,[{start_type,0},{get_child,1},{init,4},{start_it,4},{module_info,0},{module_info,1},{stop,1},{start_link,2}],[{call,2},{start_it,2},{init_loop,4},{main_loop,2},{terminate_loop,2},{handle_msg,2},{terminate,2},{start_it_old,4},{start_it_new,7},{start_the_app,5},{start_supervisor,3},{loop_it,4},{prep_stop,2},{get_child_i,1},{terminate_child_i,2},{terminate_child,2},{kill_children,1},{kill_all_procs,0},{kill_all_procs_1,3},{set_timer,1},{'-kill_children/1-fun-0-',1}]},{otp_ring0,[{start,2},{module_info,0},{module_info,1}],[{run,3}]},{init,[{get_arguments,0},{get_plain_arguments,0},{get_argument,1},{script_id,0},{get_status,0},{fetch_loaded,0},{ensure_loaded,1},{make_permanent,2},{notify_when_started,1},{wait_until_started,0},{restart,0},{reboot,0},{stop,0},{stop,1},{boot,1},{code_path_choice,0},{objfile_extension,0},{archive_extension,0},{run_on_load_handlers,0},{module_info,0},{module_info,1}],[{debug,2},{bs2as,1},{bs2ss,1},{request,1},{prepare_run_args,1},{b2a,1},{b2s,1},{map,2},{flags_to_atoms_again,1},{boot,3},{to_string,1},{printable_list,1},{flatten,2},{things_to_string,1},{halt_string,2},{first198,2},{crash,2},{boot_loop,2},{ensure_loaded,2},{notify,1},{garb_boot_loop,2},{new_kernelpid,3},{loop,1},{handle_msg,2},{do_handle_msg,2},{make_permanent,4},{set_flag,3},{stop,2},{do_stop,2},{clear_system,2},{stop_heart,1},{shutdown_pids,3},{get_heart,1},{shutdown,4},{shutdown_kernel_pid,4},{shutdown_loop,4},{resend,1},{kill_all_pids,1},{alive_processes,0},{get_pids,1},{delete,3},{kill_em,1},{kill_all_ports,1},{kill_all_ports,2},{unload,1},{do_unload,1},{sub,2},{del,2},{terminate,3},{kernel_pid,2},{sleep,1},{start_prim_loader,6},{add_to_kernel,2},{prim_load_flags,1},{do_boot,2},{do_boot,3},{bootfile,2},{path_flags,1},{get_boot,2},{get_boot,1},{eval_script,8},{load_modules,1},{par_load_modules,2},{make_path,4},{fix_path,2},{add_var,2},{extract_var,2},{get_var_value,2},{get_var_val,2},{patch_path,2},{patch_dir,2},{funny_split,2},{funny_split,4},{funny_splitwith,2},{funny_splitwith,4},{join,2},{start_in_kernel,5},{start_em,1},{start_it,1},{load_mod,2},{load_mod_code,3},{shutdown_timer,1},{flush_timout,1},{timer,1},{parse_boot_args,1},{parse_boot_args,4},{check,1},{get_args,2},{get_flag,3},{get_flag,2},{get_flag_list,3},{get_flag_list,2},{get_flag_args,2},{get_flag_args,3},{get_arguments,1},{to_strings,1},{get_argument,2},{get_argument1,2},{set_argument,3},{concat,1},{append,2},{append,1},{reverse,1},{search,2},{start_on_load_handler_process,0},{on_load_handler_init,0},{on_load_loop,2},{run_on_load_handlers,2},{'-run_on_load_handlers/2-fun-0-',1},{'-start_on_load_handler_process/0-fun-0-',0},{'-shutdown_timer/1-fun-0-',1},{'-patch_dir/2-lc$^1/1-0-',1},{'-patch_dir/2-lc$^0/1-1-',1},{'-patch_path/2-lc$^0/1-0-',2},{'-par_load_modules/2-fun-0-',5},{'-par_load_modules/2-lc$^0/1-0-',2},{'-do_boot/2-fun-0-',3},{'-alive_processes/0-lc$^0/1-0-',1},{'-notify/1-fun-0-',1},{'-boot/1-fun-0-',1},{'-bs2ss/1-fun-0-',1},{'-bs2as/1-fun-0-',1}]},{sys,[{suspend,1},{suspend,2},{resume,1},{resume,2},{get_status,1},{get_status,2},{change_code,4},{change_code,5},{log,2},{log,3},{trace,2},{trace,3},{log_to_file,2},{log_to_file,3},{statistics,2},{statistics,3},{no_debug,1},{no_debug,2},{install,2},{install,3},{remove,2},{remove,3},{handle_system_msg,6},{suspend_loop_hib,6},{module_info,0},{module_info,1},{get_debug,3},{print_log,1},{debug_options,1},{handle_debug,4},{handle_system_msg,7}],[{send_system_msg,2},{send_system_msg,3},{mfa,2},{mfa,3},{handle_system_msg,8},{suspend_loop,6},{do_cmd,6},{get_status,5},{debug_cmd,2},{do_change_code,5},{print_event,1},{print_event,2},{init_stat,0},{get_stat,1},{stat,2},{trim,2},{install_debug,3},{remove_debug,2},{get_debug2,3},{close_log_file,1},{debug_options,2},{'-print_log/1-fun-0-',1}]},{erl_prim_loader,[{get_path,0},{list_dir,1},{get_cwd,0},{get_cwd,1},{set_primary_archive,3},{release_archives,0},{prim_init,0},{prim_get_file,2},{prim_list_dir,2},{prim_read_file_info,2},{prim_get_cwd,2},{module_info,0},{module_info,1},{read_file_info,1},{get_files,2},{get_file,1},{set_path,1},{start,3}],[{debug,2},{start_it,4},{init_ack,1},{request,1},{check_file_result,3},{loop,3},{handle_get_files,4},{handle_get_file,3},{handle_set_primary_archive,4},{handle_release_archives,1},{handle_list_dir,2},{handle_read_file_info,2},{handle_get_cwd,2},{handle_stop,1},{handle_exit,3},{handle_timeout,2},{efile_multi_get_file_from_port,4},{efile_multi_get_file_from_port2,8},{efile_par_get_file,6},{efile_get_file_from_port,3},{efile_get_file_from_port2,2},{efile_get_file_from_port3,3},{efile_set_primary_archive,4},{efile_release_archives,1},{efile_list_dir,2},{efile_read_file_info,2},{efile_get_cwd,2},{efile_stop_port,1},{efile_exit_port,3},{efile_timeout_handler,2},{find_master,1},{find_master,6},{find_master,8},{connect_master,1},{find_loop,8},{find_loop,5},{find_collect,5},{sleep,1},{inet_exit_port,3},{inet_timeout_handler,2},{inet_get_file_from_port,3},{inet_get_file_from_port1,3},{inet_send_and_rcv,3},{inet_list_dir,2},{inet_read_file_info,2},{inet_get_cwd,2},{inet_stop_port,1},{tcp_options,0},{tcp_timeout,0},{udp_options,0},{ll_tcp_connect,3},{ll_udp_open,1},{ll_open_set_bind,6},{ll_close,1},{port_error,2},{prim_release_archives,1},{prim_do_release_archives,3},{prim_set_primary_archive,4},{apply_archive,4},{open_archive,3},{open_archive,4},{ensure_virtual_dirs,6},{foldl_archive,3},{cache_new,1},{clear_cache,2},{is_basename,1},{send_all,3},{join,2},{member,2},{deep_member,2},{keymember,3},{keysort,2},{keysort,3},{keyins,3},{to_strs,1},{reverse,1},{funny_split,2},{funny_split,4},{name_split,2},{do_name_split,2},{string_match,3},{string_split,3},{string_split2,7},{ipv4_list,1},{ipv4_address,1},{ipv4_addr,2},{ipv4_addr,3},{absname,1},{absname_vr,2},{pathtype,1},{unix_pathtype,1},{win32_pathtype,1},{vxworks_first,1},{vxworks_first2,3},{normalize,2},{'-foldl_archive/3-fun-0-',3},{'-ensure_virtual_dirs/6-fun-1-',0},{'-ensure_virtual_dirs/6-fun-0-',1},{'-open_archive/4-fun-0-',4},{'-prim_read_file_info/2-fun-0-',3},{'-prim_list_dir/2-fun-0-',3},{'-prim_get_file/2-fun-0-',3},{'-prim_set_primary_archive/4-fun-0-',2},{'-efile_multi_get_file_from_port2/8-fun-0-',6},{'-handle_get_cwd/2-fun-1-',2},{'-handle_get_cwd/2-fun-0-',2},{'-handle_read_file_info/2-fun-1-',2},{'-handle_read_file_info/2-fun-0-',2},{'-handle_list_dir/2-fun-1-',2},{'-handle_list_dir/2-fun-0-',2},{'-handle_release_archives/1-fun-0-',1},{'-handle_set_primary_archive/4-fun-0-',4},{'-handle_get_file/3-fun-1-',3},{'-handle_get_file/3-fun-0-',3},{'-handle_get_files/4-fun-0-',4},{'-start/3-fun-0-',4}]},{supervisor,[{start_link,2},{start_child,2},{restart_child,2},{delete_child,2},{terminate_child,2},{which_children,1},{count_children,1},{check_childspecs,1},{try_again_restart,2},{init,1},{handle_call,3},{handle_cast,2},{handle_info,2},{terminate,2},{code_change,3},{behaviour_info,1},{module_info,0},{module_info,1},{start_link,3}],[{call,2},{cast,2},{init_children,2},{init_dynamic,2},{start_children,2},{start_children,3},{do_start_child,2},{do_start_child_i,3},{count_child,2},{check_flags,1},{update_childspec,2},{update_childspec1,3},{update_chsp,2},{handle_start_child,2},{restart_child,3},{do_restart,4},{restart,2},{restart,3},{restarting,1},{terminate_children,2},{terminate_children,3},{do_terminate,2},{shutdown,2},{monitor_child,1},{terminate_dynamic_children,3},{monitor_dynamic_children,2},{wait_dynamic_children,5},{save_child,2},{save_dynamic_child,4},{dynamics_db,2},{dynamic_child_args,2},{state_del_child,2},{del_child,2},{split_child,2},{split_child,3},{get_child,2},{get_child,3},{get_dynamic_child,2},{is_dynamic_pid,2},{replace_child,2},{do_replace_child,2},{remove_child,2},{init_state,4},{init_state1,4},{validStrategy,1},{validIntensity,1},{validPeriod,1},{supname,2},{check_startspec,1},{check_startspec,2},{check_childspec,1},{check_childspec,6},{validChildType,1},{validName,1},{validFunc,1},{validRestartType,1},{validShutdown,2},{validMods,1},{add_restart,1},{add_restart,3},{inPeriod,3},{difference,2},{report_error,4},{extract_child,1},{report_progress,2},{'-validMods/1-fun-0-',1},{'-wait_dynamic_children/5-fun-0-',2},{'-monitor_dynamic_children/2-fun-1-',4},{'-monitor_dynamic_children/2-fun-0-',2},{'-terminate_dynamic_children/3-fun-3-',5},{'-terminate_dynamic_children/3-fun-2-',2},{'-terminate_dynamic_children/3-fun-1-',2},{'-terminate_dynamic_children/3-fun-0-',2},{'-update_chsp/2-fun-0-',2},{'-handle_call/3-fun-5-',2},{'-handle_call/3-fun-4-',3},{'-handle_call/3-fun-3-',2},{'-handle_call/3-fun-2-',1},{'-handle_call/3-fun-1-',3},{'-handle_call/3-fun-0-',3}]},{application_controller,[{start,1},{load_application,1},{unload_application,1},{start_application,2},{start_boot_application,2},{stop_application,1},{which_applications,0},{which_applications,1},{loaded_applications,0},{info,0},{control_application,1},{change_application_data,2},{prep_config_change,0},{config_change,1},{get_pid_env,2},{get_env,2},{get_pid_all_env,1},{get_all_env,1},{get_pid_key,2},{get_key,2},{get_pid_all_key,1},{get_all_key,1},{start_type,1},{get_master,1},{get_application,1},{get_application_module,1},{permit_application,2},{set_env,3},{set_env,4},{unset_env,2},{unset_env,3},{handle_call,3},{handle_cast,2},{handle_info,2},{terminate,2},{code_change,3},{get_loaded,1},{init_starter,4},{do_config_diff,2},{test_change_apps,2},{module_info,0},{module_info,1}],[{get_application_module,2},{in_modules,2},{init,2},{check_conf_data,1},{check_para_kernel,1},{check_distributed,1},{check_para,2},{handle_application_started,3},{cntrl,3},{notify_cntrl_started,4},{del_cntrl,2},{do_load_application,2},{load,2},{unload,2},{check_start_cond,4},{do_start,5},{spawn_starter,4},{reply,2},{start_appl,3},{stop_appl,3},{keysearchdelete,3},{ksd,4},{keyreplaceadd,4},{validRestartType,1},{nd,1},{get_restart_type,2},{get_appl_name,1},{make_appl,1},{prim_consult,1},{prim_parse,2},{make_appl_i,1},{do_change_apps,3},{is_loaded_app,2},{do_change_appl,3},{get_opt,3},{get_cmd_env,1},{conv,1},{make_term,1},{get_env_i,2},{merge_env,2},{merge_env,3},{merge_app_env,2},{merge_app_env,3},{get_env_key,2},{get_env_key,3},{add_env,2},{del_env,1},{check_user,0},{do_prep_config_change,1},{do_prep_config_change,2},{do_config_change,2},{do_config_change,3},{do_config_diff,3},{check_conf,0},{check_conf_sys,1},{check_conf_sys,3},{load_file,1},{scan_file,1},{only_ws,1},{strip_comment,1},{config_error,0},{info_started,2},{info_exited,3},{reply_to_requester,3},{update_permissions,2},{test_do_change_appl,3},{test_make_apps,2},{to_string,1},{'-reply_to_requester/3-fun-0-',4},{'-check_conf/0-fun-0-',2},{'-do_config_diff/3-fun-0-',2},{'-add_env/2-fun-0-',2},{'-get_cmd_env/1-fun-0-',2},{'-do_change_apps/3-fun-1-',3},{'-do_change_apps/3-fun-0-',1},{'-prim_parse/2-fun-0-',1},{'-start_appl/3-fun-0-',2},{'-check_start_cond/4-fun-0-',2},{'-unload/2-fun-0-',2},{'-load/2-fun-0-',2},{'-terminate/2-fun-0-',2},{'-handle_call/3-fun-1-',1},{'-handle_call/3-fun-0-',1},{'-handle_call/3-fun-2-',1},{'-get_all_env/1-fun-0-',1},{'-loaded_applications/0-fun-0-',1},{'-start/1-fun-0-',2}]},{user_sup,[{start,0},{init,1},{relay,1},{terminate,2},{module_info,0},{module_info,1}],[{start_slave,1},{relay1,1},{start_user,3},{wait_for_user_p,1},{get_user,0},{check_flags,2}]}]
{error,tcollector_down}
{error,tcollector_down}
{error,tcollector_down}
{error,tcollector_down}
{error,tcollector_down}
{error,tcollector_down}
{error,tcollector_down}

Erlang node is R15B01, and i'm on the erlyberly master branch.

Multiple Trace Output

I have multiple traces attached - I fire and event and get a trace - but I can't easily tell which trace triggered it - multiple arity fns with records in each argument are hard to mentally parse to reconstruct the arity of the call in your head

dbg trace list selection skips around when new logs added

When a selection is put on the trace list to the right and new traces are added, the selection skips around the list which can cause the list to scroll. This gets worse as more traces are added.

This is a bug in the JavaFX ListView control and cannot be fixed within app code, it seems related to this documented bug: https://javafx-jira.kenai.com/browse/RT-25873

Two workarounds come to mind:

  • Use a VBox in a ScrollPane instead of a ListView and create a Label for each item in the list.
  • Pre-load 5000 strings in the trace list and when a trace comes in, update the string in the list.

We need an initial setup script

Problem

Setting up all the dependencies to build erlyberly is a manual task with several steps, I doubt many of the people who clone it reach the end, and I don't blame them.

Solution

Write a shell (bash) script that automates the steps, this should suffice for most environments that erlyberly will be run in.

It should assume erlang, Java8u20 and Maven is installed, since this is platform specific e.g. apt-get, yum, homebrew.

It will need to perform the following tasks:

  1. git clone the floaty-field project, build it and install it to the local cache.
  2. git clone the jinterface directory only form the erlang/otp repo on github. I have investigated this briefly here. jinterface is a very small part of erlang/otp, it would be a much better experience if the entire repo didn't have to be pulled down.
  3. Build it and install the jar to the local Maven cache. The version required in the erlyberly pom.xml is needlessly specific, it can be a version range if this is easier.
  4. But the erlyberly.erl file using erlc.
  5. Build erlyberly including the assembly:single target to create a runnable.
  6. Update the README instructions
  7. Drink beer.

Many of the commands are documented in the README already.

It might be useful to break to break out building the erlyberly.erl file into a separate shell script so it can be run throughout dev, not just as a one-time setup task.

This has some overlap with #27 but doesn't obsolete it. Having Maven build erlyberly.erl can be done later, on top of this work.

erlyberly seq_trace badarity error when the arity is zero

{badrpc,{'EXIT',{arity_too_large,[{erlyberly,seq_trace_match_spec,1,[{file,"d:/workspace/erlyberly/erlyberly/src/main/resources/erlyberly/beam/erlyberly.erl"},{line,466}]},{erlyberly,seq_trace,5,[{file,"d:/workspace/erlyberly/erlyberly/src/main/resources/erlyberly/beam/erlyberly.erl"},{line,330}]},{rpc,'-handle_call_call/6-fun-0-',5,[{file,"rpc.erl"},{line,205}]}]}}}

Sort Order of messages

You attach some trace flags on functions and then do some actions on the system under test

You set some traces and get a range of trace messages which represent the sequence of events in the system

You then sort by duration, args, modules, functions etc, etc

There is then no way to resort them into the original sequence

Show error reports

erlyberly should always put a trace on the error_logger, error reports for crashed processes can then be sent to the erlyberly UI and displayed in a separate list to make it obvious that something has gone wrong.

An exclamation mark in the top bar should show red, or maybe show the number of unseen error reports with a red outline like OSX notifications.

Trace from cmdline?

Would it be useful if you were able to have erlyberly already start tracing after being connected?

Passing in command line arguments, like,
java -jar erlyberly.jar -trace M F A
( something in that region)

Trace logs cannot be put in order once sorted on column

In the trace log table, if a table column is clicked the rows are sorted on that column. Afterwards there is no way to put them back into chronological order.

The TraceLog class should have a sequence field which is set from a static AtomicLong counter. The sequence should be the first column in the table. This column can be used to resort the trace logs back into order.

Show modules as they are loaded by the VM

Currently, to see new modules that are loaded after erlyberly has connected you need to press the reload modules button or press ctrl+r or cmd+r.

It would be nice if loaded modules showed up automatically.

erlyberly already lists for modules being loaded to reapply traces. When the code trace is received the trace listener should gather the function information and send it to erlyberly with a special tagged tuple.

{erlyberly_module_loaded, Mod_function_info}

Mod_function_info should be in the format returned by erlyberly:module_functions2/2. This should be picked up on the java side in NodeAPI#receiveRPC(int) and affect the module tree by adding the module or updating it if the module is already loaded.

Things to check:

  • Loaded modules are automatically shown before a trace is applied.
  • erlyberly only receives one message per module load.
  • New modules appear when a filter is applied which it matches.

Display source code of function/modules

If a module was compiled with debug_info, it should be easy to show the source code for a function or the whole module by pretty-printing the appropriate portion of the abstract code.
It would be a nice little feature to have.

Trace all module functions

I see that currently when you press Ctrl + t on a module name, or right click trace on a module name then it won't trace it.

Would it make sense to create "Trace all Functions" in the right click menu of a module ?

Display Connected node on GUI

It would be useful if the erlyberly GUI has a space in which the currently connected erlang/elixir node name is shown.

Pattern matching broken for code reloads [Elixir Tracing - bit noisy]

Once Erlyberly is connected and tracing any function, then iex shell becomes noisy with printouts
when you hit Enter or Tab:

skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347092}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347120}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347187}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347235}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347260}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347284}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347311}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347340}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347364}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347392}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347416}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347438}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347462}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347489}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347516}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347563}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347588}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347612}}
skipped trace_ts {trace_ts,<0.32.0>,call,
{code,ensure_loaded,
['Elixir.String.Chars.Integer']},
{1443,109505,347635}}

Also with a massive gem like this :

iex(alchemy@ipap629)17> skipped trace_ts {trace_ts,<0.32.0>,call,
skipped trace_ts {trace_ts,<0.26.0>,call,
{code,get_chunk,
[<<70,79,82,49,0,0,85,220,66,69,65,77,69,120,
68,99,0,0,17,104,131,104,2,100,0,14,101,
108,105,120,105,114,95,100,111,99,115,95,
118,49,108,0,0,0,3,104,2,100,0,4,100,111,
99,115,108,0,0,0,12,104,5,104,2,100,0,13,
95,95,98,101,104,97,118,105,111,117,114,95,
95,97,1,97,31,100,0,3,100,101,102,108,0,0,
0,1,104,3,100,0,4,97,116,111,109,106,100,0,
6,69,108,105,120,105,114,106,100,0,5,102,
97,108,115,101,104,5,104,2,100,0,10,101,
120,99,101,112,116,105,111,110,63,97,1,97,
39,100,0,3,100,101,102,108,0,0,0,1,104,3,
100,0,4,116,101,114,109,106,100,0,3,110,
105,108,106,109,0,0,0,52,82,101,116,117,
114,110,115,32,96,116,114,117,101,96,32,
105,102,32,116,104,101,32,103,105,118,101,
110,32,96,116,101,114,109,96,32,105,115,32,
97,110,32,101,120,99,101,112,116,105,111,
110,46,10,104,5,104,2,100,0,6,102,111,114,
109,97,116,97,3,97,142,100,0,3,100,101,102,
108,0,0,0,3,104,3,100,0,4,107,105,110,100,
106,100,0,3,110,105,108,104,3,100,0,7,112,
97,121,108,111,97,100,106,100,0,3,110,105,
108,104,3,100,0,2,92,92,106,108,0,0,0,2,
104,3,100,0,10,115,116,97,99,107,116,114,
97,99,101,106,100,0,3,110,105,108,100,0,3,
110,105,108,106,106,109,0,0,1,9,78,111,114,
109,97,108,105,122,101,115,32,97,110,100,
32,102,111,114,109,97,116,115,32,116,104,
114,111,119,47,101,114,114,111,114,115,47,
101,120,105,116,115,32,97,110,100,32,115,
116,97,99,107,116,114,97,99,101,46,10,10,
73,116,32,114,101,108,105,101,115,32,111,
110,32,96,102,111,114,109,97,116,95,98,97,
110,110,101,114,47,51,96,32,97,110,100,32,
96,102,111,114,109,97,116,95,115,116,97,99,
107,116,114,97,99,101,47,49,96,10,116,111,
32,103,101,110,101,114,97,116,101,32,116,
104,101,32,102,105,110,97,108,32,102,111,
114,109,97,116,46,10,10,78,111,116,101,32,
116,104,97,116,32,96,123,58,69,88,73,84,44,
32,112,105,100,125,96,32,100,111,32,110,
111,116,32,103,101,110,101,114,97,116,101,
32,97,32,115,116,97,99,107,116,114,97,99,
101,32,116,104,111,117,103,104,10,40,97,
115,32,116,104,101,121,32,97,114,101,32,
114,101,116,114,105,101,118,101,100,32,97,
115,32,109,101,115,115,97,103,101,115,32,
119,105,116,104,111,117,116,32,115,116,97,
99,107,116,114,97,99,101,115,41,46,10,104,
5,104,2,100,0,13,102,111,114,109,97,116,95,
98,97,110,110,101,114,97,3,97,111,100,0,3,
100,101,102,108,0,0,0,3,104,3,100,0,4,107,
105,110,100,106,100,0,3,110,105,108,104,3,
100,0,9,101,120,99,101,112,116,105,111,110,
106,100,0,3,110,105,108,104,3,100,0,2,92,
92,106,108,0,0,0,2,104,3,100,0,10,115,116,
97,99,107,116,114,97,99,101,106,100,0,3,
110,105,108,100,0,3,110,105,108,106,106,
109,0,0,1,207,78,111,114,109,97,108,105,
122,101,115,32,97,110,100,32,102,111,114,
109,97,116,115,32,97,110,121,32,116,104,
114,111,119,44,32,101,114,114,111,114,32,
97,110,100,32,101,120,105,116,46,10,10,84,
104,101,32,109,101,115,115,97,103,101,32,
105,115,32,102,111,114,109,97,116,116,101,
100,32,97,110,100,32,100,105,115,112,108,
97,121,101,100,32,105,110,32,116,104,101,
32,115,97,109,101,10,102,111,114,109,97,
116,32,97,115,32,117,115,101,100,32,98,121,

JavaFX Application Thread exception on startup

I was not able to start application using java -jar erlyberly-0-6-6-runnable.jar command.

Full startup output:

http://pastebin.com/S0dqddNg

Java version

4 Downloads $ java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

Ubuntu version

5 Downloads $ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:    14.04
Codename:   trusty

Exceptions thrown when sorting traces by column

Exceptions thrown when sorting traces by column.

Exception in thread "JavaFX Application Thread" java.lang.UnsupportedOperationException
    at java.util.AbstractList.remove(AbstractList.java:161)
    at java.util.AbstractList$Itr.remove(AbstractList.java:374)
    at java.util.AbstractList.removeRange(AbstractList.java:571)
    at javafx.collections.ObservableListBase.remove(ObservableListBase.java:270)
    at com.sun.javafx.binding.BidirectionalContentBinding$ListContentBinding.onChanged(BidirectionalContentBinding.java:131)
    at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233)
    at com.sun.javafx.collections.ObservableListWrapper.sort(ObservableListWrapper.java:226)
    at javafx.collections.FXCollections.sort(FXCollections.java:671)
    at javafx.scene.control.TableView$3.call(TableView.java:467)
    at javafx.scene.control.TableView$3.call(TableView.java:431)
    at javafx.scene.control.TableView.sort(TableView.java:1519)
    at javafx.scene.control.TableView.doSort(TableView.java:1578)
    at javafx.scene.control.TableView.lambda$new$40(TableView.java:734)
    at javafx.scene.control.TableView$$Lambda$136/2129761332.invalidated(Unknown Source)
    at javafx.beans.WeakInvalidationListener.invalidated(WeakInvalidationListener.java:83)
    at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:349)
    at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
    at javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(ObjectPropertyBase.java:105)
    at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112)
    at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146)
    at javafx.scene.control.TableColumn.setSortType(TableColumn.java:459)
    at com.sun.javafx.scene.control.TableColumnSortTypeWrapper.setSortType(TableColumnSortTypeWrapper.java:54)
    at com.sun.javafx.scene.control.skin.TableColumnHeader.sortColumn(TableColumnHeader.java:770)
    at com.sun.javafx.scene.control.skin.TableColumnHeader.lambda$static$55(TableColumnHeader.java:243)
    at com.sun.javafx.scene.control.skin.TableColumnHeader$$Lambda$304/113933935.handle(Unknown Source)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.Scene$MouseHandler.process(Scene.java:3758)
    at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3486)
    at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
    at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2495)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:350)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:275)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$350(GlassViewEventHandler.java:385)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$$Lambda$444/1972213213.get(Unknown Source)
    at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:404)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:384)
    at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
    at com.sun.glass.ui.View.notifyMouse(View.java:927)

If the filteredTraces field in DbgTraceView is set instead of bound:

tracesBox.setItems(filteredTraces);

Then the traces cannot be filtered by column at all.

Pretty print dicts

Pretty printing dicts would be nice. Something like:
if element(1, X) =:= dict then dict:to_list(X)

Rendering issues with the module tree

When cells are removed from the module tree, the expansion arrows are sometimes left with no cell item. This has occurred since I created a custom cell factory and TreeCell control.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.