[SERVER-6321] Bad path to SSL key file or incorrect password causes: Assertion: 15868 :Can't read key file Created: 06/Jul/12  Updated: 11/Jul/16  Resolved: 11/Jul/12

Status: Closed
Project: Core Server
Component/s: Networking
Affects Version/s: 2.0.6, 2.1.2
Fix Version/s: 2.2.0-rc0

Type: Bug Priority: Major - P3
Reporter: Adam Comerford Assignee: Eliot Horowitz (Inactive)
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

SSL builds - Mac - 2.1.3-pre and Linux - 2.0.6 Enterprise build


Issue Links:
Depends
Operating System: ALL
Participants:

 Description   

If a bad cert password or bad path is entered in 2.0.6, it crashes out - assertion and trace from 2.0.6 Enterprise build on Ubuntu 11.04:

./mongod --sslOnNormalPorts --sslPEMKeyFile /home/adam/mongo-10gen-dublin-2048.pem --sslPEMKeyPassword mono --dbpath /data/db/rs2 --replSet testing --port 27020
Fri Jul  6 15:27:51 Assertion: 15868:Can't read key file
0x59944c 0x5b6964 0x8aa9e2 0x9d70fb 0x7fdae037beff 0x52a769 
 ./mongod(_ZN5mongo11msgassertedEiPKc+0x11c) [0x59944c]
 ./mongod() [0x5b6964]
 ./mongod(_ZN5mongo7CmdLine5storeEiPPcRN5boost15program_options19options_descriptionES6_RNS4_30positional_options_descriptionERNS4_13variables_mapE+0xb92) [0x8aa9e2]
 ./mongod(main+0x15bb) [0x9d70fb]
 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xff) [0x7fdae037beff]
 ./mongod() [0x52a769]
Fri Jul  6 15:27:51 terminate() called, printing stack:
0x9db163 0x9d0b2a 0x7fdae16b8926 0x7fdae16b8953 0x7fdae16b8a5e 0x599654 0x5b6964 0x8aa9e2 0x9d70fb 0x7fdae037beff 0x52a769 
 ./mongod(_ZN5mongo15printStackTraceERSo+0x23) [0x9db163]
 ./mongod(_ZN5mongo11myterminateEv+0x3a) [0x9d0b2a]
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9926) [0x7fdae16b8926]
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9953) [0x7fdae16b8953]
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9a5e) [0x7fdae16b8a5e]
 ./mongod(_ZN5mongo11msgassertedEiPKc+0x324) [0x599654]
 ./mongod() [0x5b6964]
 ./mongod(_ZN5mongo7CmdLine5storeEiPPcRN5boost15program_options19options_descriptionES6_RNS4_30positional_options_descriptionERNS4_13variables_mapE+0xb92) [0x8aa9e2]
 ./mongod(main+0x15bb) [0x9d70fb]
 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xff) [0x7fdae037beff]
 ./mongod() [0x52a769]
Fri Jul  6 15:27:51 Got signal: 6 (Aborted).
 
Fri Jul  6 15:27:51 Backtrace:
0x9db163 0x9d15de 0x7fdae0390d80 0x7fdae0390d05 0x7fdae0394ab6 0x9d0b2f 0x7fdae16b8926 0x7fdae16b8953 0x7fdae16b8a5e 0x599654 0x5b6964 0x8aa9e2 0x9d70fb 0x7fdae037beff 0x52a769 
 ./mongod(_ZN5mongo15printStackTraceERSo+0x23) [0x9db163]
 ./mongod(_ZN5mongo10abruptQuitEi+0x3ee) [0x9d15de]
 /lib/x86_64-linux-gnu/libc.so.6(+0x33d80) [0x7fdae0390d80]
 /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7fdae0390d05]
 /lib/x86_64-linux-gnu/libc.so.6(abort+0x186) [0x7fdae0394ab6]
 ./mongod(_ZN5mongo11myterminateEv+0x3f) [0x9d0b2f]
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9926) [0x7fdae16b8926]
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9953) [0x7fdae16b8953]
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb9a5e) [0x7fdae16b8a5e]
 ./mongod(_ZN5mongo11msgassertedEiPKc+0x324) [0x599654]
 ./mongod() [0x5b6964]
 ./mongod(_ZN5mongo7CmdLine5storeEiPPcRN5boost15program_options19options_descriptionES6_RNS4_30positional_options_descriptionERNS4_13variables_mapE+0xb92) [0x8aa9e2]
 ./mongod(main+0x15bb) [0x9d70fb]
 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xff) [0x7fdae037beff]
 ./mongod() [0x52a769]

Similarly on 2.1.3-pre on Mac OS X:

