[MDEV-24856] Server crashes when wsrep_provider_options set to NULL Created: 2021-02-12  Updated: 2021-02-15  Resolved: 2021-02-13

Status: Closed
Project: MariaDB Server
Component/s: Galera, Tests
Affects Version/s: 10.4, 10.5, 10.6
Fix Version/s: 10.4.19, 10.5.10

Type: Bug Priority: Major
Reporter: Ramesh Sivaraman Assignee: Jan Lindström (Inactive)
Resolution: Fixed Votes: 0
Labels: not-10.2, not-10.3


 Description   

SET GLOBAL wsrep_provider_options=NULL;

Leads to:

10.6.0 b19ec8848c9463b86d62601dffb67c75e3dfbd70 (Debug)

Core was generated by `/test/GAL_MD120221-mariadb-10.6.0-linux-x86_64-dbg/bin/mysqld --defaults-file=/'.
Program terminated with signal SIGABRT, Aborted.
#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
    at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
[Current thread is 1 (Thread 0x14e0c4828700 (LWP 1699464))]
(gdb) bt
#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
#1  0x0000563627b7ee4f in my_write_core (sig=sig@entry=6) at /test/10.6_dbg/mysys/stacktrace.c:424
#2  0x00005636273122e5 in handle_fatal_signal (sig=6) at /test/10.6_dbg/sql/signal_handler.cc:330
#3  <signal handler called>
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#5  0x000014e0d5c9b859 in __GI_abort () at abort.c:79
#6  0x000014e0d6055951 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x000014e0d606147c in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x000014e0d60614e7 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x000014e0d6061799 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x000014e0d605825e in std::__throw_logic_error(char const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#11 0x00005636274983ae in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (this=this@entry=0x14e0c4826be0, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/9/bits/char_traits.h:300
#12 0x00005636276e0c8d in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*> (__end=<optimized out>, __beg=<optimized out>, this=0x14e0c4826be0) at /usr/include/c++/9/bits/basic_string.h:263
#13 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (__end=<optimized out>, __beg=<optimized out>, this=0x14e0c4826be0) at /usr/include/c++/9/bits/basic_string.h:266
#14 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string (__a=<optimized out>, __s=<optimized out>, this=0x14e0c4826be0) at /usr/include/c++/9/bits/basic_string.h:527
#15 wsrep_provider_options_update (self=<optimized out>, thd=<optimized out>, type=<optimized out>) at /test/10.6_dbg/sql/wsrep_var.cc:484
#16 0x0000563626f49bbe in sys_var::update (this=0x56362863a9a0 <Sys_wsrep_provider_options>, thd=0x14e068000db8, var=0x14e068012820) at /test/10.6_dbg/sql/set_var.cc:207
#17 0x0000563626f4a0d5 in set_var::update (this=<optimized out>, thd=<optimized out>) at /test/10.6_dbg/sql/set_var.cc:859
#18 0x0000563626f4b478 in sql_set_variables (thd=thd@entry=0x14e068000db8, var_list=var_list@entry=0x14e068005e90, free=free@entry=true) at /test/10.6_dbg/sql/set_var.cc:746
#19 0x000056362704f742 in mysql_execute_command (thd=thd@entry=0x14e068000db8) at /test/10.6_dbg/sql/sql_parse.cc:4924
#20 0x0000563627038aaa in mysql_parse (thd=thd@entry=0x14e068000db8, rawbuf=rawbuf@entry=0x14e0680126c0 "SET GLOBAL wsrep_provider_options=NULL", length=length@entry=38, parser_state=parser_state@entry=0x14e0c48273d0) at /test/10.6_dbg/sql/sql_parse.cc:7906
#21 0x0000563627038406 in wsrep_mysql_parse (thd=thd@entry=0x14e068000db8, rawbuf=0x14e0680126c0 "SET GLOBAL wsrep_provider_options=NULL", length=38, parser_state=parser_state@entry=0x14e0c48273d0) at /test/10.6_dbg/sql/sql_parse.cc:7720
#22 0x0000563627046c7c in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14e068000db8, packet=packet@entry=0x14e068008d39 "SET GLOBAL wsrep_provider_options=NULL", packet_length=packet_length@entry=38) at /test/10.6_dbg/sql/sql_class.h:1295
#23 0x0000563627049fa4 in do_command (thd=0x14e068000db8) at /test/10.6_dbg/sql/sql_parse.cc:1365
#24 0x00005636271a6ef2 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x563629ec8e88, put_in_cache=put_in_cache@entry=true) at /test/10.6_dbg/sql/sql_connect.cc:1410
#25 0x00005636271a75f9 in handle_one_connection (arg=arg@entry=0x563629ec8e88) at /test/10.6_dbg/sql/sql_connect.cc:1312
#26 0x000056362765df35 in pfs_spawn_thread (arg=0x563629f590a8) at /test/10.6_dbg/storage/perfschema/pfs.cc:2201
#27 0x000014e0d61a9609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#28 0x000014e0d5d98293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

10.6.0 b19ec8848c9463b86d62601dffb67c75e3dfbd70 (Optimized)

Core was generated by `/test/GAL_MD120221-mariadb-10.6.0-linux-x86_64-opt/bin/mysqld --defaults-file=/'.
Program terminated with signal SIGABRT, Aborted.
#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
    at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
