Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#29365 closed defect (fixed)

pure segfaults with llvm 2.4svn

Reported by: MacPorts@… Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc:
Port: pure

Description

> pure
Segmentation fault

> pure --version
Pure 0.47 (x86_64-apple-darwin10.7.0) Copyright (c) 2008-2011 by Albert Graef
Compiled for LLVM 2.4svn (http://llvm.org)

> gdb pure
...
(gdb) r   
Starting program: /opt/local/bin/pure 
Reading symbols for shared libraries .++++++. done

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000020
0x00000001005019a8 in (anonymous namespace)::MemoryRangeHeader::FreeBlock ()
(gdb) up
#1  0x0000000100501c5b in (anonymous namespace)::DefaultJITMemoryManager::deallocateMemForFunction ()
(gdb) up
#2  0x00000001000940ce in Env::clear ()
(gdb) up
#3  0x0000000100097c87 in Env::operator= ()
(gdb) up
#4  0x0000000100098432 in interpreter::compile ()
(gdb) up
#5  0x000000010000382f in main ()

Change History (4)

comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: MacPorts@… removed
Owner: changed from macports-tickets@… to ryandesign@…
Port: pure added

Why "Compiled for LLVM 2.4svn"? The current version of llvm in MacPorts is 2.9. Have you deliberately downgraded llvm, for example using a local portfile?

comment:2 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

The pure README says llvm 2.5 or greater is required, so I updated the port to enforce this requirement in r78347. Please upgrade to llvm 2.9.

comment:3 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: pure segfaultspure segfaults with llvm 2.4svn

Julius responded by email saying:

No, it was not deliberate, and I did not make any special portfiles.

I removed them both and reinstalled, and now it's ok!

The llvm port was updated to version 2.4 final in r41805 three and a half years ago, but you were running a development version older than that. I would very much like to understand how that happened, especially if you did not mean for it to happen. Is it possible that you had (or still have) installed the llvm-devel port instead of the llvm port? llvm-devel was for development versions of llvm, but has not been updated in years (and is in fact stuck at version 2.4svn) and is being removed in #21174.

comment:4 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Julius responded by email saying he did not have the llvm-devel port installed, but it is the only explanation that makes sense. We can see that in r41805 the llvm port was updated from version 2.3 final to version 2.4 final; the llvm port never contained a version 2.4svn, whereas the llvm-devel port did, and still does. The problem will be resolved by preventing users from being able to install the llvm-devel port, and eventually removing it; see #21174.

Note: See TracTickets for help on using tickets.