You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pegasus.apache.org by "empiredan (via GitHub)" <gi...@apache.org> on 2023/12/22 13:52:27 UTC

[I] Standby meta server exits abnormally with core dump after receiving http request "/meta/cluster" [incubator-pegasus]

empiredan opened a new issue, #1817:
URL: https://github.com/apache/incubator-pegasus/issues/1817

   It is found that after sending http request "/meta/cluster" to any standby meta server (for example, to sending request to a local meta server with port 34601, the command would be `curl -v 127.0.0.1:34601/meta/cluster`), it would exits abnormally with core dump. Running gdb over the core dump file would output following messages:
   ```
   root@d04a6b37202f:/data/code/incubator-pegasus/onebox/meta1# gdb /data/code/incubator-pegasus/onebox/meta1/pegasus_server 'core.1703160155. meta.default.4.149'
   Core was generated by `/data/code/incubator-pegasus/onebox/meta1/pegasus_server config.ini -app_list m'.
   Program terminated with signal SIGSEGV, Segmentation fault.
   #0  0x00007f686b5fb653 in dsn::replication::meta_http_service::get_cluster_info_handler (this=0x55da218de340, req=..., resp=...) at /data/code/incubator-pegasus/src/meta/meta_http_service.cpp:487
   487	        _service->_balancer->get_balance_operation_count(balance_operation_type));
   [Current thread is 1 (Thread 0x7f685f73a640 (LWP 423))]
   Installing openjdk unwinder
   Traceback (most recent call last):
     File "/usr/share/gdb/auto-load/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so-gdb.py", line 52, in <module>
       class Types(object):
     File "/usr/share/gdb/auto-load/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so-gdb.py", line 66, in Types
       nmethodp_t = gdb.lookup_type('nmethod').pointer()
   gdb.error: No type named nmethod.
   (gdb) bt
   #0  0x00007f686b5fb653 in dsn::replication::meta_http_service::get_cluster_info_handler (this=0x55da218de340, req=..., resp=...) at /data/code/incubator-pegasus/src/meta/meta_http_service.cpp:487
   #1  0x00007f686c1a89c7 in std::function<void (dsn::http_request const&, dsn::http_response&)>::operator()(dsn::http_request const&, dsn::http_response&) const (__args#1=..., __args#0=..., this=0x55da21f73660) at /usr/include/c++/11/bits/std_function.h:590
   #2  dsn::http_server::serve (this=<optimized out>, msg=0x55da220648f0) at /data/code/incubator-pegasus/src/http/http_server.cpp:152
   #3  0x00007f686c205d6b in std::function<void (dsn::message_ex*)>::operator()(dsn::message_ex*) const (__args#0=<optimized out>, this=0x55da219387d0) at /usr/include/c++/11/bits/std_function.h:586
   #4  dsn::rpc_request_task::exec (this=0x55da21938700) at /data/code/incubator-pegasus/src/runtime/task/task.h:435
   #5  0x00007f686c2083cf in dsn::task::exec_internal (this=0x55da21938700) at /data/code/incubator-pegasus/src/runtime/task/task.cpp:173
   #6  0x00007f686c22285a in dsn::task_worker::loop (this=0x55da21f44f00) at /data/code/incubator-pegasus/src/runtime/task/task_worker.cpp:245
   #7  0x00007f686a031253 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
   #8  0x00007f6869cbaac3 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
   #9  0x00007f6869d4bbf4 in clone () from /lib/x86_64-linux-gnu/libc.so.6
   (gdb) f 1
   #1  0x00007f686c1a89c7 in std::function<void (dsn::http_request const&, dsn::http_response&)>::operator()(dsn::http_request const&, dsn::http_response&) const (__args#1=..., __args#0=..., this=0x55da21f73660) at /usr/include/c++/11/bits/std_function.h:590
   590		return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
   (gdb) f 0
   #0  0x00007f686b5fb653 in dsn::replication::meta_http_service::get_cluster_info_handler (this=0x55da218de340, req=..., resp=...) at /data/code/incubator-pegasus/src/meta/meta_http_service.cpp:487
   487	        _service->_balancer->get_balance_operation_count(balance_operation_type));
   (gdb) list
   482	        _meta_function_level_VALUES_TO_NAMES.find(_service->get_function_level())->second + 3);
   483	    std::vector<std::string> balance_operation_type;
   484	    balance_operation_type.emplace_back("detail");
   485	    tp.add_row_name_and_data(
   486	        "balance_operation_count",
   487	        _service->_balancer->get_balance_operation_count(balance_operation_type));
   488	    double primary_stddev, total_stddev;
   489	    _service->_state->get_cluster_balance_score(primary_stddev, total_stddev);
   490	    tp.add_row_name_and_data("primary_replica_count_stddev", primary_stddev);
   491	    tp.add_row_name_and_data("total_replica_count_stddev", total_stddev);
   (gdb) p _service
   $1 = (dsn::replication::meta_service *) 0x55da21aaa000
   (gdb) p _service->_balancer
   $2 = std::shared_ptr<dsn::replication::server_load_balancer> (empty) = {get() = 0x0}
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@pegasus.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pegasus.apache.org
For additional commands, e-mail: dev-help@pegasus.apache.org


Re: [I] Standby meta server exits abnormally with core dump after receiving http request "/meta/cluster" [incubator-pegasus]

Posted by "empiredan (via GitHub)" <gi...@apache.org>.
empiredan closed issue #1817: Standby meta server exits abnormally with core dump after receiving http request "/meta/cluster" 
URL: https://github.com/apache/incubator-pegasus/issues/1817


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@pegasus.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pegasus.apache.org
For additional commands, e-mail: dev-help@pegasus.apache.org


Re: [I] Standby meta server exits abnormally with core dump after receiving http request "/meta/cluster" [incubator-pegasus]

Posted by "empiredan (via GitHub)" <gi...@apache.org>.
empiredan commented on issue #1817:
URL: https://github.com/apache/incubator-pegasus/issues/1817#issuecomment-1868781656

   This issue has been fixed by https://github.com/apache/incubator-pegasus/pull/1816.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@pegasus.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pegasus.apache.org
For additional commands, e-mail: dev-help@pegasus.apache.org