Difference between debug=1 and debug=2 - rust

As I was testing this, I ran a test program with the Cargo setting:
[profile.release]
debug = 1
I got exactly the same stacktrace as if with debug = 2:
$ RUST_BACKTRACE=1 cargo run --release
Finished release [optimized + debuginfo] target(s) in 0.02s
Running `target/release/an`
Error: param not big enough!
Stack backtrace:
0: an::bb
at ./src/main.rs:18:5
an::aa
at ./src/main.rs:13:2
an::main
at ./src/main.rs:6:2
1: core::ops::function::FnOnce::call_once
at /rustc/02072b482a8b5357f7fb5e5637444ae30e423c40/library/core/src/ops/function.rs:227:5
std::sys_common::backtrace::__rust_begin_short_backtrace
at /rustc/02072b482a8b5357f7fb5e5637444ae30e423c40/library/std/src/sys_common/backtrace.rs:123:18
2: std::rt::lang_start::{{closure}}
at /rustc/02072b482a8b5357f7fb5e5637444ae30e423c40/library/std/src/rt.rs:145:18
3: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
at /rustc/02072b482a8b5357f7fb5e5637444ae30e423c40/library/core/src/ops/function.rs:259:13
std::panicking::try::do_call
at /rustc/02072b482a8b5357f7fb5e5637444ae30e423c40/library/std/src/panicking.rs:406:40
std::panicking::try
at /rustc/02072b482a8b5357f7fb5e5637444ae30e423c40/library/std/src/panicking.rs:370:19
std::panic::catch_unwind
at /rustc/02072b482a8b5357f7fb5e5637444ae30e423c40/library/std/src/panic.rs:133:14
std::rt::lang_start_internal::{{closure}}
at /rustc/02072b482a8b5357f7fb5e5637444ae30e423c40/library/std/src/rt.rs:128:48
std::panicking::try::do_call
at /rustc/02072b482a8b5357f7fb5e5637444ae30e423c40/library/std/src/panicking.rs:406:40
std::panicking::try
at /rustc/02072b482a8b5357f7fb5e5637444ae30e423c40/library/std/src/panicking.rs:370:19
std::panic::catch_unwind
at /rustc/02072b482a8b5357f7fb5e5637444ae30e423c40/library/std/src/panic.rs:133:14
std::rt::lang_start_internal
at /rustc/02072b482a8b5357f7fb5e5637444ae30e423c40/library/std/src/rt.rs:128:20
4: main
5: __libc_start_main
6: _start
Why?
The doc says:
The valid options are:
0 or false: no debug info at all
1: line tables only
2 or true: full debug info
So I expected only line numbers would be present in the stack trace with debug = 1.
(BTW the binary file size with debug = 2 was considerably bigger than with debug = 1, so obviously there is some difference somewhere...)

Related

Solang - panicked at 'type not allowed'

I am trying to get an Ethereum smart contract up and running for Solana. I'm using solang and it had a few issues that I was able to fix, like Solidity's assembly not working, but I finally ran into something I can't handle.
I run solang build:
solang ./lib/FastEcMul.sol --target solana --output build
and I get:
thread 'main' panicked at 'type not allowed', src/sema/types.rs:920:18
more detailed, with RUST_BACKTRACE=1 and -v:
info: Solang version v0.1.10
thread 'main' panicked at 'type not allowed', src/sema/types.rs:920:18
stack backtrace:
0: 0x104833ce8 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h8483effd3e9ec544
1: 0x10433e7e8 - core::fmt::write::ha34752bcd39bca36
2: 0x1048327d0 - std::io::Write::write_fmt::hfc57a6e48a9ddae2
3: 0x104832f98 - std::panicking::default_hook::{{closure}}::he9aaba83dd453f35
4: 0x10483244c - std::panicking::rust_panic_with_hook::hf890018b6cf19ef5
5: 0x10484f6e0 - std::panicking::begin_panic_handler::{{closure}}::hc0918e64b5d68f06
6: 0x10484f668 - std::sys_common::backtrace::__rust_end_short_backtrace::hb99d925d54d4af60
7: 0x10484f634 - _rust_begin_unwind
8: 0x105b17e38 - core::panicking::panic_fmt::hf9e85df46ac02a7d
9: 0x10449be1c - solang::sema::types::<impl solang::sema::ast::Type>::bits::h29f3c107ab9657a4
10: 0x1045df378 - solang::sema::expression::bigint_to_expression::hc02ea43f3e21887f
11: 0x1045f57bc - solang::sema::expression::power::ha1372353023ad777
12: 0x1045e9078 - solang::sema::expression::expression::h07d54b6ce13d6489
13: 0x1045f9ee0 - solang::sema::expression::subtract::hc24c7a4700f0e8e1
14: 0x1045e8748 - solang::sema::expression::expression::h07d54b6ce13d6489
15: 0x1045fba34 - solang::sema::expression::bitwise_and::hc24720f8c53e5be3
16: 0x1045e8574 - solang::sema::expression::expression::h07d54b6ce13d6489
17: 0x1045a22b4 - solang::sema::statements::destructure_values::h1d04cc668cdbf5fd
18: 0x1045a13d0 - solang::sema::statements::destructure::h3937764899bb6c4d
19: 0x104596968 - solang::sema::statements::statement::h392fdbc69b4da93d
20: 0x10459568c - solang::sema::statements::statement::h392fdbc69b4da93d
21: 0x104594868 - solang::sema::statements::resolve_function_body::hc7bc7aac8f20f106
22: 0x10443518c - solang::sema::contracts::resolve::h4024bf7abc2ae716
23: 0x10447a5e8 - solang::sema::sema_file::h3b89ac6a8acdaddb
24: 0x10447c83c - solang::parse_and_resolve::hdc70bef828872f55
25: 0x1047bb45c - solang::main::h5ce247c5504216e2
26: 0x104799d24 - std::sys_common::backtrace::__rust_begin_short_backtrace::hb58d66c82bbbcc6f
27: 0x1047b70a0 - _main
I got no idea, which type is not allowed, or where to find the file src/sema/types.rs:920:18.
However, I managed to compile other .sol file EC.sol, on which the FastEcMul.so is dependent. Yet the result was only bundle.so and .abi file is missing.
link to both files
I'd be grateful for any clue.
I've started looking at this issue. The first issue I can across was the doccomments which were not supported: https://github.com/hyperledger-labs/solang/pull/756
I'll continue looking at the next issue and get back.

Failed building the Rust documentation: The system cannot find the path specified