[Current thread is 1 (Thread 0x1527744ff700 (LWP 2451220))]
(gdb) bt
#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
#1  0x000055e21606a18f in my_write_core (sig=sig@entry=6) at /test/10.6_opt/mysys/stacktrace.c:424
#2  0x000055e215ade1a0 in handle_fatal_signal (sig=6) at /test/10.6_opt/sql/signal_handler.cc:330
#3  <signal handler called>
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#5  0x00001527858e2859 in __GI_abort () at abort.c:79
#6  0x0000152785c9c951 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x0000152785ca847c in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x0000152785ca84e7 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x0000152785ca8799 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x0000152785c9f25e in std::__throw_logic_error(char const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#11 0x000055e215dd8313 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (__end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>, __beg=0x0, this=0x1527744fdcd0) at /usr/include/c++/9/bits/basic_string.tcc:206
#12 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*> (__end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>, __beg=0x0, this=0x1527744fdcd0) at /usr/include/c++/9/bits/basic_string.h:247
#13 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (__end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>, __beg=0x0, this=0x1527744fdcd0) at /usr/include/c++/9/bits/basic_string.h:266
#14 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string (__a=<optimized out>, __s=0x0, this=0x1527744fdcd0) at /usr/include/c++/9/bits/basic_string.h:527
#15 wsrep_provider_options_update (self=<optimized out>, thd=<optimized out>, type=<optimized out>) at /test/10.6_opt/sql/wsrep_var.cc:484
#16 0x000055e215812e02 in sys_var::update (this=0x55e2169e0dc0 <Sys_wsrep_provider_options>, thd=0x152718000c58, var=0x152718010550) at /test/10.6_opt/include/mysql/psi/mysql_thread.h:836
#17 0x000055e2158132db in set_var::update (this=<optimized out>, thd=<optimized out>) at /test/10.6_opt/sql/set_var.cc:859
#18 0x000055e2158145b9 in sql_set_variables (thd=thd@entry=0x152718000c58, var_list=var_list@entry=0x152718005b70, free=free@entry=true) at /test/10.6_opt/sql/set_var.cc:746
#19 0x000055e2158d4dae in mysql_execute_command (thd=0x152718000c58) at /test/10.6_opt/sql/sql_parse.cc:4924
#20 0x000055e2158c2cdf in mysql_parse (thd=thd@entry=0x152718000c58, rawbuf=rawbuf@entry=0x1527180103f0 "SET GLOBAL wsrep_provider_options=NULL", length=length@entry=38, parser_state=parser_state@entry=0x1527744fe400) at /test/10.6_opt/sql/sql_parse.cc:7906
#21 0x000055e2158c2756 in wsrep_mysql_parse (thd=0x152718000c58, rawbuf=0x1527180103f0 "SET GLOBAL wsrep_provider_options=NULL", length=38, parser_state=0x1527744fe400) at /test/10.6_opt/sql/sql_parse.cc:7720
#22 0x000055e2158cff87 in dispatch_command (command=COM_QUERY, thd=0x152718000c58, packet=0x152718008059 "SET GLOBAL wsrep_provider_options=NULL", packet_length=<optimized out>) at /test/10.6_opt/sql/sql_class.h:1295
#23 0x000055e2158d0a81 in do_command (thd=0x152718000c58) at /test/10.6_opt/sql/sql_parse.cc:1365
#24 0x000055e2159d61d1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55e217bff888, put_in_cache=put_in_cache@entry=true) at /test/10.6_opt/sql/sql_connect.cc:1410
#25 0x000055e2159d664d in handle_one_connection (arg=arg@entry=0x55e217bff888) at /test/10.6_opt/sql/sql_connect.cc:1312
#26 0x000055e215d5ce76 in pfs_spawn_thread (arg=0x55e217c248e8) at /test/10.6_opt/storage/perfschema/pfs.cc:2201
#27 0x0000152785df0609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#28 0x00001527859df293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

