This is a quick guide to mounting a qcow2 disk images on your host server. This is useful to reset passwords, edit files, or recover something without the virtual machine running.
Step 1 - Enable NBD on the Host
modprobe nbd max_part=8
(gdb) bt full | |
#0 I_lg (xl=4398007891115, x=0xffff740db5c8) at beam/big.c:1636 | |
sz = 4398007891114 | |
d = <optimized out> | |
#1 big_integer_estimate (x=x@entry=281472628798914, base=base@entry=10) at beam/big.c:1915 | |
xp = 0xffff740db5c0 | |
lg = <optimized out> | |
lgBase = <optimized out> | |
#2 0x0000aaaae0ec0fac in print_term (dcount=0xffff6e366658, obj=<optimized out>, arg=0xffff5c214d80, fn=0xaaaae104e704 <erts_write_fp>) at beam/erl_printf_term.c:481 | |
def_buf = "\331\330\v᪪\000\000\377\377\377\377\000\000\000\000\000o\217#\020\177{\034pg6n\377\377\000\000\274\276\004᪪\000\000\240i6n\377\377\000\000\330\377\377\377\000\000\000\000\004\347\004᪪\000" |
objdump -p ./artifacts/bin/linux/arm64_Debug_openssl/msquictest | |
./artifacts/bin/linux/arm64_Debug_openssl/msquictest: file format elf64-littleaarch64 | |
Program Header: | |
PHDR off 0x0000000000000040 vaddr 0x0000000000000040 paddr 0x0000000000000040 align 2**3 | |
filesz 0x00000000000001f8 memsz 0x00000000000001f8 flags r-- | |
INTERP off 0x0000000000000238 vaddr 0x0000000000000238 paddr 0x0000000000000238 align 2**0 | |
filesz 0x000000000000001b memsz 0x000000000000001b flags r-- | |
LOAD off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**16 |
Branch: master attempts max: 8 : https://api.github.com/repos/emqx/emqx/actions/runs/5136332850 Generated at 2023-06-01 16:09:31.526180
suite | case | total failed times |
---|---|---|
emqx_bridge_kafka_impl_consumer_SUITE | sasl_plain.sasl_auth_kerberos.t_start_and_consume_ok | 6 |
emqx_bridge_kafka_impl_consumer_SUITE | sasl_ssl.sasl_auth_kerberos.t_start_and_consume_ok | 5 |
emqx_bridge_cassandra_SUITE | tls.async.with_batch.t_write_failure | 5 |
emqx_bridge_pulsar_impl_producer_SUITE | plain.t_send_when_down | 5 |
emqx_ee_bridge_redis_SUITE | rest.t_check_replay | 5 |
dbg:tracer(process, {fun dbg:dhandler/2,group_leader()}). | |
dbg:p(all, c). | |
dbg:tpl(mnesia_loader, init_receiver, cx). | |
mnesia_lib:set(copy_from_node, '[email protected]'). | |
mnesia:del_table_copy(emqx_trie, '[email protected]'). | |
mnesia:add_table_copy(emqx_trie, '[email protected]', ram_copies). | |
mnesia:wait_for_tables([emqx_trie], 30000). |
#!/usr/bin/env escript | |
%% find cache leaks from a recon fragmentation dump: | |
%% input file should look like as following: | |
%% [{{ets_alloc,1}, | |
%% [{sbcs_usage,1.0}, | |
%% {mbcs_usage,0.3708287885109216}, | |
%% {sbcs_block_size,0}, | |
%% {sbcs_carriers_size,0}, | |
%% {mbcs_block_size,2040364216}, | |
%% {mbcs_carriers_size,5502173184}]}, |
#!/usr/bin/env escript | |
%% find unabandoned carriers and their size, aka cache leaks. | |
%% note, file should be consultable erlang term file which means it has a '.' at the end of input file. | |
main([File]) -> | |
case file:consult(File) of | |
{error, _} = E-> | |
io:format("bad input ~p: ~p", [File, E]); | |
{ok, [Raw]} -> | |
Caches = [{Name, Number, Size} | |
|| {Name, Prop}<-Raw, {mbcs_pool, Pool}<- Prop, {carriers_size, Size} <- Pool, {carriers, Number} <- Pool], |
#!/usr/bin/env escript | |
%% -*- erlang -*- | |
main(["usage"]) -> | |
io:format("./schema_fix.escript [--dry-run] schema.DAT [add | replace] '[email protected]' ~n", | |
[]); | |
main(["--dry-run", SchemaFile, Op, NodeStr]) -> | |
run(true, SchemaFile, Op, NodeStr); | |
main([SchemaFile, Op, NodeStr]) -> | |
run(false, SchemaFile, Op, NodeStr); | |
main(_) -> |
--- a/src/wl/sys/wl_cfg80211_hybrid.c 2017-05-19 20:39:02.140010833 +0200 | |
+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2017-05-19 20:40:19.216011777 +0200 | |
@@ -2153,8 +2153,12 @@ | |
WL_DBG(("\n")); | |
if (status == WLC_E_STATUS_SUCCESS) { | |
- err = wl_bss_roaming_done(wl, ndev, e, data); | |
+ if (!wl_bss_roaming_done(wl, ndev, e, data)) { | |
wl->profile->active = true; | |
+ } else { |