I'm on Windows, trying to build the Rust documentation.
I cloned the Rust repository, copied the config.toml.example under the name config.toml and executed ./x.py doc but here is the error I get (with the RUST_BACKTRACE environment variable set to full):
~\source\repos\rust [master ≡]> ./x.py doc
~\source\repos\rust [master ≡]> Updating only changed submodules
Submodules updated in 0.08 seconds
Finished dev [unoptimized + debuginfo] target(s) in 0.41s
thread 'main' panicked at 'fs::read_dir(builder.src.join(&relative_path).join("redirects")) failed with The system cannot find the path specified. (os error 3)', src\bootstrap\doc.rs:243:21
stack backtrace:
0: 0x7ff7a88e481f - std::backtrace_rs::backtrace::dbghelp::trace
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:98
1: 0x7ff7a88e481f - std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
2: 0x7ff7a88e481f - std::sys_common::backtrace::_print_fmt
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\sys_common\backtrace.rs:67
3: 0x7ff7a88e481f - std::sys_common::backtrace::_print::{{impl}}::fmt
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\sys_common\backtrace.rs:46
4: 0x7ff7a89029da - core::fmt::write
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\core\src\fmt\mod.rs:1110
5: 0x7ff7a88df148 - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\io\mod.rs:1588
6: 0x7ff7a88e8356 - std::sys_common::backtrace::_print
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\sys_common\backtrace.rs:49
7: 0x7ff7a88e8356 - std::sys_common::backtrace::print
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\sys_common\backtrace.rs:36
8: 0x7ff7a88e8356 - std::panicking::default_hook::{{closure}}
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\panicking.rs:208
9: 0x7ff7a88e7e39 - std::panicking::default_hook
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\panicking.rs:225
10: 0x7ff7a88e89b5 - std::panicking::rust_panic_with_hook
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\panicking.rs:622
11: 0x7ff7a88e85a1 - std::panicking::begin_panic_handler::{{closure}}
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\panicking.rs:519
12: 0x7ff7a88e513f - std::sys_common::backtrace::__rust_end_short_backtrace<closure-0,!>
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\sys_common\backtrace.rs:141
13: 0x7ff7a88e84f9 - std::panicking::begin_panic_handler
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\panicking.rs:515
14: 0x7ff7a890ad7c - std::panicking::begin_panic_fmt
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\panicking.rs:457
15: 0x7ff7a8166b14 - bootstrap::doc::{{impl}}::run
at C:\Users\jerome\source\repos\rust\src\bootstrap\doc.rs:243
16: 0x7ff7a8349024 - bootstrap::builder::Builder::ensure<bootstrap::doc::TheBook>
at C:\Users\jerome\source\repos\rust\src\bootstrap\builder.rs:1563
17: 0x7ff7a81661a0 - bootstrap::doc::{{impl}}::make_run
at C:\Users\jerome\source\repos\rust\src\bootstrap\doc.rs:200
18: 0x7ff7a80eff44 - bootstrap::builder::StepDescription::maybe_run
at C:\Users\jerome\source\repos\rust\src\bootstrap\builder.rs:181
19: 0x7ff7a80f0402 - bootstrap::builder::StepDescription::run
at C:\Users\jerome\source\repos\rust\src\bootstrap\builder.rs:202
20: 0x7ff7a80f42b9 - bootstrap::builder::Builder::run_step_descriptions
at C:\Users\jerome\source\repos\rust\src\bootstrap\builder.rs:610
21: 0x7ff7a80f3f7d - bootstrap::builder::Builder::execute_cli
at C:\Users\jerome\source\repos\rust\src\bootstrap\builder.rs:590
22: 0x7ff7a7f25950 - bootstrap::Build::build
at C:\Users\jerome\source\repos\rust\src\bootstrap\lib.rs:620
23: 0x7ff7a7f11773 - bootstrap::main
at C:\Users\jerome\source\repos\rust\src\bootstrap\bin\main.rs:33
24: 0x7ff7a7f127eb - core::ops::function::FnOnce::call_once<fn(),tuple<>>
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\library\core\src\ops\function.rs:227
25: 0x7ff7a7f126db - std::sys_common::backtrace::__rust_begin_short_backtrace<fn(),tuple<>>
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\library\std\src\sys_common\backtrace.rs:125
26: 0x7ff7a7f11101 - std::rt::lang_start::{{closure}}<tuple<>>
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\library\std\src\rt.rs:49
27: 0x7ff7a88e8f0a - core::ops::function::impls::{{impl}}::call_once
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\library\core\src\ops\function.rs:280
28: 0x7ff7a88e8f0a - std::panicking::try::do_call
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\panicking.rs:401
29: 0x7ff7a88e8f0a - std::panicking::try
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\panicking.rs:365
30: 0x7ff7a88e8f0a - std::panic::catch_unwind
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\panic.rs:434
31: 0x7ff7a88e8f0a - std::rt::lang_start_internal
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\/library\std\src\rt.rs:34
32: 0x7ff7a7f110df - std::rt::lang_start<tuple<>>
at /rustc/bf62f4de32a085c1080d9e77b1b73f1a8e42cce2\library\std\src\rt.rs:48
33: 0x7ff7a7f11d66 - main
34: 0x7ff7a8909ac4 - invoke_main
at D:\agent\_work\9\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
35: 0x7ff7a8909ac4 - __scrt_common_main_seh
at D:\agent\_work\9\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
36: 0x7fff5ee37034 - BaseThreadInitThunk
37: 0x7fff5f302651 - RtlUserThreadStart
Build completed unsuccessfully in 0:00:02
I tried under Ubuntu with WSL but I get the same error.
I tried Googling this error but found nothing and the Rust Readme is saying nothing special except the command I ran
Could you please tell me what am I missing and how to build the documentation?
I'd like to end up with Markdown files so I can read the book on my phone while being offline.
Thanks for your answer
I checked the remote branches and saw a stable branch which I checked out.
I tried running again the command ./x.py doc and this time it worked well.
I saw they don't have any develop branch and all the Pull Requests on Github have the master as target branch. So it seems their master branch is what I usually call the develop branch at my work.
As of today the master branch seems a bit broken since building the documentation doesn't work but using the stable branch worked like a charm.

Enabling LogTracer leads to panic

I try to implement this actix tracing_log logging solution which leads to panic
thread 'main' panicked at 'Failed to set logger: SetLoggerError(())', mytool/src/main.rs:112:23
stack backtrace:
0: rust_begin_unwind
at /rustc/18bf6b4f01a6feaf7259b/library/std/src/panicking.rs:475
1: core::panicking::panic_fmt
at /rustc/18bf6b4f01a6feaf7259b/library/core/src/panicking.rs:85
2: core::option::expect_none_failed
at /rustc/18bf6b4f01a6feaf7259b/library/core/src/option.rs:1221
3: mytool::main::{{closure}}
4: std::thread::local::LocalKey<T>::with
5: tokio::macros::scoped_tls::ScopedKey<T>::set
6: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
7: std::thread::local::LocalKey<T>::with
8: tokio::macros::scoped_tls::ScopedKey<T>::set
9: tokio::runtime::basic_scheduler::BasicScheduler<P>::block_on
10: tokio::runtime::context::enter
11: tokio::runtime::handle::Handle::enter
12: actix_rt::builder::SystemRunner::block_on
13: mytool::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Panic in Arbiter thread.
backtrace isn't clear about implications - how to figure out why panic?
this article mentions that LogTracer::init() should be done first thing in main. Doing so lead to following panic
thread 'main' panicked at 'Builder::init should not be called after logger initialized: SetLoggerError(())', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/env_logger-0.6.2/src/lib.rs:715:25
stack backtrace:
...
apparently there was an env_logger initialized further down, which interfered with LogTracer
Removing the env_logger fixed the issue.

nodejs regex kills process