10.5.9 7fb528d7226819063046c6a70a21511b3620e844 (Debug)

Core was generated by `/test/GAL_MD120221-mariadb-10.5.9-linux-x86_64-dbg/bin/mysqld --defaults-file=/'.
Program terminated with signal SIGABRT, Aborted.
#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
    at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
[Current thread is 1 (Thread 0x14ce140a0700 (LWP 1449265))]
(gdb) bt
#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
#1  0x00005629e606b957 in my_write_core (sig=sig@entry=6) at /test/10.5_dbg/mysys/stacktrace.c:424
#2  0x00005629e57bae9f in handle_fatal_signal (sig=6) at /test/10.5_dbg/sql/signal_handler.cc:330
#3  <signal handler called>
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#5  0x000014ce16f80859 in __GI_abort () at abort.c:79
#6  0x000014ce1733a951 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x000014ce1734647c in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x000014ce173464e7 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x000014ce17346799 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x000014ce1733d25e in std::__throw_logic_error(char const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#11 0x00005629e5940f76 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (this=this@entry=0x14ce1409ebb0, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/9/bits/char_traits.h:300
#12 0x00005629e5b8ab67 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*> (__end=<optimized out>, __beg=<optimized out>, this=0x14ce1409ebb0) at /usr/include/c++/9/bits/basic_string.h:263
#13 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (__end=<optimized out>, __beg=<optimized out>, this=0x14ce1409ebb0) at /usr/include/c++/9/bits/basic_string.h:266
#14 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string (__a=<optimized out>, __s=<optimized out>, this=0x14ce1409ebb0) at /usr/include/c++/9/bits/basic_string.h:527
#15 wsrep_provider_options_update (self=<optimized out>, thd=<optimized out>, type=<optimized out>) at /test/10.5_dbg/sql/wsrep_var.cc:501
#16 0x00005629e53f297c in sys_var::update (this=0x5629e6b31780 <Sys_wsrep_provider_options>, thd=0x14cda4000db8, var=0x14cda4012a90) at /test/10.5_dbg/sql/set_var.cc:207
#17 0x00005629e53f2e93 in set_var::update (this=<optimized out>, thd=<optimized out>) at /test/10.5_dbg/sql/set_var.cc:859
#18 0x00005629e53f4236 in sql_set_variables (thd=thd@entry=0x14cda4000db8, var_list=var_list@entry=0x14cda4005e68, free=free@entry=true) at /test/10.5_dbg/sql/set_var.cc:746
#19 0x00005629e54f84b8 in mysql_execute_command (thd=thd@entry=0x14cda4000db8) at /test/10.5_dbg/sql/sql_parse.cc:5067
#20 0x00005629e54e11d5 in mysql_parse (thd=thd@entry=0x14cda4000db8, rawbuf=rawbuf@entry=0x14cda4012930 "SET GLOBAL wsrep_provider_options=NULL", length=length@entry=38, parser_state=parser_state@entry=0x14ce1409f3d0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:8062
#21 0x00005629e54e0b00 in wsrep_mysql_parse (thd=thd@entry=0x14cda4000db8, rawbuf=0x14cda4012930 "SET GLOBAL wsrep_provider_options=NULL", length=38, parser_state=parser_state@entry=0x14ce1409f3d0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:7865
#22 0x00005629e54ef5da in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14cda4000db8, packet=packet@entry=0x14cda4008fa9 "SET GLOBAL wsrep_provider_options=NULL", packet_length=packet_length@entry=38, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_class.h:1257
#23 0x00005629e54f2d10 in do_command (thd=0x14cda4000db8) at /test/10.5_dbg/sql/sql_parse.cc:1370
#24 0x00005629e564f82c in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5629e9258ba8, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1410
#25 0x00005629e564ff33 in handle_one_connection (arg=arg@entry=0x5629e9258ba8) at /test/10.5_dbg/sql/sql_connect.cc:1312
#26 0x00005629e5b07f89 in pfs_spawn_thread (arg=0x5629e92d4268) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
#27 0x000014ce1748e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#28 0x000014ce1707d293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

10.4.18 542d769ea1a22a7a6a87c9fe76ff911a162ade44 (Debug)

Core was generated by `/test/GAL_MD120221-mariadb-10.4.18-linux-x86_64-dbg/bin/mysqld --defaults-file='.
Program terminated with signal SIGABRT, Aborted.
#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
    at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
