Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation fault on pyproj.transform #8

Closed
fitnr opened this issue Apr 1, 2015 · 4 comments
Closed

Segmentation fault on pyproj.transform #8

fitnr opened this issue Apr 1, 2015 · 4 comments

Comments

@fitnr
Copy link

fitnr commented Apr 1, 2015

pyproj.transform results in a segementation fault if the second parameter isn't a Proj instance. (If the first argument is invalid, it raises an AttributeError, which is a much better behavior).
This is on OS X Yosemite.

Python 2.7.6 (default, Sep  9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyproj
>>> p = pyproj.Proj(init='epsg:4269')
>>> pyproj.transform(None, p, -74, 39)
...
AttributeError: 'NoneType' object has no attribute 'is_latlong'
>>> pyproj.transform(p, None, -74, 39)
Segmentation fault: 11

I'd be happy to provide more info, but I don't know where to look on OS X.

@phobson
Copy link

phobson commented Apr 8, 2015

@fitnr can you use pip to install the faulthandler library and modify your example above to include:

import pyproj
import faulthandler
faulthandler.enable()

p = ...

It should thin print out a traceback all the way into the C-code or at least to the python/cython that's triggering the segfault.

@fitnr
Copy link
Author

fitnr commented Apr 9, 2015

I reran the above code with faulthandler. Python printed the following

Fatal Python error: Segmentation fault
Current thread 0x00007fff733cb300 (most recent call first):
  File "/usr/local/lib/python2.7/site-packages/pyproj/__init__.py", line 487 in transform
  File "<stdin>", line 1 in <module>
Segmentation fault: 11

Then Python crashed, with this error report:

Process:               Python [4680]
Path:                  /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
Identifier:            Python
Version:               2.7.9 (2.7.9)
Code Type:             X86-64 (Native)
Parent Process:        bash [4581]
Responsible:           Terminal [420]
User ID:               501

Date/Time:             2015-04-09 10:27:01.006 -0400
OS Version:            Mac OS X 10.10.3 (14D131)
Report Version:        11
Anonymous UUID:        0D82E581-6AF1-D331-544D-82D82E165FD4

Sleep/Wake UUID:       67DD0773-8B66-4BF6-BCB8-862F8527BC90

Time Awake Since Boot: 7200 seconds
Time Since Wake:       3500 seconds

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000003

VM Regions Near 0x3:
--> 
    __TEXT                 00000001032c8000-00000001032ca000 [    8K] r-x/rwx SM=COW  /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib          0x00007fff8da26c82 __kill + 10
1   ???                             000000000000000000 0 + 0
2   _proj.so                        0x00000001036daf91 __pyx_pw_5_proj_5_transform + 1777
3   org.python.python               0x00000001033567e6 PyEval_EvalFrameEx + 14392
4   org.python.python               0x0000000103352d7a PyEval_EvalCodeEx + 1409
5   org.python.python               0x000000010335959d fast_function + 117
6   org.python.python               0x0000000103356400 PyEval_EvalFrameEx + 13394
7   org.python.python               0x0000000103352d7a PyEval_EvalCodeEx + 1409
8   org.python.python               0x00000001033527f3 PyEval_EvalCode + 54
9   org.python.python               0x00000001033728a2 run_mod + 53
10  org.python.python               0x00000001033726be PyRun_InteractiveOneFlags + 353
11  org.python.python               0x00000001033721cd PyRun_InteractiveLoopFlags + 192
12  org.python.python               0x0000000103372077 PyRun_AnyFileExFlags + 60
13  org.python.python               0x0000000103383c5b Py_Main + 3051
14  libdyld.dylib                   0x00007fff8f4b55c9 start + 1

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x000000010374cf48  rcx: 0x000000010374caa8  rdx: 0x0000000000000000
  rdi: 0x0000000000001248  rsi: 0x000000000000000b  rbp: 0x000000010374cab0  rsp: 0x000000010374caa8
   r8: 0x000000010374c9a0   r9: 0x00007f944951cd10  r10: 0x00007fff8da28c22  r11: 0x0000000000000202
  r12: 0x00007f944951cd10  r13: 0x00007f944942bd10  r14: 0x0000000000000000  r15: 0x00007f944951cd10
  rip: 0x00007fff8da26c82  rfl: 0x0000000000000202  cr2: 0x000000010374cf48

Logical CPU:     0
Error Code:      0x02000025
Trap Number:     133


Binary Images:
       0x1032c8000 -        0x1032c9fff +org.python.python (2.7.9 - 2.7.9) <2CFC5970-FCA9-3514-921A-648EEF5AD8E5> /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
       0x1032ce000 -        0x1033c0fff +org.python.python (2.7.9, [c] 2004-2014 Python Software Foundation. - 2.7.9) <012C72F0-9D18-3092-98DA-1CEE32C28D48> /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/Python
       0x1035a0000 -        0x1035a2fff +_locale.so (0) <A0178E0B-1DF6-3B6A-8513-67EC9B04E507> /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_locale.so
       0x103625000 -        0x103627fff +readline.so (0) <C5B909D2-8A99-386A-9213-1A90D3563E4F> /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.so
       0x10362d000 -        0x10364dff7 +libreadline.6.dylib (0) <B20DC24A-D2D6-3BD8-BF1E-7CEFB44C041F> /usr/local/opt/readline/lib/libreadline.6.dylib
       0x1036a4000 -        0x1036e9fff +_proj.so (0) <19970738-58E9-3C96-8143-59C5ED59A56E> /usr/local/lib/python2.7/site-packages/pyproj/_proj.so
       0x103714000 -        0x103717ff7 +math.so (0) <DEF5D1EF-0A78-35A3-8F83-8F382A844AE7> /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/math.so
       0x10371c000 -        0x103720fff +array.so (0) <622B43A8-366E-32D3-A32D-38C34E725281> /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/array.so
       0x103726000 -        0x103728ff7 +faulthandler.so (0) <46579128-6DE4-3A83-B429-B16B41BFCC8B> /usr/local/lib/python2.7/site-packages/faulthandler.so
    0x7fff6c54c000 -     0x7fff6c582837  dyld (353.2.1) <65DCCB06-339C-3E25-9702-600A28291D0E> /usr/lib/dyld
    0x7fff84073000 -     0x7fff8409efff  libc++abi.dylib (125) <88A22A0F-87C6-3002-BFBA-AC0F2808B8B9> /usr/lib/libc++abi.dylib
    0x7fff84ddf000 -     0x7fff84e0fff7  libncurses.5.4.dylib (44) <F09809A4-53B9-3E91-A8FA-D3F584C03AA3> /usr/lib/libncurses.5.4.dylib
    0x7fff85d28000 -     0x7fff85d28ff7  libkeymgr.dylib (28) <77845842-DE70-3CC5-BD01-C3D14227CED5> /usr/lib/system/libkeymgr.dylib
    0x7fff85d8a000 -     0x7fff85d95fff  libcommonCrypto.dylib (60061) <D381EBC6-69D8-31D3-8084-5A80A32CB748> /usr/lib/system/libcommonCrypto.dylib
    0x7fff85e4d000 -     0x7fff85e5efff  libsystem_coretls.dylib (35.20.2) <6084A531-2523-39F8-B030-811FA1A32FB5> /usr/lib/system/libsystem_coretls.dylib
    0x7fff85f55000 -     0x7fff85f56ff3  libSystem.B.dylib (1213) <CCEC13A5-D0D9-31C5-B0B0-1C564B4A20A6> /usr/lib/libSystem.B.dylib
    0x7fff861bf000 -     0x7fff861bfff7  liblaunch.dylib (559.20.9) <FA89A113-696E-3271-8FE1-A0D7324E8481> /usr/lib/system/liblaunch.dylib
    0x7fff8677b000 -     0x7fff86807ff7  libsystem_c.dylib (1044.10.1) <86FBED7A-F2C8-3591-AD6F-486DD57E6B6A> /usr/lib/system/libsystem_c.dylib
    0x7fff86dae000 -     0x7fff86e02fff  libc++.1.dylib (120) <1B9530FD-989B-3174-BB1C-BDC159501710> /usr/lib/libc++.1.dylib
    0x7fff87640000 -     0x7fff87645ff7  libmacho.dylib (862) <126CA2ED-DE91-308F-8881-B9DAEC3C63B6> /usr/lib/system/libmacho.dylib
    0x7fff877aa000 -     0x7fff877dafff  libsystem_m.dylib (3086.1) <1E12AB45-6D96-36D0-A226-F24D9FB0D9D6> /usr/lib/system/libsystem_m.dylib
    0x7fff877df000 -     0x7fff877e1fff  libsystem_sandbox.dylib (358.20.5) <4CF77128-6BE0-3958-B646-707FA9CE61B2> /usr/lib/system/libsystem_sandbox.dylib
    0x7fff87800000 -     0x7fff87809ff7  libsystem_notify.dylib (133.1.1) <61147800-F320-3DAA-850C-BADF33855F29> /usr/lib/system/libsystem_notify.dylib
    0x7fff879b7000 -     0x7fff879b9fff  libsystem_configuration.dylib (699.1.5) <20F3B077-179D-3CB0-A3C1-C8602D53B4DB> /usr/lib/system/libsystem_configuration.dylib
    0x7fff87a2b000 -     0x7fff87a55ff7  libdispatch.dylib (442.1.4) <502CF32B-669B-3709-8862-08188225E4F0> /usr/lib/system/libdispatch.dylib
    0x7fff886eb000 -     0x7fff886ecfff  libsystem_secinit.dylib (18) <581DAD0F-6B63-3A48-B63B-917AF799ABAA> /usr/lib/system/libsystem_secinit.dylib
    0x7fff88804000 -     0x7fff8880afff  libsystem_trace.dylib (72.20.1) <840F5301-B55A-3078-90B9-FEFFD6CD741A> /usr/lib/system/libsystem_trace.dylib
    0x7fff8887e000 -     0x7fff888a6fff  libxpc.dylib (559.20.9) <D35D0DB2-D7BD-3BE4-8378-062BFE545E1D> /usr/lib/system/libxpc.dylib
    0x7fff888a7000 -     0x7fff888acff7  libunwind.dylib (35.3) <BE7E51A0-B6EA-3A54-9CCA-9D88F683A6D6> /usr/lib/system/libunwind.dylib
    0x7fff88fd0000 -     0x7fff88fd9fff  libsystem_pthread.dylib (105.10.1) <3103AA7F-3BAE-3673-9649-47FFD7E15C97> /usr/lib/system/libsystem_pthread.dylib
    0x7fff88fda000 -     0x7fff89372ff7  com.apple.CoreFoundation (6.9 - 1153.18) <5C0892B8-9691-341F-9279-CA3A74D59AA0> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff897bb000 -     0x7fff897e3fff  libsystem_info.dylib (459.20.1) <AEB3FE62-4763-3050-8352-D6F9AF961AE6> /usr/lib/system/libsystem_info.dylib
    0x7fff89b93000 -     0x7fff89c09fe7  libcorecrypto.dylib (233.1.2) <E1789801-3985-3949-B736-6B3378873301> /usr/lib/system/libcorecrypto.dylib
    0x7fff89c0a000 -     0x7fff89c0bfff  libDiagnosticMessagesClient.dylib (100) <2EE8E436-5CDC-34C5-9959-5BA218D507FB> /usr/lib/libDiagnosticMessagesClient.dylib
    0x7fff89c33000 -     0x7fff89c33ff7  libunc.dylib (29) <5676F7EA-C1DF-329F-B006-D2C3022B7D70> /usr/lib/system/libunc.dylib
    0x7fff8a307000 -     0x7fff8a308ffb  libremovefile.dylib (35) <3485B5F4-6CE8-3C62-8DFD-8736ED6E8531> /usr/lib/system/libremovefile.dylib
    0x7fff8a69a000 -     0x7fff8a6a0ff7  libsystem_networkextension.dylib (167.1.10) <29AB225B-D7FB-30ED-9600-65D44B9A9442> /usr/lib/system/libsystem_networkextension.dylib
    0x7fff8a7ea000 -     0x7fff8a7eefff  libcache.dylib (69) <45E9A2E7-99C4-36B2-BEE3-0C4E11614AD1> /usr/lib/system/libcache.dylib
    0x7fff8a8ab000 -     0x7fff8a8b3fff  libsystem_dnssd.dylib (561.1.1) <62B70ECA-E40D-3C63-896E-7F00EC386DDB> /usr/lib/system/libsystem_dnssd.dylib
    0x7fff8abc4000 -     0x7fff8ac0aff7  libauto.dylib (186) <A260789B-D4D8-316A-9490-254767B8A5F1> /usr/lib/libauto.dylib
    0x7fff8b206000 -     0x7fff8b222ff7  libsystem_malloc.dylib (53.1.1) <19BCC257-5717-3502-A71F-95D65AFA861B> /usr/lib/system/libsystem_malloc.dylib
    0x7fff8b636000 -     0x7fff8b63bfff  libsystem_stats.dylib (163.20.16) <FBC3F80F-A0FB-3BD6-9A7E-800DE45F092E> /usr/lib/system/libsystem_stats.dylib
    0x7fff8b664000 -     0x7fff8b69cfff  libsystem_network.dylib (412.20.3) <589A5F67-BE2A-3245-A181-0ECC9B53EB00> /usr/lib/system/libsystem_network.dylib
    0x7fff8b70b000 -     0x7fff8b8f0ff7  libicucore.A.dylib (531.48) <3CD34752-B1F9-31D2-865D-B5B0F0BE3111> /usr/lib/libicucore.A.dylib
    0x7fff8b97b000 -     0x7fff8b982ff7  libcompiler_rt.dylib (35) <BF8FC133-EE10-3DA6-9B90-92039E28678F> /usr/lib/system/libcompiler_rt.dylib
    0x7fff8baf8000 -     0x7fff8bcf246f  libobjc.A.dylib (647) <759E155D-BC42-3D4E-869B-6F57D477177C> /usr/lib/libobjc.A.dylib
    0x7fff8d9c8000 -     0x7fff8d9d9ff7  libz.1.dylib (55) <88C7C7DE-04B8-316F-8B74-ACD9F3DE1AA1> /usr/lib/libz.1.dylib
    0x7fff8da11000 -     0x7fff8da2efff  libsystem_kernel.dylib (2782.20.48) <EAFD7BD0-0C30-3E7D-9528-F9916BA0167C> /usr/lib/system/libsystem_kernel.dylib
    0x7fff8da98000 -     0x7fff8da9aff7  libsystem_coreservices.dylib (9) <41B7C578-5A53-31C8-A96F-C73E030B0938> /usr/lib/system/libsystem_coreservices.dylib
    0x7fff8eda6000 -     0x7fff8eda7ff7  libsystem_blocks.dylib (65) <9615D10A-FCA7-3BE4-AA1A-1B195DACE1A1> /usr/lib/system/libsystem_blocks.dylib
    0x7fff8f4b2000 -     0x7fff8f4b5ff7  libdyld.dylib (353.2.1) <9EACCA38-291D-38CC-811F-7E9D1451E2D3> /usr/lib/system/libdyld.dylib
    0x7fff90329000 -     0x7fff9033fff7  libsystem_asl.dylib (267) <F153AC5B-0542-356E-88C8-20A62CA704E2> /usr/lib/system/libsystem_asl.dylib
    0x7fff90340000 -     0x7fff90348fff  libsystem_platform.dylib (63) <64E34079-D712-3D66-9CE2-418624A5C040> /usr/lib/system/libsystem_platform.dylib
    0x7fff913cf000 -     0x7fff913d1fff  libquarantine.dylib (76.20.1) <7AF90041-2768-378A-925A-D83161863642> /usr/lib/system/libquarantine.dylib
    0x7fff913d2000 -     0x7fff913daffb  libcopyfile.dylib (118.1.2) <0C68D3A6-ACDD-3EF3-991A-CC82C32AB836> /usr/lib/system/libcopyfile.dylib

jswhit added a commit that referenced this issue Oct 8, 2015
Patch for transform to resolve Issue #8
@micahcochran
Copy link
Collaborator

The patch I submitted will now raise a TypeError when either projection is not a instance of the Proj class. I hope this resolves this issue.

Thanks for merging this patch, Jeff!

@micahcochran
Copy link
Collaborator

I assume that this issue can be closed.

The fix released with version 1.9.5.1 on January 6, 2016. The fix created another issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants