Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
litespeed_wiki:config:bug-reporting [2017/11/01 15:41]
Lisa Clarke Proofreading
litespeed_wiki:config:bug-reporting [2025/06/02 19:55] (current)
Lisa Clarke Redirect to new Documentation Site
Line 1: Line 1:
-====== How to submit a bug report ====== +~~REDIRECT>https://docs.litespeedtech.com/lsws/cp/cpanel/​bug-report/​~~
-To submit a useful bug report you need to provide as much information as you can, including:​ +
- +
-  * Your Server OS (Linux/​FreeBSD/​Solaris/​MacOSX) +
-  * CPU/​Processor family (32bit/​64bit) +
-  * If you think LSWS does not work properly with a certain feature, you should provide as detailed information as possible on the feature and how you use it, so we can reproduce the problem in our lab. +
-  * If lshttpd crashed, LSWS Enterprise users should switch to the debug build of lshttpd, then submit the debug report generated and a core file if possible. +
-  * GDB backtrace information on core file. +
- +
-If you receive some email alert on the crash, you can forward that email to us. If not, you can use ''​gdb''​ to backtrace the crash and send to us for further investigation. If the error log shows the server crashed but no core file was generated, you may need to enable a core dump for your system and reboot your server. +
-===== Debug build of LSWS Enterprise ​ ===== +
- +
-Starting from version 5.0.x, you do not need a separate debug build since the production LSWS binary installed has debug info enabled by default. It has no impact on your server performance. +
- +
-For versions earlier than 5.0, there are two versions of the lshttpd binary shipped in the LSWS Enterprise package. One is the release build. The other is the debug build. The debug build is not normally used when you run LSWS, but, when debugging, the GDB stack backtrace and core file generated by the debug build will be used for bug analysis and bug fixes. If there is no debug build of lshttpd binary in your current installation,​ you can download the related version and arch of the debug build through the following command:  +
-  /​usr/​local/​lsws/​admin/​misc/​lsup.sh -d -f -v <​your_lsws_version> +
- +
-===== How to enable a core dump ===== +
- +
-==== For PHP ==== +
-By default, core dumping is disabled in LSAPI PHP external applications. To enable it, you need to add an environment variable to your LSPHP external application configuration (**WebAdmin console > Configuration > External App > your external application > Environment**): +
- +
-  LSAPI_ALLOW_CORE_DUMP=1 +
- +
-==== Server-wide ==== +
-If you only need a particular program to be troubleshooted,​ you can use soft limits: +
-  ulimit -S -c +
- +
-Edit ''​/etc/security/​limits.conf''​ and add the following line at the bottom of the file (before ''#​ End of file''​) +
- +
-<​code>​* ​             soft    core            unlimited</​code>​ +
- +
-Check ulimit core file size value. It should be unlimited. +
-  ulimit -c +
-  -> unlimited +
- +
-Core dumping is generally disabled by default on Linux. The following guide will lead you through the steps necessary to enable it: [[https://​linux-audit.com/​understand-and-configure-core-dumps-work-on-linux/​|How to enable core dump for Linux]] +
- +
-===== Install GDB and backtrace the core file ===== +
-Install GDB on your server if not installed yet, and use the syntax ''​gdb /usr/local/lsws/bin/litespeed <path/to/​core/​file>''​ to check the debug infomation in core file. +
- +
-Once you have opened the core file with GDB, use the ''​bt''​ command to print a backtrace of the stack (the steps that the application took leading up to the crash). This will often reveal what caused the crash. ​  +
- +
-You can forward the above backtrace information + core files to [[bug@litespeedtech.com]] . +
- +
-===== Email Alert ===== +
-If you enable email alert on your server and GDB is enabled, you should receive some alert email like the following. You can forward the email to [[bug@litespeedtech.com]]. +
- +
-  ##---------- Forwarded message ----------##​ +
-  From: root <​root@example.com>​ +
-  To: root@localhost +
-  Cc: +
-  Bcc: +
-  Date: Wed, 01 Nov 2017 01:00:27 -0500 +
-  Subject: Web server example.com on example.com +
-  automatically restarted +
-  At [01/​Nov/​2017:​01:​00:​25 -0500], web server with pid=12964 received +
-  unexpected signal=11, a core file has been created. A new instance of web +
-  server will be started automatically! +
-  Please forward the following debug information to [[bug@litespeedtech.com]]. +
-  Environment:​ +
-  Server: LiteSpeed/​5.2.2 Enterprise Build 2 +
-  OS: Linux +
-  Release: 3.10.0-693.5.2.el7.x86_64 +
-  Version: #1 SMP Fri Oct 20 20:32:50 UTC 2017 +
-  Machine: x86_64 +
-  If the call stack information does not show up here, please compress and +
-  forward the core file located in /​tmp/​lshttpd/​. +
-  [New LWP 12964] +
-  [New LWP 12971] +
-  [New LWP 12972] +
-  [Thread debugging using libthread_db enabled] +
-  Using host libthread_db library "/​lib64/​libthread_db.so.1"​. +
-  Core was generated by `litespeed'​. +
-  Program terminated with signal 11, Segmentation fault. +
-  #0 0x0000000000607440 in lsShm_hElem_s::​getLruLinkPtr (this=0x0) at +
-  /​home/​gwang/​release/​litespeed/​src/​shm/​lsshmhash.h:​102 +
-  #0 0x0000000000607440 in lsShm_hElem_s::​getLruLinkPtr (this=0x0) at +
-  /​home/​gwang/​release/​litespeed/​src/​shm/​lsshmhash.h:​102 +
-  No locals. +
-  #1 0x00000000006a6553 in lsShm_hElem_s::​setLruLinkNext (this=0x0, off=...) +
-  at /​home/​gwang/​release/​litespeed/​src/​shm/​lsshmhash.h:​110 +
-  No locals. +
-  #2 0x00000000006a681c in LsShmHash::​set_linkNext (this=0x144a880,​ +
-  offThis=...,​ offNext=...) at +
-  /​home/​gwang/​release/​litespeed/​src/​shm/​lsshmhash.h:​686 +
-  No locals. +
-  #3 0x00000000006a5953 in LsShmHash::​linkSetTop (this=0x144a880,​ +
-  pElem=0x7f7d53dc4b80,​ offElem=...) at +
-  /​home/​gwang/​release/​litespeed/​src/​shm/​lsshmhash.cpp:​1581 +
-  pLru = 0x7f7d53d00a1c +
-  prev = {m_iOffset = 610112} +
-  __PRETTY_FUNCTION__ = "void LsShmHash::​linkSetTop(LsShmHElem*,​ +
-  LsShmHash::​iteroffset)"​ +
-  pLink = 0x7f7d53dc4b9c +
-  next = {m_iOffset = 12479344} +
-  #4 0x00000000006a34c1 in LsShmHash::​doGet (this=0x144a880,​ iterOff=...,​ +
-  key=4039776365,​ pParms=0x7ffd84259560,​ pFlag=0x7ffd84259614) at +
-  /​home/​gwang/​release/​litespeed/​src/​shm/​lsshmhash.cpp:​809 +
-  iter = 0x7f7d53dc4b80 +
-  #5 0x00000000006a4a9a in LsShmHash::​getPtr (pThis=0x144a880,​ +
-  pParms=0x7ffd84259560,​ pFlag=0x7ffd84259614) at +
-  /​home/​gwang/​release/​litespeed/​src/​shm/​lsshmhash.cpp:​1206 +
-  key = 4039776365 +
-  iterOff = {m_iOffset = 805760} +
-  #6 0x000000000069f9fb in LsShmHash::​getIterator (this=0x144a880,​ +
-  pParms=0x7ffd84259560,​ pFlag=0x7ffd84259614) at +
-  /​home/​gwang/​release/​litespeed/​src/​shm/​lsshmhash.h:​401 +
-  iterOff = {m_iOffset = 44971056} +
-  #7 0x000000000069f8fd in LsShmHash::​get (this=0x144a880,​ pKey=0x2ae3430,​ +
-  keyLen=8, valLen=0x7ffd84259618,​ pFlag=0x7ffd84259614) at +
-  /​home/​gwang/​release/​litespeed/​src/​shm/​lsshmhash.h:​323 +
-  iterOff = {m_iOffset = 2217055712} +
-  parms = {key = {ptr = 0x2ae3430 "​\357\t\304\330\326\373e8",​ len = +
-  8}, val = {ptr = 0x0, len = 12}} +
-  iter = 0x2ae3430 +
-  #8 0x000000000069f2bb in ShmCacheManager::​addTracking2 (this=0x15024a0,​ +
-  pEntry=0x2ae3410,​ pTracker=0x144a880) at +
-  /​home/​gwang/​release/​litespeed/​src/​cache/​shmcachemanager.cpp:​1141 +
-  pData = 0x943b51 +
-  valLen = 12 +
-  flag = 0 +
-  offVal = 0 +
-  #9 0x000000000069f248 in ShmCacheManager::​addTracking (this=0x15024a0,​ +
-  pEntry=0x2ae3410) at +
-  /​home/​gwang/​release/​litespeed/​src/​cache/​shmcachemanager.cpp:​1128 +
-  pTracker = 0x144a880 +
-  #10 0x000000000055baef in HttpSession::​preparePageCache (this=0x30f9ea0) at +
-  /​home/​gwang/​release/​litespeed/​src/​http/​httpsession.cpp:​6463 +
-  pEntry = 0xfffffffffffffffe +
-  pIP = 0x0 +
-  ipLen = 0 +
-  age = 604800 +
-  priv_cache = 0 +
-  pResp = 0x30fa358 +
-  pCtx = 0x149afd0 +
-  #11 0x0000000000555d79 in HttpSession::​setupDynRespBody (this=0x30f9ea0,​ +
-  prepareCache=1) at +
-  /​home/​gwang/​release/​litespeed/​src/​http/​httpsession.cpp:​4439 +
-  No locals. +
-  #12 0x0000000000556641 in HttpSession::​appendDynBody (this=0x30f9ea0,​ +
-  pBuf=0xd7b420 <​HttpGlobals::​g_achBuf>​ "<​!DOCTYPE html>​\n<​html +
-  lang=\"​en-US\"​ prefix=\"​og:​ http://​ogp.me/​ns#​ fb: +
-  http://​ogp.me/​ns/​fb#​\">​\n<​head +
-  >​\n<​meta charset=\"​UTF-8\"​ />​\n<​title>​My Bookmark - +
-  MyReadingManga</​title><​meta name=\"​viewport\"​ content=\"​w"​...,​ len=16384) +
-  at /​home/​gwang/​release/​litespeed/​src/​http/​httpsession.cpp:​4631 +
-  buffered = 32765 +
-  ret = 0 +
-  #13 0x000000000056eec8 in HttpExtConnector::​processRespBodyData +
-  (this=0x14a4800,​ pBuf=0xd7b420 <​HttpGlobals::​g_achBuf>​ "<​!DOCTYPE +
-  html>​\n<​html lang=\"​en-US\"​ prefix=\"​og:​ http://​ogp.me/​ns#​ fb: +
-  http://​ogp.me/​ns/​fb#​\">​\n<​head >​\n<​meta charset=\"​UTF-8\"​ />​\n<​title>​My +
-  Bookmark - MyReadingManga</​title><​meta name=\"​viewport\"​ content=\"​w"​...,​ +
-  len=16384) at +
-  /​home/​gwang/​release/​litespeed/​src/​http/​httpextconnector.cpp:​371 +
-  ret = 16384 +
-  #14 0x000000000066d7f7 in LsapiConn::​readRespBody (this=0x314a9e0) at +
-  /​home/​gwang/​release/​litespeed/​src/​extensions/​lsapi/​lsapiconn.cpp:​943 +
-  len = 0 +
-  packetLen = 16384 +
-  pBuf = 0xd7b420 <​HttpGlobals::​g_achBuf>​ "<​!DOCTYPE html>​\n<​html +
-  lang=\"​en-US\"​ prefix=\"​og:​ http://​ogp.me/​ns#​ fb: +
-  http://​ogp.me/​ns/​fb#​\">​\n<​head +
-  >​\n<​meta charset=\"​UTF-8\"​ />​\n<​title>​My Bookmark - +
-  MyReadingManga</​title><​meta name=\"​viewport\"​ content=\"​w"​... +
-  toRead = 16384 +
-  pHEC = 0x14a4800 +
-  ret = 16384 +
-  bufLen = 16384 +
-  respState = @0x14a4874: 526339 +
-  total = 16384 +
-  #15 0x000000000066cb13 in LsapiConn::​processResp (this=0x314a9e0) at +
-  /​home/​gwang/​release/​litespeed/​src/​extensions/​lsapi/​lsapiconn.cpp:​683 +
-  ret = 8 +
-  count = 2 +
-  #16 0x000000000066c2c3 in LsapiConn::​doRead (this=0x314a9e0) at +
-  /​home/​gwang/​release/​litespeed/​src/​extensions/​lsapi/​lsapiconn.cpp:​361 +
-  ret = 0 +
-  #17 0x000000000067e727 in ExtConn::​onRead (this=0x314a9e0) at +
-  /​home/​gwang/​release/​litespeed/​src/​extensions/​extconn.cpp:​344 +
-  ret = 0 +
-  #18 0x000000000068720f in EdStream::​handleEvents (this=0x314a9e0,​ event=1) +
-  at /​home/​gwang/​release/​litespeed/​src/​edio/​ediostream.cpp:​70 +
-  ret = 0 +
-  #19 0x000000000068b6e2 in epoll::​processEvents (this=0x135fa80,​ events=1) +
-  at /​home/​gwang/​release/​litespeed/​src/​edio/​epoll.cpp:​371 +
-  fd = 76 +
-  pReactor = 0x314a9e0 +
-  p = 0x1370130 +
-  __PRETTY_FUNCTION__ = "​virtual int epoll::​processEvents(int)"​ +
-  #20 0x000000000068b5c5 in epoll::​waitAndProcessEvents (this=0x135fa80,​ +
-  iTimeoutMilliSec=100) at +
-  /​home/​gwang/​release/​litespeed/​src/​edio/​epoll.cpp:​344 +
-  ret = 1 +
-  #21 0x000000000054192d in EventDispatcher::​run (this=0x1345c78) at +
-  /​home/​gwang/​release/​litespeed/​src/​http/​eventdispatcher.cpp:​244 +
-  ret = 1 +
-  evt_waiting = 0 +
-  sigEvent = 0 +
-  errors = 0 +
-  pQuicEngine = 0x13a3a50 +
-  #22 0x00000000004ef55b in HttpServerImpl::​start (this=0x1345c50) at +
-  /​home/​gwang/​release/​litespeed/​src/​main/​httpserver.cpp:​529 +
-  No locals. +
-  #23 0x00000000004f2bfa in HttpServer::​start (this=0xd752d0 +
-  <​TSingleton<​HttpServer>::​getInstance()::​s_instance>​) at +
-  /​home/​gwang/​release/​litespeed/​src/​main/​httpserver.cpp:​2031 +
-  No locals. +
-  #24 0x00000000004e83d1 in LshttpdMain::​main (this=0x1345870,​ argc=1, +
-  argv=0x7ffd84259ca8) at +
-  /​home/​gwang/​release/​litespeed/​src/​main/​lshttpdmain.cpp:​1950 +
-  ret = 0 +
-  #25 0x00000000004e36e6 in main (argc=1, argv=0x7ffd84259ca8) at +
-  /​home/​gwang/​release/​litespeed/​src/​main.cpp:​140 +
-  ret = 0 +
-  rax 0x0 0 +
-  rbx 0x1345870 20207728 +
-  rcx 0x7f7d53d00a1c 140176253782556 +
-  rdx 0x10 16 +
-  rsi 0xc4b80 805760 +
-  rdi 0x0 0 +
-  rbp 0x7ffd84259bc0 0x7ffd84259bc0 +
-  rsp 0x7ffd84259b90 0x7ffd84259b90 +
-  r8 0x7ffd84259614 140726820509204 +
-  r9 0x7f7d59fca340 140176357368640 +
-  r10 0x4 4 +
-  r11 0x7f7d5a0032d0 140176357602000 +
-  r12 0x4e3578 5125496 +
-  r13 0x7ffd84259ca0 140726820510880 +
-  r14 0x0 0 +
-  r15 0x0 0 +
-  rip 0x4e36e6 0x4e36e6 <​main(int,​ char**)+102>​ +
-  eflags 0x10206 [ PF IF RF ] +
-  cs 0x33 51 +
-  ss 0x2b 43 +
-  ds 0x0 0 +
-  es 0x0 0 +
-  fs 0x0 0 +
-  gs 0x0 0 +
-===== Where to send the bug report ​===== +
-Bug reports can be sent to our [[bug@litespeedtech.com|bug report email]]. +
- +
-We recommend that Enterprise customers use our ticket system (accessible from [[https://​store.litespeedtech.com/​store/​clientarea.php|the client area]]) for their bug reports.+
  • Admin
  • Last modified: 2017/11/01 15:41
  • by Lisa Clarke