double free when stoping a https server

"Chun Tian (binghe)" <[email protected]> Wed, 23 Mar 2011 19:16:47 +0800
Newsgroups gmane.lisp.cl-http
Message-ID <[email protected]>
Hi, CL-HTTP

I found my HTTPS server always throw following double free (or corruption) error when stoping a HTTPS server, please take a look at it:

WIRELESS 7 > (lw:quit)
[2011-03-23 19:12:44]  HTTPS Service Disabled for: https://192.168.130.101:8443/*** glibc detected *** ./wireless-base-2: double free or corruption (fasttop): 0x00000000023d57c0 ***
======= Backtrace: =========
/lib/libc.so.6(+0x71ad6)[0x7f42796a4ad6]
/lib/libc.so.6(cfree+0x6c)[0x7f42796a984c]
[0x40000503ca]
======= Memory map: ========
00400000-00409000 r-xp 00000000 08:0b 268798102                          /home/binghe/lisp/projects/wireless/wireless-base-2
00508000-0050a000 rw-p 00008000 08:0b 268798102                          /home/binghe/lisp/projects/wireless/wireless-base-2
023a7000-024ad000 rw-p 023a7000 00:00 0                                  [heap]
4000000000-40000ba000 rwxp 044c0000 08:0b 268798102                      /home/binghe/lisp/projects/wireless/wireless-base-2
40000ba000-4010000000 ---p 40000ba000 00:00 0 
4010000000-4010101000 rwxp 4010000000 00:00 0 
4010101000-4020000000 ---p 4010101000 00:00 0 
4020000000-4020027000 rwxp 4020000000 00:00 0 
4020027000-4030000000 ---p 4020027000 00:00 0 
4030000000-4030404000 rwxp 4030000000 00:00 0 
4030404000-4040000000 ---p 4030404000 00:00 0 
4040000000-4040034000 rwxp 045c0000 08:0b 268798102                      /home/binghe/lisp/projects/wireless/wireless-base-2
4040034000-4040234000 rwxp 4040034000 00:00 0 
4040234000-4050000000 ---p 4040234000 00:00 0 
4050000000-4050100000 rwxp 04660000 08:0b 268798102                      /home/binghe/lisp/projects/wireless/wireless-base-2
4050100000-4050200000 rwxp 4050100000 00:00 0 
4050200000-4060000000 ---p 4050200000 00:00 0 
4060000000-406043a000 rwxp 4060000000 00:00 0 
406043a000-4070000000 ---p 406043a000 00:00 0 
4070000000-4071001000 rwxp 4070000000 00:00 0 
4071001000-4080000000 ---p 4071001000 00:00 0 
4080000000-4080819000 rwxp 4080000000 00:00 0 
4080819000-4090000000 ---p 4080819000 00:00 0 
4090000000-4090013000 rwxp 04600000 08:0b 268798102                      /home/binghe/lisp/projects/wireless/wireless-base-2
4090013000-40a0000000 ---p 4090013000 00:00 0 
40a0000000-40a0008000 rwxp 40a0000000 00:00 0 
40a0008000-40b0000000 ---p 40a0008000 00:00 0 
40b0000000-40b0009000 rwxp 044b0000 08:0b 268798102                      /home/binghe/lisp/projects/wireless/wireless-base-2
40b0009000-40c0000000 ---p 40b0009000 00:00 0 
40c0000000-40c1019000 rwxp 40c0000000 00:00 0 
40c1019000-40d0000000 ---p 40c1019000 00:00 0 
40d0000000-40d0809000 rwxp 40d0000000 00:00 0 
40d0809000-40e0000000 ---p 40d0809000 00:00 0 
40e0000000-40e0f6f000 rwxp 00010000 08:0b 268798102                      /home/binghe/lisp/projects/wireless/wireless-base-2
40e0f6f000-40f0000000 ---p 40e0f6f000 00:00 0 
40f0000000-40f050c000 rwxp 00f80000 08:0b 268798102                      /home/binghe/lisp/projects/wireless/wireless-base-2
40f050c000-4100000000 ---p 40f050c000 00:00 0 
4100000000-410139a000 rwxp 01490000 08:0b 268798102                      /home/binghe/lisp/projects/wireless/wireless-base-2
410139a000-4110000000 ---p 410139a000 00:00 0 
4110000000-4110454000 rwxp 02830000 08:0b 268798102                      /home/binghe/lisp/projects/wireless/wireless-base-2
4110454000-4120000000 ---p 4110454000 00:00 0 
4120000000-4120801000 rwxp 4120000000 00:00 0 
4120801000-4130000000 ---p 4120801000 00:00 0 
4130000000-4130809000 rwxp 4130000000 00:00 0 
4130809000-4140000000 ---p 4130809000 00:00 0 
4140000000-4140209000 rwxp 4140000000 00:00 0 
4140209000-4150000000 ---p 4140209000 00:00 0 
4150000000-4150209000 rwxp 4150000000 00:00 0 
4150209000-4160000000 ---p 4150209000 00:00 0 
4160000000-4160001000 rwxp 4160000000 00:00 0 
4160001000-4170000000 ---p 4160001000 00:00 0 
4170000000-4171813000 rwxp 02c90000 08:0b 268798102                      /home/binghe/lisp/projects/wireless/wireless-base-2
4171813000-4180000000 ---p 4171813000 00:00 0 
4250000000-4250039000 rwxp 04580000 08:0b 268798102                      /home/binghe/lisp/projects/wireless/wireless-base-2
4250039000-4260000000 ---p 4250039000 00:00 0 
7f426c000000-7f426c021000 rw-p 7f426c000000 00:00 0 
7f426c021000-7f4270000000 ---p 7f426c021000 00:00 0 
7f4272cb2000-7f4272cb3000 ---p 7f4272cb2000 00:00 0 
7f4272cb3000-7f42734b3000 rw-p 7f4272cb3000 00:00 0 
7f42734b3000-7f42734b4000 ---p
Error: Abort(6) [code 0] at 7F4279665165
rax            0 ; rbx          400 ; rcx FFFFFFFFFFFFFFFF ; rdx            6
rsp 7FFFEBA0DA38 ; rbp 7FFFEBA0E480 ; rdi         2FF2 ; rsi         2FF2
r8             0 ; r9          2FF2 ; r10            8 ; r11          202
r12            7 ; r13 7FFFEBA0DD60 ; r14           66 ; r15            7
  1 (continue) Exit without finishing the cleanup
  2 (abort) Return to level 0.
  3 Restart top-level loop.

