Segfault when linking against libsqlite3
| Originator: | patrick.gombert | ||
| Number: | rdar://28172838 | Date Originated: | 06-Sep-2016 |
| Status: | Open | Resolved: | |
| Product: | Other | Product Version: | |
| Classification: | Reproducible: | Yes |
Summary:
When using the python sqlite driver and linking against the dylib provided with OSX (/usr/lib/libqlite3.dylib) we can reproducibly cause a segfault. The attached file has the back trace when the segfault occurs. When using the dylib from the homebrew installed version of sqlite it works as expected.
Steps to Reproduce:
Unfortunately, the test suite is proprietary and can't be shared.
Expected Results:
No seg fault.
Actual Results:
Segfault.
Version:
sqlite3, OSX El Capitan 10.11.6 (although it has happened on other OSX versions)
Notes:
Configuration:
Out of the box sqlite3
Attached File:
(lldb) bt
* thread #1: tid = 0x91e34, 0x00007fff977b1fd6 libsystem_platform.dylib`_platform_memmove$VARIANT$Haswell + 182, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8)
* frame #0: 0x00007fff977b1fd6 libsystem_platform.dylib`_platform_memmove$VARIANT$Haswell + 182
frame #1: 0x00007fff979f8ff8 libsqlite3.dylib`memjrnlRead + 200
frame #2: 0x00007fff979f93c1 libsqlite3.dylib`pager_playback_one_page + 81
frame #3: 0x00007fff97a10215 libsqlite3.dylib`sqlite3PagerSavepoint + 565
frame #4: 0x00007fff979b43fb libsqlite3.dylib`sqlite3VdbeExec + 26203
frame #5: 0x00007fff979aca8f libsqlite3.dylib`sqlite3_step + 591
frame #6: 0x0000000105febd93 _sqlite3.so`pysqlite_step + 31
frame #7: 0x0000000105fe9867 _sqlite3.so`_pysqlite_query_execute + 1603
frame #8: 0x000000010000d202 Python`PyObject_Call + 99
frame #9: 0x000000010008be83 Python`PyEval_CallObjectWithKeywords + 165
frame #10: 0x000000010001e25d Python`___lldb_unnamed_function328$$Python + 134
frame #11: 0x000000010000d202 Python`PyObject_Call + 99
frame #12: 0x0000000100088e37 Python`PyEval_EvalFrameEx + 10372
frame #13: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #14: 0x000000010008c4ae Python`___lldb_unnamed_function1476$$Python + 117
frame #15: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #16: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #17: 0x000000010008c4ae Python`___lldb_unnamed_function1476$$Python + 117
frame #18: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #19: 0x000000010008c541 Python`___lldb_unnamed_function1476$$Python + 264
frame #20: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #21: 0x000000010008c541 Python`___lldb_unnamed_function1476$$Python + 264
frame #22: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #23: 0x000000010008c541 Python`___lldb_unnamed_function1476$$Python + 264
frame #24: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #25: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #26: 0x000000010008c4ae Python`___lldb_unnamed_function1476$$Python + 117
frame #27: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #28: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #29: 0x000000010008c4ae Python`___lldb_unnamed_function1476$$Python + 117
frame #30: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #31: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #32: 0x000000010008c4ae Python`___lldb_unnamed_function1476$$Python + 117
frame #33: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #34: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #35: 0x000000010002b2e5 Python`___lldb_unnamed_function510$$Python + 352
frame #36: 0x000000010000d202 Python`PyObject_Call + 99
frame #37: 0x0000000100017ff5 Python`___lldb_unnamed_function192$$Python + 173
frame #38: 0x000000010000d202 Python`PyObject_Call + 99
frame #39: 0x0000000100053a33 Python`___lldb_unnamed_function1032$$Python + 61
frame #40: 0x000000010000d202 Python`PyObject_Call + 99
frame #41: 0x0000000100088e37 Python`PyEval_EvalFrameEx + 10372
frame #42: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #43: 0x000000010002b2e5 Python`___lldb_unnamed_function510$$Python + 352
frame #44: 0x000000010000d202 Python`PyObject_Call + 99
frame #45: 0x00000001000894ac Python`PyEval_EvalFrameEx + 12025
frame #46: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #47: 0x000000010002b2e5 Python`___lldb_unnamed_function510$$Python + 352
frame #48: 0x000000010000d202 Python`PyObject_Call + 99
frame #49: 0x0000000100017ff5 Python`___lldb_unnamed_function192$$Python + 173
frame #50: 0x000000010000d202 Python`PyObject_Call + 99
frame #51: 0x0000000100053a33 Python`___lldb_unnamed_function1032$$Python + 61
frame #52: 0x000000010000d202 Python`PyObject_Call + 99
frame #53: 0x0000000100088e37 Python`PyEval_EvalFrameEx + 10372
frame #54: 0x000000010008c541 Python`___lldb_unnamed_function1476$$Python + 264
frame #55: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #56: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #57: 0x000000010008c4ae Python`___lldb_unnamed_function1476$$Python + 117
frame #58: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #59: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #60: 0x000000010008c4ae Python`___lldb_unnamed_function1476$$Python + 117
frame #61: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #62: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #63: 0x000000010002b2e5 Python`___lldb_unnamed_function510$$Python + 352
frame #64: 0x000000010000d202 Python`PyObject_Call + 99
frame #65: 0x00000001000894ac Python`PyEval_EvalFrameEx + 12025
frame #66: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #67: 0x000000010002b2e5 Python`___lldb_unnamed_function510$$Python + 352
frame #68: 0x000000010000d202 Python`PyObject_Call + 99
frame #69: 0x00000001000894ac Python`PyEval_EvalFrameEx + 12025
frame #70: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #71: 0x000000010002b2e5 Python`___lldb_unnamed_function510$$Python + 352
frame #72: 0x000000010000d202 Python`PyObject_Call + 99
frame #73: 0x00000001000894ac Python`PyEval_EvalFrameEx + 12025
frame #74: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #75: 0x000000010008c4ae Python`___lldb_unnamed_function1476$$Python + 117
frame #76: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #77: 0x000000010008c541 Python`___lldb_unnamed_function1476$$Python + 264
frame #78: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #79: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #80: 0x000000010008c4ae Python`___lldb_unnamed_function1476$$Python + 117
frame #81: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #82: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #83: 0x000000010008c4ae Python`___lldb_unnamed_function1476$$Python + 117
frame #84: 0x000000010008930c Python`PyEval_EvalFrameEx + 11609
frame #85: 0x00000001000863c1 Python`PyEval_EvalCodeEx + 1583
frame #86: 0x0000000100085d8c Python`PyEval_EvalCode + 54
frame #87: 0x00000001000a5a42 Python`___lldb_unnamed_function1599$$Python + 53
frame #88: 0x00000001000a5ae5 Python`PyRun_FileExFlags + 133
frame #89: 0x00000001000a5634 Python`PyRun_SimpleFileExFlags + 698
frame #90: 0x00000001000b7011 Python`Py_Main + 3137
frame #91: 0x00007fff93b705ad libdyld.dylib`start + 1
frame #92: 0x00007fff93b705ad libdyld.dylib`start + 1
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!