I am using nodejs v10.13.0 with VS Code as my IDE.
When I run my nodejs program,
It exits at this line:
let matches = address.match(reallyCrazyLongRegex);
No errors
no exceptions
nothing
in the VS Code Terminal then I run
>> echo %ERRORLEVEL%
-1073741819
Why is it crashing?
Why are there no exceptions/errors when it crashes?
What exit code is -1073741819 for nodejs?
Note, if I replace reallyCrazyLongRegex with reallySimpleTestingRegex it runs as normal.
Thanks,
Ryan
Edit: address is a mailing address
the regex:
let reallyCrazyLongRegex = new RegExp([arrayOfEveryCityNameInTheUSA].map(function (v)
{
return "([ ]+|^)" + v + "([ ]+|$)";
}).join("|"), "ig");
It's simple, just very long.
Edit2: I have split it into multiple regexes (every 1000 names)
and it works for the most part but will randomly crash with
JavaScript heap out of memory
which doesn't make any sense at all cause i'm running --max-old-space-size=4048 and my node process never goes above 500MB
<--- Last few GCs --->
[5048:0000000000379B20] 92031 ms: Mark-sweep 293.3 (307.6) -> 293.3
(299.8) MB, 271.7 / 0.0 ms (average mu = 0.910, current mu = 0.000)
last resort GC in old space requested [5048:0000000000379B20] 92227
ms: Mark-sweep 293.3 (299.8) -> 293.3 (299.8) MB, 195.9 / 0.0 ms
(average mu = 0.850, current mu = 0.000) last resort GC in old space
requested
<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 00000001402BAE3D]
1: StubFrame [pc: 00000001402FB91E] Security context: 0x01abc1840921 <JSObject>
2: match [000001ABC184D011](this=0x00df6da620c1 <String[30]: room no nanjing shanghai china>,0x0352098253f1 <JSRegExp <Very long string[25794]>>)
3: findArea [000001CEE0D6B1E1] [c:\script.js:900]
[bytecode=0000035209839239 offset=430](this=0x00fab1aeb5d1
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap
out of memory 1: 000000013F6AC80F napi_wrap+125199 2:
000000013F64BFE6 v8::base::CPU::has_sse+36198 3: 000000013F64CCB6
v8::base::CPU::has_sse+39478 4: 000000013FE744AE
v8::Isolate::ReportExternalAllocationLimitReached+94 5:
000000013FE5BC01 v8::SharedArrayBuffer::Externalize+785 6:
000000013FD22F5C
v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1436 7:
000000013FD1ED69 v8::internal::Heap::AllocateExternalBackingStore+1561
8: 000000013FD39FEC
v8::internal::Factory::CodeBuilder::BuildInternal+412 9:
000000013FD39E26 v8::internal::Factory::CodeBuilder::Build+22 10:
000000013F89D6E4 v8::internal::RegExpMacroAssemblerX64::GetCode+4116
11: 000000013FAD5101
v8::internal::IrregexpInterpreter::MatchInternal+7057 12:
000000013FAC6C80 v8::internal::RegExpParser::operator=+4544 13:
000000013FAC7149 v8::internal::RegExp::CompileForTesting+425 14:
000000013FAC74E5 v8::internal::RegExp::DotPrintForTesting+245 15:
000000013FAC7D68 v8::internal::RegExp::Exec+1256 16: 000000013FAC78F7
v8::internal::RegExp::Exec+119 17: 000000013FA74B26
v8::internal::DeclarationScope::was_lazily_parsed+21974 18:
00000001402BAE3D v8::internal::SetupIsolateDelegate::SetupHeap+517453
19: 00000001402FB91E
v8::internal::SetupIsolateDelegate::SetupHeap+782382 20:
00000001402A6E7E v8::internal::SetupIsolateDelegate::SetupHeap+435598
21: 000000014024675B
v8::internal::SetupIsolateDelegate::SetupHeap+40555 22:
000000014024675B v8::internal::SetupIsolateDelegate::SetupHeap+40555
23: 000000014024675B
v8::internal::SetupIsolateDelegate::SetupHeap+40555 24:
0000000140272F70 v8::internal::SetupIsolateDelegate::SetupHeap+222848
25: 0000000140297C52
v8::internal::SetupIsolateDelegate::SetupHeap+373602 26:
0000000140265354 v8::internal::SetupIsolateDelegate::SetupHeap+166500
27: 00000001402441AC
v8::internal::SetupIsolateDelegate::SetupHeap+30908 28:
000000013FD7ED0F v8::internal::Execution::CallWasm+1551 29:
000000013FD7EE03 v8::internal::Execution::CallWasm+1795 30:
000000013FD7F1E5 v8::internal::Execution::TryCall+357 31:
000000013FD61745 v8::internal::MicrotaskQueue::RunMicrotasks+501 32:
000000013FE26BE0 v8::internal::Builtins::builtin_handle+326608 33:
000000013FE26120 v8::internal::Builtins::builtin_handle+323856 34:
000000013FE26468 v8::internal::Builtins::builtin_handle+324696 35:
000000013FE2626E v8::internal::Builtins::builtin_handle+324190 36:
00000001402BAF1D v8::internal::SetupIsolateDelegate::SetupHeap+517677
37: 000000014024675B
v8::internal::SetupIsolateDelegate::SetupHeap+40555 38:
00000001402442BE v8::internal::SetupIsolateDelegate::SetupHeap+31182
39: 0000000140243EAC
v8::internal::SetupIsolateDelegate::SetupHeap+30140 40:
000000013FD7EC82 v8::internal::Execution::CallWasm+1410 41:
000000013FD7E5F9 v8::internal::Execution::Call+185 42:
000000013FE520E0 v8::Function::Call+608 43: 000000013F6C8E52
node::CallbackScope::~CallbackScope+770 44: 000000013F6C9114
node::CallbackScope::~CallbackScope+1476 45: 000000013F6C2093
v8::internal::compiler::Operator::EffectOutputCount+179 46:
000000013F5BFE33 v8::internal::MicrotaskQueue::microtasks_policy+19395
47: 000000013F5C062C
v8::internal::MicrotaskQueue::microtasks_policy+21436 48:
000000013F5BB6B5 v8::internal::MicrotaskQueue::microtasks_policy+1093
49: 000000013F6E0A2B uv_tty_set_vterm_state+8299 50: 000000013F6F588C
uv_loop_init+844 51: 000000013F6F5BC4 uv_run+244 52: 000000013F6173F3
EVP_CIPHER_CTX_buf_noconst+29635 53: 000000013F6740D0 node::Start+288
54: 000000013F52673C RC4_options+339516 55: 0000000140377788
v8::internal::SetupIsolateDelegate::SetupHeap+1289880 56:
00000000775A556D BaseThreadInitThunk+13 57: 000000007790385D
RtlUserThreadStart+29
Figuring out the error code by using bash:
$ printf "%x" -1073741819
ffffffffc0000005
Ignoring the f's, this is c0000005 -- an access violation.
Your regex is too complicated; node can't cope; it's crashing.
There are many capture groups that should be factored out.
Unless there exist's a source of US Cities that is updated daily,
the way to do this is with
a full blown regex trie that is created offline every month or so.
Source #1 : US Cities
Here can be obtained a 28900 item list of the full regex.
Or individual regex as broken down by state.
This is derived from the public list obtained from https://simplemaps.com/data/us-cities.
What is interessting here is that the 52 individual regex are small and
can be compiled into a list of regex's.
A code segment can be such that inside a loop each regex is tried
until one (or multiple) by state is found.
Or, if the State is already known, the city can be checked.
Source #2 :
There are about 1950 Cities that the Encylopedia Britanica's list on their website.
This is sparce, and are the biggest populated cities.
(\s|^)(A(?:b(?:beville|erdeen|i(?:lene|ng(?:d|t)on))|coma|d(?:a(?:ms)?|rian)|iken|jo|kron|l(?:am(?:eda|o(?:gordo|sa))|b(?:any|ert[\t ]+Lea|uquerque)|coa|exand(?:er[\t ]+City|ria)|hambra|iquippa|l(?:entown|iance)|ma|pine|t(?:a|o(?:n|ona)|us)|va)|m(?:a(?:na[\t ]+Colonies|rillo)|bridge|e(?:ric(?:an[\t ]+Fork|us)|s(?:bury)?)|herst|sterdam)|n(?:a(?:co(?:nda|rtes)|darko|heim)|chorage|d(?:alusia|erson(?:ville)?|over)|n(?:[\t ]+Arbor|apolis|iston)|sonia|tioch)|p(?:alachicola|pleton)|r(?:cadia|dmore|ka(?:delphia|nsas[\t ]+(?:City|Post))|lington(?:[\t ]+Heights)?|t(?:esia|hur))|s(?:bury[\t ]+Park|h(?:e(?:boro|ville)|land|tabula)|pen|toria)|t(?:chison|h(?:ens|ol)|lant(?:a|ic[\t ]+City)|more|tleboro)|u(?:burn|gusta|rora|stin)|vondale)|B(?:a(?:bylon|inbridge|ker(?:[\t ]+City|sfield)|ltimore|ngor|r(?:[\t ]+Harbor|aboo|b(?:erton|ourville)|dstown|nstable|r(?:e|ington)|stow|t(?:lesville|ow))|strop|t(?:avia|esville|h|on[\t ]+Rouge|tle[\t ]+Creek)|y(?:[\t ]+(?:City|Saint[\t ]+Louis)|onne|town))|e(?:a(?:con|trice|u(?:for|mon)t|verton)|ckley|dford|l(?:en|fast|l(?:e(?:[\t ]+(?:Fourch|Glad)e|fontaine|v(?:ill|u)e)|ingham|ows[\t ]+Falls)|mont|oit|videre)|midji|n(?:d|nington|ton(?:[\t ]+Harbor)?)|r(?:ea|keley|lin)|ssemer|th(?:any|esda-Chevy[\t ]+Chase|lehem)|verly(?:[\t ]+Hills)?)|i(?:ddeford|g[\t ]+Spring|l(?:lings|oxi)|nghamton|rmingham|s(?:bee|marck))|l(?:a(?:ckfoot|irsville)|oom(?:field(?:[\t ]+Hills)?|ington|sburg)|uefield|ytheville)|o(?:ca[\t ]+Raton|galusa|ise|nners[\t ]+Ferry|o(?:n(?:e(?:sborough)?|ville)|thbay[\t ]+Harbor)|r(?:dentown|ger)|s(?:sier[\t ]+City|ton)|u(?:lder(?:[\t ]+City)?|n(?:d[\t ]+Brook|tiful)|rne)|w(?:ie|ling[\t ]+Green)|ys[\t ]+Town|zeman)|r(?:a(?:d(?:enton|ford)|in(?:erd|tree)|n(?:ford|son)|ttleboro)|e(?:a|ckenridge|merton)|i(?:dge(?:port|ton)|gh(?:am[\t ]+City|ton)|stol)|o(?:ckton|nx|ok(?:field|ings|l(?:ine|yn))|wnsville)|unswick|yan)|u(?:ckhannon|ena[\t ]+Park|ffalo|r(?:bank|lington|ns)|tte))|C(?:a(?:dillac|hokia|iro|l(?:ais|dwell|exico|houn|istoga|umet[\t ]+City)|m(?:bridge|den|pbellsville)|n(?:on[\t ]+City|ton|yon)|pe[\t ]+(?:Coral|Girardeau|May)|r(?:bondale|ibou|l(?:i(?:nvil|s)le|sbad)|mel|rollton|son[\t ]+City|thage)|s(?:a[\t ]+Grande|per|tine)|tonsville)|e(?:dar[\t ]+(?:City|Falls|Rapids)|ntral(?:[\t ]+(?:City|Falls)|ia))|h(?:a(?:dron|m(?:bersburg|paign)|n(?:dler|ute)|pel[\t ]+Hill|rl(?:e(?:s(?:[\t ]+(?:City|Town)|to(?:w)?n)|voix)|otte(?:sville)?)|ttanooga|utauqua)|e(?:boygan|ektowaga|l(?:msford|sea)|rokee|s(?:apeake|ter)|yenne)|i(?:c(?:ago(?:[\t ]+Heights)?|kas(?:aw|ha)|o(?:pee)?)|llicothe)|ula[\t ]+Vista)|i(?:cero|ncinnati)|l(?:a(?:nton|r(?:emo(?:nt|re)|ks(?:burg|dale|ville))|yton)|e(?:ar(?:field|water)|burne|veland(?:[\t ]+Heights)?)|i(?:fton|max|nton)|ovis)|o(?:coa(?:[\t ]+Beach|-Rockledge)|dy|eur[\t ]+d’Alene|ffeyville|h(?:asset|oes)|l(?:l(?:ege[\t ]+(?:Park|Station)|insville)|orado[\t ]+Springs|umb(?:ia|us))|mpton|n(?:cord|ey[\t ]+Island|ne(?:aut|rsville)|way)|o(?:keville|perstown|s[\t ]+Bay)|r(?:al[\t ]+Gables|dova|inth|ning|ona(?:do)?|pus[\t ]+Christi|t(?:ez|land)|vallis|ydon)|sta[\t ]+Mesa|u(?:lee[\t ]+Dam|ncil[\t ]+(?:Bluffs|Grove)|peville)|v(?:entry|ington))|r(?:a(?:n(?:ford|ston)|wfordsville)|ipple[\t ]+Creek|o(?:okston|ssett|wn[\t ]+Point)|ystal[\t ]+City)|u(?:l(?:lman|ver[\t ]+City)|mberland|s(?:hing|ter)|yahoga[\t ]+Falls))|D(?:a(?:hlonega|l(?:las|ton|y[\t ]+City)|n(?:bury|v(?:ers|ille))|r(?:ien|lington|tmouth)|v(?:enport|is)|yton(?:a[\t ]+Beach)?)|e(?:[\t ]+(?:Land|Smet)|Kalb|a(?:dwood|rborn)|catur|dham|erfield[\t ]+Beach|fiance|l(?:[\t ]+Rio|aware|ray[\t ]+Beach|ta)|m(?:ing|opolis)|n(?:ison|nis|ton|ver)|r(?:b|r)y|s[\t ]+(?:Mo|Pla)ines|troit|vils[\t ]+Lake)|i(?:ckins|ll|x)on|o(?:dge[\t ]+City|than|uglas|ver|wney)|u(?:buque|luth|n(?:can|kirk)|r(?:an(?:go|t)|ham)|xbury))|E(?:a(?:gle[\t ]+Pass|st(?:[\t ]+(?:Aurora|C(?:hicago|leveland)|Greenwich|Ha(?:mpton|rtford|ven)|L(?:ansing|iverpool)|Moline|Orange|P(?:oint|rovidence)|Saint[\t ]+Louis)|chester|ham|on|po(?:inte|rt))|u[\t ]+Claire)|corse|d(?:enton|gartown|i(?:nburg|son)|mond)|ffingham|l(?:[\t ]+(?:Ce(?:ntr|rrit)o|Dorado|Monte|Paso|Reno)|gin|izabeth(?:[\t ]+City|to(?:w)?n)?|k(?:[\t ]+City|hart|ins|o|ton)|l(?:ensburg|sworth)|m(?:hurst|ira)|wood|y(?:ria)?)|m(?:mitsburg|poria)|n(?:field|glewood|id|terprise)|phrata|rie|s(?:c(?:anaba|ondido)|sex|t(?:es[\t ]+Park|herville))|u(?:clid|faula|gene|reka)|v(?:ans(?:ton|ville)|e(?:leth|rett))|x(?:celsior[\t ]+Springs|eter))|F(?:a(?:ir(?:banks|f(?:ax|ield)|haven|mont)|l(?:l(?:[\t ]+River|on|s[\t ]+Church)|mouth)|r(?:go|ibault|mington)|yetteville)|er(?:gus(?:[\t ]+Falls|on)|nandina[\t ]+Beach)|i(?:llmore|ndlay|t(?:chburg|zgerald))|l(?:agstaff|int|or(?:ence|issant)|ushing)|o(?:n(?:d[\t ]+du[\t ]+Lac|tana)|r(?:est[\t ]+Hills|rest[\t ]+City|t[\t ]+(?:Benton|Collins|Dodge|Kent|L(?:auderdal|e)e|M(?:organ|yers)|P(?:ayn|ierc)e|S(?:cott|mith)|Valley|W(?:a(?:lton[\t ]+Beach|yne)|orth))))|r(?:a(?:mingham|nk(?:fort|lin))|e(?:d(?:erick(?:sburg)?|onia)|eport|mont|nch[\t ]+Lick|sno))|ul(?:ler)?ton)|G(?:a(?:dsden|ffney|inesville|l(?:e(?:na|sburg)|l(?:atin|ipolis|up)|veston)|r(?:d(?:en[\t ]+(?:City|Grove)|iner)|land|y)|stonia|tlinburg)|e(?:n(?:ev|o)a|orgetown|rmantown|ttysburg)|il(?:a[\t ]+Bend|lette)|l(?:assboro|en(?:[\t ]+Ellyn|d(?:al|iv)e|s[\t ]+Falls|view|wood[\t ]+Springs)|o(?:be|ucester|versville))|o(?:l(?:d(?:en|field|sboro)|iad)|shen)|r(?:a(?:fton|n(?:d[\t ]+(?:Forks|Haven|Island|Junction|Rapids)|ite[\t ]+City|ts(?:[\t ]+Pass)?)|yling)|e(?:at[\t ]+(?:B(?:arrington|end)|Falls|Neck)|e(?:ley|n(?:[\t ]+(?:Bay|River)|belt|eville|field|sb(?:oro|urg)|ville|w(?:ich|ood)))|nada|tna)|innell|o(?:sse[\t ]+Pointe|ton))|u(?:ilford|lfport|n(?:nison|tersville)|thrie|ymon))|H(?:a(?:ckensack|ddonfield|gerstown|ines|l(?:ifax|landale[\t ]+Beach)|m(?:den|ilton|mond(?:sport)?|pton)|n(?:alei|cock|nibal|over)|r(?:l(?:an|em|ingen)|mony|pers[\t ]+Ferry|r(?:is(?:burg|on)|odsburg)|t(?:ford|sville)|wich)|stings|ttiesburg|v(?:erhill|re)|y(?:s|ward)|z(?:ard|leton))|e(?:ber[\t ]+City|lena|mpstead|nderson|r(?:kimer|rin|shey))|i(?:aleah|bbing|ckory|gh(?:[\t ]+Point|land[\t ]+Park)|l(?:lsboro(?:ugh)?|o)|n(?:gham|ton))|o(?:b(?:art|bs|oken)|dgenville|l(?:denville|l(?:and|y(?:[\t ]+Springs|wood))|yoke)|me(?:r|stead)|n(?:aunau|esdale|olulu)|od[\t ]+River|p(?:e(?:well)?|kinsville)|quiam|t[\t ]+Springs|u(?:ghton|lton|ma|ston))|u(?:dson|go|nt(?:ington(?:[\t ]+Beach)?|sville)|ron|tchinson)|y(?:a(?:nnis|ttsville)|de[\t ]+Park))|I(?:daho[\t ]+(?:City|Falls)|lion|n(?:d(?:ependence|i(?:an(?:a(?:polis)?|ola)|o))|glewood|ter(?:lochen|national[\t ]+Falls))|owa[\t ]+City|pswich|r(?:on(?:[\t ]+Mountain|wood)|vin(?:e|g(?:ton)?))|shpeming|thaca)|J(?:a(?:ckson(?:ville)?|mestown|nesville|sper)|e(?:annette|fferson(?:[\t ]+City|ville)|rsey[\t ]+City)|im[\t ]+Thorpe|o(?:hn(?:[\t ]+Day|s(?:on[\t ]+City|town))|liet|nesboro(?:ugh)?|plin)|un(?:ction[\t ]+City|eau))|K(?:a(?:hului|l(?:amazoo|ispell)|n(?:ab|eohe|kakee|sas[\t ]+City)|paa|skaskia|waihae)|e(?:arney|ene|l(?:logg|so)|n(?:ne(?:bunkport|wick)|osha|t)|okuk|t(?:chikan|tering)|wanee|y(?:[\t ]+West|ser))|i(?:l(?:gore|leen)|n(?:g(?:man|s(?:port|ton|ville))|ston)|rksville|tt(?:ery|y[\t ]+Hawk))|lamath[\t ]+Falls|noxville|o(?:diak|komo|tzebue))|L(?:a(?:[\t ]+(?:Crosse|Gran(?:d|g)e|Habra|Junta|Salle)|c(?:kawann|oni)a|fayette|guna[\t ]+Beach|haina|ie|ke(?:[\t ]+(?:C(?:harles|ity)|Forest|Geneva|Havasu[\t ]+City|Oswego|Placid|Wales)|hurst|land|view|wood)|mar|n(?:caster|der|sing)|r(?:amie|edo|go)|s[\t ]+(?:Cruce|Vega)s|urel|w(?:rence|ton)|yton)|e(?:a(?:d(?:ville)?|venworth)|banon|hi|nox|ominster|vittown|w(?:es|is(?:burg|to(?:w)?n))|xington)|i(?:ber(?:al|tyville)|ma|ncoln|sle|t(?:chfield|tle(?:[\t ]+(?:Falls|Rock)|ton))|v(?:ermore|ingston|onia))|o(?:ck(?:[\t ]+Haven|port)|di|gan|m(?:bard|poc)|ng(?:[\t ]+B(?:ea|ran)ch|mont|view)|rain|s[\t ]+A(?:lamo|ngele)s|uisville|v(?:eland|ington)|we(?:ll|r[\t ]+Southampton))|u(?:b(?:bock|ec)|d(?:ington|low)|fkin|mberton)|yn(?:chburg|n))|M(?:a(?:c(?:hias|kinaw[\t ]+City|o(?:mb|n))|dison|gnolia|l(?:den|ibu)|maroneck|n(?:assas|chester|dan|hattan|i(?:stee|towoc)|kato|sfield|ti)|r(?:blehead|i(?:etta|nette|on)|lborough|quette|shall|tin(?:ez|s(?:[\t ]+Ferry|burg|ville))|y(?:s)?ville)|s(?:on[\t ]+City|s(?:ena|illon))|ttoon|y(?:field|sville))|c(?:Al(?:ester|len)|Cook|K(?:eesport|inney)|Minnville|Pherson)|e(?:adville|d(?:ford|icine[\t ]+Lodge)|lbourne|mphis|n(?:asha|lo[\t ]+Park|ominee|tor)|r(?:ced|id(?:e|ia)n)|s(?:a|quite)|xico)|i(?:ami(?:[\t ]+Beach)?|chigan[\t ]+City|d(?:dle(?:bury|sboro|town)|land|west[\t ]+City)|l(?:an|bank|es[\t ]+City|ford|l(?:burn|edgeville|ville)|ton|waukee)|n(?:den|eola|neapolis|ot)|s(?:hawaka|s(?:ion|oula))|tchell)|o(?:ab|b(?:il|ridg)e|desto|line|n(?:ett|mouth|roe(?:ville)?|t(?:clair|erey|gomery|icello|pelier|rose))|or(?:e|head)|r(?:ehead[\t ]+City|gan(?:[\t ]+City|to(?:w)?n)|ri(?:lto|stow)n)|s(?:cow|es[\t ]+Lake)|un(?:dsville|t(?:[\t ]+(?:Clemens|Holly|Pleasant|Vernon)|ain[\t ]+View)))|u(?:n(?:cie|delein)|r(?:freesboro|ray)|s(?:catine|k(?:egon|ogee)))|y(?:rtle[\t ]+Beach|stic))|N(?:a(?:cogdoches|gs[\t ]+Head|hant|mpa|nticoke|p(?:a|erville|les|panee)|rragansett|sh(?:ua|ville)|t(?:ch(?:ez|itoches)|ick)|u(?:gatuck|voo))|e(?:braska[\t ]+City|e(?:dles|nah)|osho|phi|w(?:[\t ]+(?:Albany|B(?:e(?:dford|rn)|r(?:aunfels|itain|unswick))|Castle|Glarus|H(?:a(?:rmony|ven)|ope)|Iberia|Kensington|London|M(?:a(?:drid|r(?:ket|tinsville))|ilford)|Orleans|P(?:altz|hiladelphia)|Rochelle|Smyrna[\t ]+Beach|Ulm|Windsor|York[\t ]+City)|ark|b(?:erg|ur(?:gh|yport))|castle|port(?:[\t ]+(?:Beach|News))?|ton))|i(?:agara[\t ]+Fall|le)s|o(?:gales|me|r(?:folk|ma[ln]|ris(?:town)?|t(?:h(?:[\t ]+(?:Adams|C(?:hicago|ollege[\t ]+Hill)|H(?:aven|empstead)|Kingstown|L(?:as[\t ]+Vegas|ittle[\t ]+Rock)|Platte)|ampton|field)|on)|w(?:alk|ich|ood))|vato)|yack)|O(?:ak(?:[\t ]+(?:Harbor|Park|Ridge)|land)|berlin|c(?:ala|ean(?:[\t ]+(?:City|Springs)|side)|onto)|dessa|gden(?:sburg)?|il[\t ]+City|jai|k(?:lahoma[\t ]+City|mulgee)|l(?:athe|d[\t ]+Saybrook|ean|ympia)|maha|n(?:e(?:id|ont)a|tario)|pel(?:ika|ousas)|r(?:a(?:ibi|nge(?:burg)?)|derville|e(?:gon(?:[\t ]+City)?|m)|lando|mond[\t ]+Beach|o(?:no|ville))|s(?:awatomie|ceola|hkosh|kaloosa|sining|wego)|tt(?:a|um)wa|uray|verland[\t ]+Park|w(?:atonna|ensboro)|x(?:fo|na)rd|yster[\t ]+Bay|zark)|P(?:a(?:cific[\t ]+Grove|ducah|gosa[\t ]+Springs|inesville|l(?:at(?:ine|ka)|m(?:[\t ]+(?:B(?:ay|each)|Springs)|dale|er|yra)|o[\t ]+Alto)|mpa|n(?:ama[\t ]+City|guitch)|r(?:is|k(?:[\t ]+(?:City|Forest|Ridge)|ersburg)|ma|sippany–Troy[\t ]+Hills)|s(?:adena|c(?:agoula|o)|s(?:[\t ]+Christian|aic))|terson|uls[\t ]+Valley|w(?:huska|tucket)|yson)|e(?:abody|cos|ekskill|kin|n(?:dleton|sacola)|oria|r(?:ry|th[\t ]+Amboy|u)|shtigo|t(?:aluma|er(?:borough|sburg)|oskey))|h(?:arr|enix[\t ]+City|il(?:adelphia|ippi)|oenix(?:ville)?)|i(?:erre|ne(?:[\t ]+Bluff|hurst)|pestone|qua|tts(?:burgh?|field))|l(?:a(?:in(?:field|s|view)|no|tts(?:burg|mout)h)|ymouth)|o(?:catello|int[\t ]+(?:Pleasant|Roberts)|m(?:ona|pano[\t ]+Beach)|n(?:ca[\t ]+City|tiac)|rt(?:[\t ]+(?:A(?:ngeles|rthur)|Gibson|Hu(?:eneme|ron)|Lavaca|Orford|Washington)|a(?:ge|les)|land|smouth)|t(?:sdam|ts(?:town|ville))|ughkeepsie|well)|r(?:airie[\t ]+du[\t ]+Chien|es(?:cott|que[\t ]+Isle)|i(?:c(?:e|hard)|est[\t ]+River|n(?:ceton|eville))|ov(?:i(?:dence|ncetown)|o)|yor)|u(?:eblo|llman|t-in-Bay|yallup))|Qu(?:eens|incy)|R(?:a(?:cine|leigh|n(?:cho[\t ]+Cucamonga|dolph|toul)|pid[\t ]+City|ton|wlins)|e(?:ading|d(?:[\t ]+(?:Bluff|Cloud|Wing)|ding|lands|mond|ondo[\t ]+Beach|wood[\t ]+City)|edsport|n(?:o|sselaer|ton)|ston|vere|xburg)|hinelander|i(?:ch(?:ardson|land|mond)|dgewood|pon|ver(?:[\t ]+Forest|side|ton))|o(?:anoke|c(?:hester|k(?:[\t ]+(?:Hill|Island|Springs)|ford|land|ville|y[\t ]+Mount))|gers|lla|m(?:e|ney)|s(?:e(?:burg|lle|ville)|well)|tterdam|yal[\t ]+Oak)|u(?:gby|mford|ston|t(?:herfor|lan)d)|ye)|S(?:a(?:c(?:rament)?o|g(?:[\t ]+Harbor|inaw)|int(?:[\t ]+(?:A(?:lbans|ugustine)|C(?:harles|loud)|George|Ignace|Jo(?:hnsbury|seph)|Louis|Mar(?:tinville|ys[\t ]+City)|P(?:aul|etersburg))|e[\t ]+Genevieve)|l(?:em|i(?:nas?|sbury)|lisaw|t[\t ]+Lake[\t ]+City)|n(?:[\t ]+(?:An(?:gel|toni)o|Bernardino|Clemente|Diego|F(?:e(?:lipe|rnando)|rancisco)|Gabriel|J(?:ose|uan[\t ]+Capistrano)|L(?:eandr|uis[\t ]+Obisp)o|Ma(?:r(?:cos|ino)|teo)|Pedro|Rafael|Simeon)|d(?:[\t ]+Springs|usky|wich)|ford|ta[\t ]+(?:Ana|Barbara|C(?:la(?:r(?:it)?a|us)|ruz)|Fe|Monica|Rosa))|pulpa|ra(?:nac[\t ]+Lake|sota|toga[\t ]+Springs)|u(?:gus|k[\t ]+Centre|lt[\t ]+Sainte[\t ]+Marie|salito)|vannah)|c(?:ar(?:borough|sdale)|henectady|otts(?:boro|dale)|ranton)|e(?:a(?:rcy|side|ttle)|bring|dalia|lma|minole|neca[\t ]+Falls|ward|ymour)|h(?:a(?:ker[\t ]+Heights|mokin|ron|wnee(?:town)?)|e(?:boygan|ffield|l(?:by(?:ville)?|ton)|pherdstown|r(?:id|m)an)|iprock|reveport)|i(?:dney|erra[\t ]+Vista|lver(?:[\t ]+(?:City|Spring)|ton)|m(?:i[\t ]+Valle|sbur)y|oux[\t ]+(?:City|Falls)|tka)|k(?:agway|okie)|m(?:ith[\t ]+Center|yrna)|o(?:corro|mer(?:sworth|ville)|noma|uth(?:[\t ]+(?:Bend|Charleston|H(?:adley|olland)|Kingstown|Orange[\t ]+Village|Sa(?:int[\t ]+Paul|n[\t ]+Francisco))|ampton|ington))|p(?:a(?:nish[\t ]+Fork|r(?:ks|tanburg))|earfish|okane|ring(?:[\t ]+Green|field|ville))|t(?:a(?:mford|rkville|te(?:[\t ]+College|n[\t ]+Island)|unton)|e(?:amboat[\t ]+Springs|rling|ubenville|vens[\t ]+Point)|illwater|o(?:ck(?:bridge|ton)|n(?:ington|y[\t ]+(?:Brook|Point))|ughton)|r(?:atford|eator|oudsburg)|u(?:r(?:bridge|g(?:eon[\t ]+Bay|is))|ttgart))|u(?:dbury|ffolk|m(?:m(?:ersville|it)|ter)|n(?:[\t ]+Valley|bury|nyvale)|perior|sanville)|w(?:arthmore|eetwater)|y(?:lacauga|racuse))|T(?:a(?:coma|hlequah|koma[\t ]+Park|lla(?:dega|hassee)|m(?:aqu|p)a|os|r(?:pon[\t ]+Springs|rytown)|unton)|e(?:lluride|mp(?:l)?e|n[\t ]+Sleep|rre[\t ]+Haute|wksbury|xa(?:rkana|s[\t ]+City))|h(?:e(?:[\t ]+(?:Dalles|Village)|rmopolis)|ibodaux|ousand[\t ]+Oaks)|i(?:conderoga|ffin|llamook|tusville|verton)|o(?:ccoa|ledo|mbstone|nawanda|oele|peka|rr(?:ance|ington)|towa|wson)|r(?:averse[\t ]+City|enton|inidad|oy|u(?:ro|th[\t ]+or[\t ]+Consequences))|u(?:c(?:son|umcari)|l(?:lahom|s)a|pelo|rlock|s(?:c(?:aloos|umbi)a|kegee))|win[\t ]+Falls|yler)|U(?:kiah|nion(?:[\t ]+City|town)?|rbana|tica|valde)|V(?:a(?:il|l(?:d(?:ez|osta)|le(?:jo|y[\t ]+City)|paraiso)|n(?:[\t ]+Buren|couver|dalia))|e(?:n(?:ice|tura)|r(?:million|nal))|i(?:c(?:ksburg|tor(?:ia|ville))|n(?:cennes|eland|ita)|r(?:den|ginia(?:[\t ]+(?:Beach|City))?)|salia))|W(?:a(?:bash|co|h(?:iawa|peton)|i(?:luku|mea)|l(?:l(?:a[\t ]+Walla|ingford)|nut[\t ]+Creek|pi|senburg)|r(?:m[\t ]+Springs|ner[\t ]+Robins|ren(?:sburg)?|wick)|shington|t(?:er(?:bury|ford|loo|town|v(?:ille|liet))|kins[\t ]+Glen|ts)|u(?:ke(?:gan|sha)|sau|watosa)|y(?:cross|ne(?:sboro)?))|e(?:atherford|bster(?:[\t ]+City)?|ehawken|irton|l(?:ch|l(?:esley|fleet|sburg))|natchee|st(?:[\t ]+(?:Allis|B(?:end|ridgewater)|C(?:hester|ovina)|Des[\t ]+Moines|Ha(?:rtford|ven)|Lafayette|Memphis|New[\t ]+York|Orange|P(?:alm[\t ]+Beach|lains|oint)|S(?:eneca|pringfield))|erly|field|minster|on|port)|thersfield|woka|ymouth)|h(?:e(?:aton|eling)|it(?:e[\t ]+(?:Plains|S(?:p|ulphur[\t ]+Sp)rings)|man|tier))|i(?:c(?:hita(?:[\t ]+Falls)?|kford)|l(?:kes-Barre|l(?:i(?:ams(?:burg|on|port|town)|mantic|ngboro|ston)|mar)|m(?:ette|ington)|son)|n(?:chester|d(?:ham|ow[\t ]+Rock|sor(?:[\t ]+Locks)?)|ne(?:mucc|tk)a|o(?:na|oski)|s(?:low|t(?:ed|on-Salem))|ter[\t ]+(?:Haven|Park))|sconsin[\t ]+Dells)|o(?:burn|o(?:d(?:[\t ]+River|bridge|land|s(?:[\t ]+Hole|tock)|ward)|nsocket|ster)|r(?:cester|land|thington))|yandotte)|Xenia|Y(?:a(?:kima|nkton|zoo[\t ]+City)|ellow[\t ]+Springs|o(?:nkers|r(?:ba[\t ]+Linda|k)|ungstown)|psilanti|sleta|u(?:ba[\t ]+City|ma))|Z(?:anesville|ion))(?!\S)
This matches all 1960 cities in about 3 ms., and is only about 14k in size.
https://regex101.com/r/qVcHf6/1
These regex are extremely fast being a ternary trie.
You can do this too, it was generated using this Ternary Trie Tool
My guess would be that your complicated regex is causing "redos" to your node.js server. Since node.js is single-threaded it tries to resolve your regex expression using way too much CPU which after some time crushes node execution.
You can prevent that by not using your own regex and try to use some well known regexes or if it is for validation use something like Joi or validator.js
Here is something about "redos":
https://blog.malwarebytes.com/security-world/technology/2018/08/explained-regular-expression-regex/
or
https://javascript.info/regexp-catastrophic-backtracking
Hope this helps :)