[Current thread is 1 (Thread 0x1535fc074700 (LWP 1888438))]
(gdb) bt
#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
#1  0x00005650653ccd6d in my_write_core (sig=sig@entry=6) at /test/10.4_dbg/mysys/stacktrace.c:386
#2  0x0000565064adba35 in handle_fatal_signal (sig=6) at /test/10.4_dbg/sql/signal_handler.cc:343
#3  <signal handler called>
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#5  0x0000153630778859 in __GI_abort () at abort.c:79
#6  0x0000153630b32951 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x0000153630b3e47c in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x0000153630b3e4e7 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x0000153630b3e799 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x0000153630b3525e in std::__throw_logic_error(char const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#11 0x0000565064a2043a in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (this=this@entry=0x1535fc071930, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/9/bits/char_traits.h:300
#12 0x0000565064a27faa in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*> (__end=<optimized out>, __beg=<optimized out>, this=0x1535fc071930) at /usr/include/c++/9/bits/basic_string.h:263
#13 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (__end=<optimized out>, __beg=<optimized out>, this=0x1535fc071930) at /usr/include/c++/9/bits/basic_string.h:266
#14 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string (__a=<optimized out>, __s=<optimized out>, this=0x1535fc071930) at /usr/include/c++/9/bits/basic_string.h:527
#15 wsrep_provider_options_update (self=<optimized out>, thd=<optimized out>, type=<optimized out>) at /test/10.4_dbg/sql/wsrep_var.cc:461
#16 0x000056506471335c in sys_var::update (this=0x565065d85fa0 <Sys_wsrep_provider_options>, thd=0x15359c000d90, var=0x15359c012050) at /test/10.4_dbg/sql/set_var.cc:208
#17 0x0000565064713873 in set_var::update (this=<optimized out>, thd=<optimized out>) at /test/10.4_dbg/sql/set_var.cc:837
#18 0x0000565064714b9d in sql_set_variables (thd=thd@entry=0x15359c000d90, var_list=var_list@entry=0x15359c005bd0, free=free@entry=true) at /test/10.4_dbg/sql/set_var.cc:740
#19 0x000056506480b552 in mysql_execute_command (thd=thd@entry=0x15359c000d90) at /test/10.4_dbg/sql/sql_parse.cc:4994
#20 0x00005650648118e1 in mysql_parse (thd=thd@entry=0x15359c000d90, rawbuf=rawbuf@entry=0x15359c011ef8 "SET GLOBAL wsrep_provider_options=NULL", length=length@entry=38, parser_state=parser_state@entry=0x1535fc073490, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.4_dbg/sql/sql_parse.cc:7958
#21 0x000056506481297b in wsrep_mysql_parse (thd=thd@entry=0x15359c000d90, rawbuf=0x15359c011ef8 "SET GLOBAL wsrep_provider_options=NULL", length=38, parser_state=parser_state@entry=0x1535fc073490, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.4_dbg/sql/sql_parse.cc:7762
#22 0x00005650648141af in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x15359c000d90, packet=packet@entry=0x15359c01c4b1 "SET GLOBAL wsrep_provider_options=NULL", packet_length=packet_length@entry=38, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.4_dbg/sql/sql_class.h:1170
#23 0x0000565064817938 in do_command (thd=0x15359c000d90) at /test/10.4_dbg/sql/sql_parse.cc:1373
#24 0x00005650649516db in do_handle_one_connection (connect=connect@entry=0x565067b6b7d0) at /test/10.4_dbg/sql/sql_connect.cc:1412
#25 0x00005650649517fa in handle_one_connection (arg=0x565067b6b7d0) at /test/10.4_dbg/sql/sql_connect.cc:1316
#26 0x0000153630d35609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#27 0x0000153630875293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Bug confirmed present in:
MariaDB: 10.6.0 (dbg), 10.6.0 (opt), 10.5.9 (dbg), 10.5.9 (opt), 10.4.18 (dbg), 10.4.18 (opt)

Bug confirmed not present in:
MariaDB: 10.2.37 (dbg), 10.2.37 (opt), 10.3.28 (dbg), 10.3.28 (opt)


Generated at Thu Feb 08 09:33:13 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.