Type :b for backtrace or :c <option number> to proceed.
Type :bug-form "<subject>" for a bug report template or :? for other options.

CL-USER 2 : 1 > :bb
#<The COMMON-LISP-USER package, 150/256 internal, 0/4 external>

Condition: Abort(6) [code 0] at 7F4279665165
rax            0 ; rbx          400 ; rcx FFFFFFFFFFFFFFFF ; rdx            6
rsp 7FFFEBA0DA38 ; rbp 7FFFEBA0E480 ; rdi         2FF2 ; rsi         2FF2
r8             0 ; r9          2FF2 ; r10            8 ; r11          202
r12            7 ; r13 7FFFEBA0DD60 ; r14           66 ; r15            7

Call to ERROR (offset 119)
  SYSTEM::ESTRING : SYSTEM::EXCEPTION
  SYSTEM::EARGS   : (:SIGNAL 6 :CODE 0 :ADDRESS 139923481317733 :SCP #(0 12274 8 514 7 140737146576224 102 7 12274 12274 140737146578048 1024 6 0 18446744073709551615 140737146575416 139923481317733 514 51 0 0 2147483648 0 5282624 139923434838112 140737146574736 139923482181664 0 0 18446744069414584320 139923489047184 139923387269120 386465143092937599 281052993141 275951775616 281470681751456 0 0 0 0 0 0 0 0 0 0 9223372036854775808 16383 11805916207174107907 16376 11805916207174107907 16376 0 0 0 0 16711680 255 0 4278190080 0 0 0 0 4576918229304087672 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1108606976 0 0 0 0 0 0 0 0 0 0 0 0 0 6))

Call to SYSTEM::CALL-ERROR-FOR-EXCEPTION (offset 68)

Call to SYSTEM::SIGNAL-EXCEPTION-ERROR (offset 553)

Binding frame:
  SYSTEM::*LISP-SIGNAL-ERROR-ON-UNKNOWN* : NIL

Call to (SUBFUNCTION SYSTEM::|%FOREIGN-CALLABLE/lisp_signal_error_on_c_stack| (FLI:DEFINE-FOREIGN-CALLABLE "lisp_signal_error_on_c_stack")) (offset 47)
  FLI::%FOREIGN-CALL-STACK% : :DONT-KNOW

Catch frame: "<* Catch All Object *>"

Binding frame:
  SYSTEM::*C-CALL-CHAIN* : NIL

Call to SYSTEM::IN-ENTRY-FROM-C (offset 556)

Call to FLI::QUICK-FREE (offset 99)
  FLI::PTR : #<Pointer: COMM:X509-NAME-POINTER-STACK = #x023D57C0>

Call to FLI:FREE-FOREIGN-OBJECT (offset 71)
  FLI::POINTER : #<Pointer: COMM:X509-NAME-POINTER-STACK = #x023D57C0>

Call to (METHOD HTTP::SSL-CTX-DEINITIALIZE (HTTP::HTTPS-SERVICE)) (offset 336)
  HTTP::SERVICE : #<HTTP::HTTPS-SERVICE 8443 (192.168.130.101) Stopped 406000DD03>
  DBG::|or-|    : NIL

Call to (METHOD HTTP::DEINITIALIZE-SERVICE :AFTER (HTTP::HTTPS-SERVICE)) (offset 32)
  HTTP::SERVICE : #<HTTP::HTTPS-SERVICE 8443 (192.168.130.101) Stopped 406000DD03>

Binding frame:
  CLOS::*NEXT-METHODS* : NIL

Call to (METHOD HTTP::%UNREGISTER-SERVICE (HTTP::SERVICE)) (offset 349)
  HTTP::SERVICE : #<HTTP::HTTPS-SERVICE 8443 (192.168.130.101) Stopped 406000DD03>
  HTTP::ENTRY   : (8443 . #<HTTP::HTTPS-SERVICE 8443 (192.168.130.101) Stopped 406000DD03>)
  URL:PORT      : 8443

Call to (METHOD HTTP::%CLEAR-SERVICE (HTTP::SERVICE)) (offset 50)
  HTTP::SERVICE : #<HTTP::HTTPS-SERVICE 8443 (192.168.130.101) Stopped 406000DD03>

Call to (SUBFUNCTION 1 HTTP::MAP-SERVICES-IF) (offset 110)
  HTTP::ENTRY        : (8443 . #<HTTP::HTTPS-SERVICE 8443 (192.168.130.101) Stopped 406000DD03>)
  FUNCTION  {Closed} : #<STANDARD-GENERIC-FUNCTION HTTP::%CLEAR-SERVICE 4170D196D4>

Call to MAPC (offset 181)
  FUNCTION           : #<Closure 1 subfunction of HTTP::MAP-SERVICES-IF 404001E9EC>
  LIST               : ((8443 . #<HTTP::HTTPS-SERVICE 8443 (192.168.130.101) Stopped 406000DD03>))
  SYSTEM::MORE-LISTS : NIL

Call to HTTP::MAP-SERVICES-IF (offset 178)
  HTTP::PREDICATE  {Closing} : T
  FUNCTION  {Closing}        : #<STANDARD-GENERIC-FUNCTION HTTP::%CLEAR-SERVICE 4170D196D4>

Call to HTTP::MAP-SERVICES (offset 200)
  CASE     : :ALL
  FUNCTION : #<STANDARD-GENERIC-FUNCTION HTTP::%CLEAR-SERVICE 4170D196D4>

Call to HTTP::CLEAR-ALL-SERVICES (offset 98)

Call to HTTP::SHUTDOWN-HTTP-SERVICE (offset 74)
  DBG::G : ((8443 . #<HTTP::HTTPS-SERVICE 8443 (192.168.130.101) Stopped 406000DD03>))

Call to SYSTEM::%EVAL (offset 155)
  EXP : (HTTP::SHUTDOWN-HTTP-SERVICE)

Tag environment contour:
Block environment contour:
Function environment contour
Variable environment contour: ()
Call to EVAL (offset 228)
  EXP                       : (HTTP::SHUTDOWN-HTTP-SERVICE)
  SYSTEM::%VENV%  {Special} : NIL
  SYSTEM::%FENV%  {Special} : NIL
  SYSTEM::%BENV%  {Special} : NIL
  SYSTEM::%GENV%  {Special} : NIL

Call to WWW-UTILS:RUN-INITIALIZATIONS (offset 325)
  WWW-UTILS::LIST-NAME         : HTTP:*SHUTDOWN-INITIALIZATION-LIST*
  WWW-UTILS::REDO-FLAG         : NIL
  WWW-UTILS::ENTRY             : ("Shutdown CL-HTTP" (HTTP::SHUTDOWN-HTTP-SERVICE) NIL :NORMAL)
  DBG::|tail-|                 : (("Close All Log File Streams" (HTTP:CLOSE-ALL-LOGS) NIL :NORMAL))
  WWW-UTILS::FORM              : (HTTP::SHUTDOWN-HTTP-SERVICE)
  WWW-UTILS::DONE-P            : NIL
  SYSTEM::%%LOOP-IT-VARIABLE%% : T

Call to HTTP::RUN-SHUTDOWN-INITIALIZATIONS (offset 54)
  HTTP::REDO-FLAG : NIL

Catch frame: (SYSTEM::DEFAULT-ACTION-LIST-EXECUTION-FUNCTION . 1)

Call to SYSTEM::DEFAULT-ACTION-LIST-EXECUTION-FUNCTION (offset 1245)
  SYSTEM::THE-ACTION-LIST : #<SYSTEM::ACTION-LIST "When quitting image" 41005EA153>
  SYSTEM::OTHER-ARGS-LIST : NIL
  DBG::|rest-|            : (:IGNORE-ERRORS-P NIL)
  SYSTEM::POST-PROCESS    : NIL
  SYSTEM::IGNORE-ERRORS-P : NIL

Call to SYSTEM::EXECUTE-ACTIONS-INTERNAL (offset 644)
  SYSTEM::LIST-OR-NAME    : (#1="When quitting image" #<SYSTEM::ACTION-LIST #1# 41005EA153> SYSTEM::|Action Tuple 2|)
  SYSTEM::OTHER-ARGS-LIST : NIL
  SYSTEM::KEYWORD-PAIRS   : (:IGNORE-ERRORS-P NIL)

Binding frame:
  SYSTEM::*DOING-QUIT-ACTIONS* : NIL

Catch frame: (SYSTEM::IN-QUIT-CLEANUP . RESTART-CASE)

Catch frame: (SYSTEM::IN-QUIT-CLEANUP . 1)

Call to SYSTEM::IN-QUIT-CLEANUP (offset 890)
  SYSTEM::IGNORE-ERRORS-P : NIL

Call to SYSTEM::IN-QUIT (offset 61)
  SYSTEM::STATUS          : 0
  SYSTEM::IGNORE-ERRORS-P : NIL

Call to MP:INITIALIZE-MULTIPROCESSING (offset 82)
  MP::MAIN-PROCESS-ARGS : NIL

Call to COLD-START (offset 251)

Call to SYSTEM::%EVAL (offset 155)
  EXP : (COLD-START)


SYSTEM::%EVAL <- EVAL <- SYSTEM::DO-EVALUATION
<- SYSTEM::%TOP-LEVEL-INTERNAL <- SYSTEM::%TOP-LEVEL
<- SYSTEM::IN-START-FUNCTION-ONCE <- SYSTEM::IN-START-FUNCTION
<- SYSTEM::START-FUNCTION
T


_______________________________________________
WWW-CL mailing list
[email protected]
https://lists.csail.mit.edu/mailman/listinfo/www-cl