Failed to cross-compile library from Windows to Android

I'm trying to cross-compile a Rust library to 4 Android targets (i386, x86_64, armv7, and aarch64) from Windows.
I have set up Android NDK toolchain for these targets and tried to compile my library with help of this tutorial.
I think I've set up the toolchain correctly, and I'm able to successfully execute aarch64-linux-android-clang in the terminal.
Build log:
cargo build --target aarch64-linux-android --release --verbose
Fresh cc v1.0.28
Fresh autocfg v0.1.1
Fresh version_check v0.1.5
Fresh void v1.0.2
Fresh cfg-if v0.1.6
Fresh rustc-demangle v0.1.13
Fresh byteorder v1.2.7
Fresh either v1.5.0
Fresh ascii v0.9.1
Fresh jni-sys v0.3.0
Fresh cesu8 v1.1.0
Fresh unreachable v1.0.0
Fresh log v0.4.6
Fresh winapi v0.3.6
Compiling backtrace-sys v0.1.28
Fresh libc v0.2.46
Running `C:\Users\My Username\CLionProjects\my_project\target\release\build\backtrace-sys-3bfde344967f80f2\build-script-build`
Fresh winapi-util v0.1.1
Fresh memchr v2.1.2
Fresh same-file v1.0.4
Fresh combine v3.6.6
Fresh walkdir v2.2.7
error: failed to run custom build command for `backtrace-sys v0.1.28`
process didn't exit successfully: `C:\Users\My Username\CLionProjects\my_project\target\release\build\backtrace-sys-3bfde344967f80f2\build-script-build` (exit code: 101)
--- stdout
cargo:rustc-cfg=rbt
TARGET = Some("aarch64-linux-android")
OPT_LEVEL = Some("3")
HOST = Some("x86_64-pc-windows-msvc")
CC_aarch64-linux-android = None
CC_aarch64_linux_android = None
TARGET_CC = None
CC = None
CFLAGS_aarch64-linux-android = None
CFLAGS_aarch64_linux_android = None
TARGET_CFLAGS = None
CFLAGS = None
running: "aarch64-linux-android-clang" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=aarch64-linux-android" "-I" "src/libbacktrace" "-I" "C:\\Users\\My Username\\CLionProjects\\my_project\\target\\aarch64-linux-android\\release\\build\\backtrace-sys-5aff8725b1b77839\\out" "-fvisibility=hidden" "-DBACKTRACE_ELF_SIZE=64" "-DBACKTRACE_SUPPORTED=1" "-DBACKTRACE_USES_MALLOC=1" "-DBACKTRACE_SUPPORTS_THREADS=0" "-DBACKTRACE_SUPPORTS_DATA=0" "-D_GNU_SOURCE=1" "-D_LARGE_FILES=1" "-Dbacktrace_full=__rbt_backtrace_full" "-Dbacktrace_dwarf_add=__rbt_backtrace_dwarf_add" "-Dbacktrace_initialize=__rbt_backtrace_initialize" "-Dbacktrace_pcinfo=__rbt_backtrace_pcinfo" "-Dbacktrace_syminfo=__rbt_backtrace_syminfo" "-Dbacktrace_get_view=__rbt_backtrace_get_view" "-Dbacktrace_release_view=__rbt_backtrace_release_view" "-Dbacktrace_alloc=__rbt_backtrace_alloc" "-Dbacktrace_free=__rbt_backtrace_free" "-Dbacktrace_vector_finish=__rbt_backtrace_vector_finish" "-Dbacktrace_vector_grow=__rbt_backtrace_vector_grow" "-Dbacktrace_vector_release=__rbt_backtrace_vector_release" "-Dbacktrace_close=__rbt_backtrace_close" "-Dbacktrace_open=__rbt_backtrace_open" "-Dbacktrace_print=__rbt_backtrace_print" "-Dbacktrace_simple=__rbt_backtrace_simple" "-Dbacktrace_qsort=__rbt_backtrace_qsort" "-Dbacktrace_create_state=__rbt_backtrace_create_state" "-Dbacktrace_uncompress_zdebug=__rbt_backtrace_uncompress_zdebug" "-o" "C:\\Users\\My Username\\CLionProjects\\my_project\\target\\aarch64-linux-android\\release\\build\\backtrace-sys-5aff8725b1b77839\\out\\src/libbacktrace\\alloc.o" "-c" "src/libbacktrace/alloc.c"
--- stderr
thread 'main' panicked at '
Internal error occurred: Failed to find tool. Is `aarch64-linux-android-clang` installed? (see https://github.com/alexcrichton/cc-rs#compile-time-requirements for help)
', C:\Users\My Username\.cargo\registry\src\github.com-1ecc6299db9ec823\cc-1.0.28\src\lib.rs:2314:5
stack backtrace:
0: std::sys::windows::backtrace::set_frames
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libstd\sys\windows\backtrace\mod.rs:104
1: std::sys::windows::backtrace::set_frames
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libstd\sys\windows\backtrace\mod.rs:104
2: std::sys_common::backtrace::_print
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libstd\sys_common\backtrace.rs:71
3: std::sys_common::backtrace::_print
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libstd\sys_common\backtrace.rs:71
4: std::panicking::default_hook::{{closure}}
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libstd\panicking.rs:211
5: std::panicking::default_hook
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libstd\panicking.rs:227
6: std::panicking::rust_panic_with_hook
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libstd\panicking.rs:476
7: std::panicking::continue_panic_fmt
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libstd\panicking.rs:390
8: std::panicking::begin_panic_fmt
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libstd\panicking.rs:345
9: cc::Tool::to_command
10: cc::Build::compile
11: core::ptr::drop_in_place
12: std::fs::File::create
13: std::rt::lang_start_internal::{{closure}}
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libstd\rt.rs:59
14: std::rt::lang_start_internal::{{closure}}
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libstd\rt.rs:59
15: panic_unwind::__rust_maybe_catch_panic
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libpanic_unwind\lib.rs:102
16: std::panicking::try
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libstd\panicking.rs:289
17: std::panicking::try
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libstd\panicking.rs:289
18: std::panicking::try
at /rustc/b6c32da9b0481e3e9d737153286b3ff8aa39a22c\src/libstd\panicking.rs:289
19: main
20: invoke_main
at d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
21: invoke_main
at d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
22: BaseThreadInitThunk
23: RtlUserThreadStart
My .cargo/config file:
[target.aarch64-linux-android]
ar = "C:/NDK/arm64/bin/aarch64-linux-android-ar"
linker = "C:/NDK/arm64/bin/aarch64-linux-android-clang"
[target.armv7-linux-androideabi]
ar = "C:/NDK/arm/bin/arm-linux-androideabi-ar"
linker = "C:/NDK/arm/bin/arm-linux-androideabi-clang"
[target.i686-linux-android]
ar = "C:/NDK/x86/bin/i686-linux-android-ar"
linker = "C:/NDK/x86/bin/i686-linux-android-clang"
[target.x86_64-linux-android]
ar = "C:/NDK/x86_64/bin/x86_64-linux-android-ar"
linker = "C:/NDK/x86_64/bin/x86_64-linux-android-clang"
I have to use .bat instead of .exe file
[target.aarch64-linux-android]
ar = "C:/NDK/arm64/bin/aarch64-linux-android-ar"
linker = "C:/NDK/arm64/bin/aarch64-linux-android-clang.cmd"
also env variables:
SET CC=C:\NDK\arm64\bin\aarch64-linux-android-clang.cmd
SET AR=C:\NDK\arm64\bin\aarch64-linux-android-ar

Resources