./mongod --sslOnNormalPorts --sslPEMKeyFile /home/adam/mongo-10gen-dublin-2048.pem --sslPEMKeyPassword mono
Fri Jul  6 16:06:00 Assertion: 15867:Can't read certificate file
0x10ee444bb 0x10eb9e9f0 0x10eedba34 0x10ef68757 0x10eae7471 0x10eaec179 0x10eae29e4 
 0   mongod                              0x000000010ee444bb _ZN5mongo15printStackTraceERSo + 43
 1   mongod                              0x000000010eb9e9f0 _ZN5mongo11msgassertedEiPKc + 176
 2   mongod                              0x000000010eedba34 _ZN5mongo10SSLManager8setupPEMERKSsS2_ + 128
 3   mongod                              0x000000010ef68757 _ZN5mongo7CmdLine5storeEiPPcRN5boost15program_options19options_descriptionES6_RNS4_30positional_options_descriptionERNS4_13variables_mapE + 9005
 4   mongod                              0x000000010eae7471 _ZL11mongoDbMainiPPc + 4433
 5   mongod                              0x000000010eaec179 main + 9
 6   mongod                              0x000000010eae29e4 start + 52
Fri Jul  6 16:06:01 terminate() called, printing stack (if implemented for platform):
0x10ee444bb 0x10eae325f 0x7fff83f6d001 0x7fff83f6d05c 0x7fff83f6e152 0x10eb9ea9a 0x10eedba34 0x10ef68757 0x10eae7471 0x10eaec179 0x10eae29e4 
 0   mongod                              0x000000010ee444bb _ZN5mongo15printStackTraceERSo + 43
 1   mongod                              0x000000010eae325f _ZN5mongo11myterminateEv + 79
 2   libc++abi.dylib                     0x00007fff83f6d001 _Z19safe_handler_callerPFvvE + 11
 3   libc++abi.dylib                     0x00007fff83f6d05c __cxa_bad_typeid + 0
 4   libc++abi.dylib                     0x00007fff83f6e152 _Z23__gxx_exception_cleanup19_Unwind_Reason_CodeP17_Unwind_Exception + 0
 5   mongod                              0x000000010eb9ea9a _ZN5mongo11msgassertedEiPKc + 346
 6   mongod                              0x000000010eedba34 _ZN5mongo10SSLManager8setupPEMERKSsS2_ + 128
 7   mongod                              0x000000010ef68757 _ZN5mongo7CmdLine5storeEiPPcRN5boost15program_options19options_descriptionES6_RNS4_30positional_options_descriptionERNS4_13variables_mapE + 9005
 8   mongod                              0x000000010eae7471 _ZL11mongoDbMainiPPc + 4433
 9   mongod                              0x000000010eaec179 main + 9
 10  mongod                              0x000000010eae29e4 start + 52
Fri Jul  6 16:06:01 Got signal: 6 (Abort trap: 6).
 
Fri Jul  6 16:06:01 Backtrace:
0x10ee444bb 0x10eae30d1 0x7fff8d909cfa 0x32aaaba7 0x7fff8d8a8a7a 0x10eae3264 0x7fff83f6d001 0x7fff83f6d05c 0x7fff83f6e152 0x10eb9ea9a 0x10eedba34 0x10ef68757 0x10eae7471 0x10eaec179 0x10eae29e4 
 0   mongod                              0x000000010ee444bb _ZN5mongo15printStackTraceERSo + 43
 1   mongod                              0x000000010eae30d1 _ZN5mongo10abruptQuitEi + 225
 2   libsystem_c.dylib                   0x00007fff8d909cfa _sigtramp + 26
 3   ???                                 0x0000000032aaaba7 0x0 + 850045863
 4   libsystem_c.dylib                   0x00007fff8d8a8a7a abort + 143
 5   mongod                              0x000000010eae3264 _ZN5mongo11myterminateEv + 84
 6   libc++abi.dylib                     0x00007fff83f6d001 _Z19safe_handler_callerPFvvE + 11
 7   libc++abi.dylib                     0x00007fff83f6d05c __cxa_bad_typeid + 0
 8   libc++abi.dylib                     0x00007fff83f6e152 _Z23__gxx_exception_cleanup19_Unwind_Reason_CodeP17_Unwind_Exception + 0
 9   mongod                              0x000000010eb9ea9a _ZN5mongo11msgassertedEiPKc + 346
 10  mongod                              0x000000010eedba34 _ZN5mongo10SSLManager8setupPEMERKSsS2_ + 128
 11  mongod                              0x000000010ef68757 _ZN5mongo7CmdLine5storeEiPPcRN5boost15program_options19options_descriptionES6_RNS4_30positional_options_descriptionERNS4_13variables_mapE + 9005
 12  mongod                              0x000000010eae7471 _ZL11mongoDbMainiPPc + 4433
 13  mongod                              0x000000010eaec179 main + 9
 14  mongod                              0x000000010eae29e4 start + 52



 Comments   
Comment by auto [ 11/Jul/12 ]

Author:

{u'date': u'2012-07-11T10:20:46-07:00', u'email': u'eliot@10gen.com', u'name': u'Eliot Horowitz'}

Message: SERVER-6320 and SERVER-6321 - fix broken ssl options and make error reporting cleaner
Branch: master
https://github.com/mongodb/mongo/commit/afdf9f64446c74294cc13a3ac11b9b794cf7ae78

Generated at Thu Feb 08 03:11:21 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.