Closed Quuxplusone closed 13 years ago
Please try to find a reduced test case, we can't reproduce it from this alone. :)
Yeah, we definitely need more info than this.
sorry for not providing any info
this is the command line:
Assertion failed: (*PrevPtr == this && "List invariant broken"), function
RemoveFromUseList, file Value.cpp, line 458.
Stack dump:
0. Program arguments: llvm-ld -native -strip-all -export-dynamic -o
kernel.debug locore.o dsfield.o dsinit.o dsmethod.o dsmthdat.o dsobject.o
dsopcode.o dsutils.o dswexec.o dswload.o dswscope.o dswstate.o evevent.o
evgpe.o evgpeblk.o evmisc.o evregion.o evrgnini.o evsci.o evxface.o evxfevnt.o
evxfregn.o exconfig.o exconvrt.o excreate.o exdump.o exfield.o exfldio.o
exmisc.o exmutex.o exnames.o exoparg1.o exoparg2.o exoparg3.o exoparg6.o
exprep.o exregion.o exresnte.o exresolv.o exresop.o exstore.o exstoren.o
exstorob.o exsystem.o exutils.o hwacpi.o hwgpe.o hwregs.o hwsleep.o hwtimer.o
hwvalid.o hwxface.o nsaccess.o nsalloc.o nsdump.o nseval.o nsinit.o nsload.o
nsnames.o nsobject.o nsparse.o nspredef.o nssearch.o nsutils.o nswalk.o
nsxfeval.o nsxfname.o nsxfobj.o psargs.o psloop.o psopcode.o psparse.o
psscope.o pstree.o psutils.o pswalk.o psxface.o rsaddr.o rscalc.o rscreate.o
rsdump.o rsinfo.o rsio.o rsirq.o rslist.o rsmemory.o rsmisc.o rsutils.o
rsxface.o tbfadt.o tbfind.o tbinstal.o tbutils.o tbxface.o tbxfroot.o utalloc.o
utcache.o utcopy.o utdebug.o utdelete.o uteval.o utglobal.o utinit.o utlock.o
utmath.o utmisc.o utmutex.o utobject.o utresrc.o utstate.o utxface.o rijndael-
alg-fst.o rijndael-api-fst.o sha2.o db_access.o db_break.o db_capture.o
db_command.o db_examine.o db_expr.o db_input.o db_lex.o db_main.o db_output.o
db_print.o db_ps.o db_run.o db_script.o db_sym.o db_thread.o db_textdump.o
db_variables.o db_watch.o db_write_cmd.o OsdDebug.o OsdHardware.o
OsdInterrupt.o OsdMemory.o OsdSchedule.o OsdStream.o OsdSynch.o OsdTable.o
acpi.o acpi_acad.o acpi_battery.o acpi_button.o acpi_cmbat.o acpi_cpu.o
acpi_ec.o acpi_hpet.o acpi_isab.o acpi_lid.o acpi_package.o acpi_pci.o
acpi_pci_link.o acpi_pcib.o acpi_pcib_acpi.o acpi_pcib_pci.o acpi_perf.o
acpi_powerres.o acpi_quirk.o acpi_resource.o acpi_smbat.o acpi_thermal.o
acpi_throttle.o acpi_timer.o agp.o agp_if.o ata_if.o ata-all.o ata-dma.o ata-
lowlevel.o ata-queue.o ata-sata.o ata-isa.o ata-pci.o ata-ahci.o ata-acard.o
ata-acerlabs.o ata-adaptec.o ata-amd.o ata-ati.o ata-cenatek.o ata-cypress.o
ata-cyrix.o ata-highpoint.o ata-intel.o ata-ite.o ata-jmicron.o ata-marvell.o
ata-micron.o ata-national.o ata-netcell.o ata-nvidia.o ata-promise.o ata-
serverworks.o ata-siliconimage.o ata-sis.o ata-via.o ata-disk.o atapi-tape.o
ichss.o eisa_if.o led.o memdev.o mmcbr_if.o mmcbus_if.o null.o card_if.o
power_if.o fixup_pci.o hostb_pci.o ignore_pci.o isa_pci.o pci.o pci_if.o
pci_pci.o pci_user.o pcib_if.o vga_pci.o pty.o harvest.o hash.o probe.o
randomdev.o randomdev_soft.o yarrow.o schistory.o scmouse.o scterm.o scvidctl.o
syscons.o sysmouse.o uart_bus_acpi.o uart_bus_isa.o uart_bus_pci.o uart_core.o
uart_dev_ns8250.o uart_if.o uart_subr.o uart_tty.o watchdog.o dead_vnops.o
devfs_devs.o devfs_rule.o devfs_vfsops.o devfs_vnops.o fifo_vnops.o geom_ctl.o
geom_dev.o geom_disk.o geom_dump.o geom_event.o geom_io.o geom_kern.o
geom_slice.o geom_subr.o geom_vfs.o g_label.o g_label_ext2fs.o
g_label_iso9660.o g_label_msdosfs.o g_label_ntfs.o g_label_reiserfs.o
g_label_ufs.o g_label_gpt.o g_part.o g_part_if.o g_part_bsd.o g_part_ebr.o
g_part_gpt.o g_part_mbr.o isa_if.o isa_common.o isahint.o orm.o bus_if.o
clock_if.o cpufreq_if.o device_if.o imgact_elf.o imgact_shell.o init_main.o
init_sysent.o ksched.o kern_acct.o kern_clock.o kern_condvar.o kern_conf.o
kern_cons.o kern_cpu.o kern_cpuset.o kern_context.o kern_descrip.o
kern_environment.o kern_event.o kern_exec.o kern_exit.o kern_fail.o kern_fork.o
kern_idle.o kern_intr.o kern_jail.o kern_kthread.o kern_ktrace.o kern_linker.o
kern_lock.o kern_lockf.o kern_malloc.o kern_mbuf.o kern_mib.o kern_module.o
kern_mtxpool.o kern_mutex.o kern_ntptime.o kern_osd.o kern_physio.o kern_pmc.o
kern_priv.o kern_proc.o kern_prot.o kern_resource.o kern_rmlock.o kern_rwlock.o
kern_sema.o kern_shutdown.o kern_sig.o kern_subr.o kern_switch.o kern_sx.o
kern_synch.o kern_syscalls.o kern_sysctl.o kern_tc.o kern_thr.o kern_thread.o
kern_time.o kern_timeout.o kern_umtx.o kern_uuid.o kern_xxx.o link_elf.o
linker_if.o md5c.o p1003_1b.o posix4_mib.o sched_ule.o serdev_if.o
stack_protector.o subr_acl_posix1e.o subr_autoconf.o subr_blist.o subr_bus.o
subr_bufring.o subr_clock.o subr_devstat.o subr_disk.o subr_eventhandler.o
subr_fattime.o subr_hints.o subr_kdb.o subr_kobj.o subr_lock.o subr_log.o
subr_module.o subr_msgbuf.o subr_param.o subr_pcpu.o subr_power.o subr_prf.o
subr_prof.o subr_rman.o subr_rtc.o subr_sbuf.o subr_scanf.o subr_sglist.o
subr_sleepqueue.o subr_smp.o subr_stack.o subr_taskqueue.o subr_trap.o
subr_turnstile.o subr_unit.o sys_generic.o sys_pipe.o sys_process.o
sys_socket.o sysv_ipc.o sysv_msg.o sysv_sem.o sysv_shm.o tty.o tty_info.o
tty_inq.o tty_outq.o tty_pts.o tty_tty.o tty_ttydisc.o uipc_accf.o uipc_debug.o
uipc_domain.o uipc_mbuf.o uipc_mbuf2.o uipc_shm.o uipc_sockbuf.o uipc_socket.o
uipc_syscalls.o uipc_usrreq.o vfs_acl.o vfs_bio.o vfs_cache.o vfs_cluster.o
vfs_default.o vfs_export.o vfs_extattr.o vfs_hash.o vfs_init.o vfs_lookup.o
vfs_mount.o vfs_subr.o vfs_syscalls.o vfs_vnops.o arc4random.o bcd.o bsearch.o
crc32.o fnmatch.o gets.o index.o inet_ntoa.o memcmp.o qsort.o qsort_r.o
random.o rindex.o scanc.o skpc.o strcasecmp.o strcat.o strcmp.o strcpy.o
strcspn.o strdup.o strlcat.o strlcpy.o strlen.o strncmp.o strncpy.o strsep.o
strspn.o strstr.o strtol.o strtoq.o strtoul.o strtouq.o strvalid.o bpf.o
bpf_buffer.o bpf_filter.o bpf_zerocopy.o if.o if_clone.o if_dead.o
if_ethersubr.o if_loop.o if_llatbl.o if_media.o if_mib.o if_tun.o netisr.o
pfil.o radix.o radix_mpath.o raw_cb.o raw_usrreq.o route.o rtsock.o if_ether.o
igmp.o in.o ip_id.o in_mcast.o in_pcb.o in_proto.o in_rmx.o ip_ecn.o ip_encap.o
ip_fastfwd.o ip_icmp.o ip_input.o ip_options.o ip_output.o raw_ip.o
tcp_hostcache.o tcp_input.o tcp_lro.o tcp_output.o tcp_offload.o tcp_reass.o
tcp_sack.o tcp_subr.o tcp_syncache.o tcp_timer.o tcp_timewait.o tcp_usrreq.o
udp_usrreq.o dest6.o frag6.o icmp6.o in6.o in6_cksum.o in6_ifattach.o
in6_mcast.o in6_pcb.o in6_proto.o in6_rmx.o in6_src.o ip6_forward.o ip6_id.o
ip6_input.o ip6_output.o mld6.o nd6.o nd6_nbr.o nd6_rtr.o raw_ip6.o route6.o
scope6.o udp6_usrreq.o audit.o audit_arg.o audit_bsm.o audit_bsm_domain.o
audit_bsm_errno.o audit_bsm_fcntl.o audit_bsm_klib.o audit_bsm_socket_type.o
audit_bsm_token.o audit_pipe.o audit_syscalls.o audit_trigger.o audit_worker.o
mac_syscalls.o teken.o ffs_alloc.o ffs_balloc.o ffs_inode.o ffs_snapshot.o
ffs_softdep.o ffs_subr.o ffs_tables.o ffs_vfsops.o ffs_vnops.o ufs_acl.o
ufs_bmap.o ufs_dirhash.o ufs_extattr.o ufs_gjournal.o ufs_inode.o ufs_lookup.o
ufs_quota.o ufs_vfsops.o ufs_vnops.o default_pager.o device_pager.o
phys_pager.o sg_pager.o swap_pager.o uma_core.o uma_dbg.o vm_contig.o
vm_fault.o vm_glue.o vm_init.o vm_kern.o vm_map.o vm_meter.o vm_mmap.o
vm_object.o vm_page.o vm_pageout.o vm_pager.o vm_phys.o vm_reserv.o vm_unix.o
vm_zeroidle.o vnode_pager.o OsdEnvironment.o acpi_machdep.o acpi_switch.o
acpi_wakeup.o madt.o amd64_mem.o atomic.o autoconf.o bios.o busdma_machdep.o
cpu_switch.o db_disasm.o db_interface.o db_trace.o dump_machdep.o elf_machdep.o
exception.o fpu.o identcpu.o in_cksum.o initcpu.o intr_machdep.o io.o io_apic.o
legacy.o local_apic.o machdep.o mca.o mem.o minidump_machdep.o mp_machdep.o
mpboot.o msi.o nexus.o pmap.o sigtramp.o stack_machdep.o support.o
sys_machdep.o trap.o tsc.o uio_machdep.o uma_machdep.o vm_machdep.o clock.o
elcr.o isa.o isa_dma.o nmi.o pci_bus.o pci_cfgreg.o acpi_if.o acpi_wmi_if.o
agp_amd64.o agp_i810.o agp_intel.o agp_via.o atkbd.o atkbd_atkbdc.o atkbdc.o
atkbdc_isa.o atkbdc_subr.o psm.o fb.o vga.o iodev.o fdc.o fdc_acpi.o fdc_isa.o
kbd.o memutil.o scterm-teken.o scvgarndr.o scvtb.o uart_cpu_amd64.o atrtc.o
syscons_isa.o vga_isa.o link_elf_obj.o powernow.o est.o hwpstate.o p4tcc.o
memmove.o memset.o config.o env.o hints.o vnode_if.o hack.So vers.o
and here you can download all the files:
http://www.vlakno.cz/~rdivacky/llvm.bug.tgz
You only need three of the files. This crashes:
$ llvm-ld -disable-opt -o kernel.debug sys_pipe.o sys_process.o sys_socket.o
llvm-ld: Value.cpp:458: void llvm::ValueHandleBase::RemoveFromUseList():
Assertion `*PrevPtr == this && "List invariant broken"' failed.
0 llvm-ld 0x00000000006efce2
1 llvm-ld 0x00000000006f027e
2 libpthread.so.0 0x00007ffc3746a7d0
3 libc.so.6 0x00007ffc36586095 gsignal + 53
4 libc.so.6 0x00007ffc36587af0 abort + 272
5 libc.so.6 0x00007ffc3657f2df __assert_fail + 239
6 llvm-ld 0x0000000000692786
llvm::ValueHandleBase::RemoveFromUseList() + 132
7 llvm-ld 0x00000000004d3640
llvm::ValueHandleBase::operator=(llvm::Value*) + 66
8 llvm-ld 0x0000000000694957
llvm::CallbackVH::setValPtr(llvm::Value*) + 33
9 llvm-ld 0x0000000000694974 llvm::CallbackVH::deleted() + 26
10 llvm-ld 0x00000000006939eb
llvm::ValueHandleBase::ValueIsDeleted(llvm::Value*) + 437
11 llvm-ld 0x0000000000693dab llvm::Value::~Value() + 55
12 llvm-ld 0x0000000000462e6f llvm::User::~User() + 107
13 llvm-ld 0x0000000000665269 llvm::MetadataBase::~MetadataBase() + 39
14 llvm-ld 0x0000000000663a02 llvm::MDNode::~MDNode() + 128
15 llvm-ld 0x0000000000663fa4
llvm::MDNode::replaceElement(llvm::Value*, llvm::Value*) + 1044
16 llvm-ld 0x0000000000665b91
llvm::MDNode::ElementVH::allUsesReplacedWith(llvm::Value*) + 45
17 llvm-ld 0x0000000000692cc0
llvm::ValueHandleBase::ValueIsRAUWd(llvm::Value*, llvm::Value*) + 336
18 llvm-ld 0x0000000000692cfa
llvm::Value::uncheckedReplaceAllUsesWith(llvm::Value*) + 44
19 llvm-ld 0x0000000000692e03
llvm::Value::replaceAllUsesWith(llvm::Value*) + 135
20 llvm-ld 0x0000000000446a04
llvm::BitcodeReaderMDValueList::AssignValue(llvm::Value*, unsigned int) + 196
21 llvm-ld 0x00000000004492b4 llvm::BitcodeReader::ParseMetadata() +
1880
22 llvm-ld 0x000000000044f7a5
llvm::BitcodeReader::ParseModule(std::string const&) + 1525
23 llvm-ld 0x0000000000450a8e llvm::BitcodeReader::ParseBitcode() + 614
24 llvm-ld 0x0000000000450b41
llvm::getBitcodeModuleProvider(llvm::MemoryBuffer*, llvm::LLVMContext&,
std::string*) + 63
25 llvm-ld 0x0000000000450bc7
llvm::ParseBitcodeFile(llvm::MemoryBuffer*, llvm::LLVMContext&, std::string*) +
37
26 llvm-ld 0x000000000043ccb3 llvm::Linker::LoadObject(llvm::sys::Path
const&) + 147
27 llvm-ld 0x000000000042e98d llvm::Linker::LinkInFile(llvm::sys::Path
const&, bool&) + 1085
28 llvm-ld 0x000000000042f188
llvm::Linker::LinkInItems(std::vector<std::pair<std::string, bool>,
std::allocator<std::pair<std::string, bool> > > const&,
std::vector<std::pair<std::string, bool>, std::allocator<std::pair<std::string,
bool> > >&) + 246
29 llvm-ld 0x00000000004090ba main + 1316
30 libc.so.6 0x00007ffc365721c4 __libc_start_main + 244
31 llvm-ld 0x0000000000400249
Stack dump:
0. Program arguments: /home/nlewycky/llvm/Debug/bin/llvm-ld -disable-opt -
o kernel.debug sys_pipe.o sys_process.o sys_socket.o
Hm, it gets more exciting. Here's the valgrind output for the first error it
sees:
==29860== Invalid read of size 8
==29860== at 0x6938D2: llvm::ValueHandleBase::ValueIsDeleted(llvm::Value*)
/usr/local/google/home/nlewycky/llvm/lib/VMCore/Value.cpp:491
==29860== by 0x693DAA: llvm::Value::~Value()
/usr/local/google/home/nlewycky/llvm/lib/VMCore/Value.cpp:65
==29860== by 0x462E6E: llvm::User::~User()
/usr/local/google/home/nlewycky/llvm/include/llvm/User.h:79
==29860== by 0x665268: llvm::MetadataBase::~MetadataBase()
/usr/local/google/home/nlewycky/llvm/include/llvm/Metadata.h:35
==29860== by 0x663A01: llvm::MDNode::~MDNode()
/usr/local/google/home/nlewycky/llvm/lib/VMCore/Metadata.cpp:124
==29860== by 0x663FA3: llvm::MDNode::replaceElement(llvm::Value*,
llvm::Value*) /usr/local/google/home/nlewycky/llvm/lib/VMCore/Metadata.cpp:195
==29860== by 0x665B90:
llvm::MDNode::ElementVH::allUsesReplacedWith(llvm::Value*)
/usr/local/google/home/nlewycky/llvm/include/llvm/Metadata.h:124
==29860== by 0x692CBF: llvm::ValueHandleBase::ValueIsRAUWd(llvm::Value*,
llvm::Value*) /usr/local/google/home/nlewycky/llvm/lib/VMCore/Value.cpp:543
==29860== by 0x692CF9:
llvm::Value::uncheckedReplaceAllUsesWith(llvm::Value*)
/usr/local/google/home/nlewycky/llvm/lib/VMCore/Value.cpp:306
==29860== by 0x692E02: llvm::Value::replaceAllUsesWith(llvm::Value*)
/usr/local/google/home/nlewycky/llvm/lib/VMCore/Value.cpp:329
==29860== by 0x446A03:
llvm::BitcodeReaderMDValueList::AssignValue(llvm::Value*, unsigned int)
/usr/local/google/home/nlewycky/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:333
==29860== by 0x4492B3: llvm::BitcodeReader::ParseMetadata()
/usr/local/google/home/nlewycky/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:830
==29860== by 0x44F7A4: llvm::BitcodeReader::ParseModule(std::string const&)
/usr/local/google/home/nlewycky/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:1290
==29860== by 0x450A8D: llvm::BitcodeReader::ParseBitcode()
/usr/local/google/home/nlewycky/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:1525
==29860== by 0x450B40: llvm::getBitcodeModuleProvider(llvm::MemoryBuffer*,
llvm::LLVMContext&, std::string*)
/usr/local/google/home/nlewycky/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:2242
==29860== by 0x450BC6: llvm::ParseBitcodeFile(llvm::MemoryBuffer*,
llvm::LLVMContext&, std::string*)
/usr/local/google/home/nlewycky/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:2260
==29860== by 0x43CCB2: llvm::Linker::LoadObject(llvm::sys::Path const&)
/usr/local/google/home/nlewycky/llvm/lib/Linker/Linker.cpp:103
==29860== by 0x42E98C: llvm::Linker::LinkInFile(llvm::sys::Path const&,
bool&) /usr/local/google/home/nlewycky/llvm/lib/Linker/LinkItems.cpp:197
==29860== by 0x42F187:
llvm::Linker::LinkInItems(std::vector<std::pair<std::string, bool>,
std::allocator<std::pair<std::string, bool> > > const&,
std::vector<std::pair<std::string, bool>, std::allocator<std::pair<std::string,
bool> > >&) /usr/local/google/home/nlewycky/llvm/lib/Linker/LinkItems.cpp:46
==29860== by 0x4090B9: main /usr/local/google/home/nlewycky/llvm/tools/llvm-
ld/llvm-ld.cpp:556
==29860== Address 0x70c8508 is 56 bytes inside a block of size 640 free'd
==29860== at 0x4C2373D: operator delete(void*)
/tmp/vg/coregrind/m_replacemalloc/vg_replace_malloc.c:379
==29860== by 0x665197:
llvm::SmallVectorImpl<llvm::MDNode::ElementVH>::~SmallVectorImpl()
/usr/local/google/home/nlewycky/llvm/include/llvm/ADT/SmallVector.h:89
==29860== by 0x6651AE: llvm::SmallVector<llvm::MDNode::ElementVH,
4u>::~SmallVector()
/usr/local/google/home/nlewycky/llvm/include/llvm/ADT/SmallVector.h:567
==29860== by 0x6639F8: llvm::MDNode::~MDNode()
/usr/local/google/home/nlewycky/llvm/lib/VMCore/Metadata.cpp:124
==29860== by 0x663FA3: llvm::MDNode::replaceElement(llvm::Value*,
llvm::Value*) /usr/local/google/home/nlewycky/llvm/lib/VMCore/Metadata.cpp:195
==29860== by 0x665B90:
llvm::MDNode::ElementVH::allUsesReplacedWith(llvm::Value*)
/usr/local/google/home/nlewycky/llvm/include/llvm/Metadata.h:124
==29860== by 0x692CBF: llvm::ValueHandleBase::ValueIsRAUWd(llvm::Value*,
llvm::Value*) /usr/local/google/home/nlewycky/llvm/lib/VMCore/Value.cpp:543
==29860== by 0x692CF9:
llvm::Value::uncheckedReplaceAllUsesWith(llvm::Value*)
/usr/local/google/home/nlewycky/llvm/lib/VMCore/Value.cpp:306
==29860== by 0x692E02: llvm::Value::replaceAllUsesWith(llvm::Value*)
/usr/local/google/home/nlewycky/llvm/lib/VMCore/Value.cpp:329
==29860== by 0x663F7F: llvm::MDNode::replaceElement(llvm::Value*,
llvm::Value*) /usr/local/google/home/nlewycky/llvm/lib/VMCore/Metadata.cpp:194
==29860== by 0x665BBD: llvm::MDNode::ElementVH::deleted()
/usr/local/google/home/nlewycky/llvm/include/llvm/Metadata.h:120
==29860== by 0x6939EA: llvm::ValueHandleBase::ValueIsDeleted(llvm::Value*)
/usr/local/google/home/nlewycky/llvm/lib/VMCore/Value.cpp:507
==29860== by 0x693DAA: llvm::Value::~Value()
/usr/local/google/home/nlewycky/llvm/lib/VMCore/Value.cpp:65
==29860== by 0x462E6E: llvm::User::~User()
/usr/local/google/home/nlewycky/llvm/include/llvm/User.h:79
==29860== by 0x665268: llvm::MetadataBase::~MetadataBase()
/usr/local/google/home/nlewycky/llvm/include/llvm/Metadata.h:35
==29860== by 0x663A01: llvm::MDNode::~MDNode()
/usr/local/google/home/nlewycky/llvm/lib/VMCore/Metadata.cpp:124
==29860== by 0x663FA3: llvm::MDNode::replaceElement(llvm::Value*,
llvm::Value*) /usr/local/google/home/nlewycky/llvm/lib/VMCore/Metadata.cpp:195
==29860== by 0x665B90:
llvm::MDNode::ElementVH::allUsesReplacedWith(llvm::Value*)
/usr/local/google/home/nlewycky/llvm/include/llvm/Metadata.h:124
==29860== by 0x692CBF: llvm::ValueHandleBase::ValueIsRAUWd(llvm::Value*,
llvm::Value*) /usr/local/google/home/nlewycky/llvm/lib/VMCore/Value.cpp:543
==29860== by 0x692CF9:
llvm::Value::uncheckedReplaceAllUsesWith(llvm::Value*)
/usr/local/google/home/nlewycky/llvm/lib/VMCore/Value.cpp:306
==29860== by 0x692E02: llvm::Value::replaceAllUsesWith(llvm::Value*)
/usr/local/google/home/nlewycky/llvm/lib/VMCore/Value.cpp:329
==29860== by 0x446A03:
llvm::BitcodeReaderMDValueList::AssignValue(llvm::Value*, unsigned int)
/usr/local/google/home/nlewycky/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:333
==29860== by 0x4492B3: llvm::BitcodeReader::ParseMetadata()
/usr/local/google/home/nlewycky/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:830
==29860== by 0x44F7A4: llvm::BitcodeReader::ParseModule(std::string const&)
/usr/local/google/home/nlewycky/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:1290
==29860== by 0x450A8D: llvm::BitcodeReader::ParseBitcode()
/usr/local/google/home/nlewycky/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:1525
==29860== by 0x450B40: llvm::getBitcodeModuleProvider(llvm::MemoryBuffer*,
llvm::LLVMContext&, std::string*)
/usr/local/google/home/nlewycky/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:2242
==29860== by 0x450BC6: llvm::ParseBitcodeFile(llvm::MemoryBuffer*,
llvm::LLVMContext&, std::string*)
/usr/local/google/home/nlewycky/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:2260
==29860== by 0x43CCB2: llvm::Linker::LoadObject(llvm::sys::Path const&)
/usr/local/google/home/nlewycky/llvm/lib/Linker/Linker.cpp:103
==29860== by 0x42E98C: llvm::Linker::LinkInFile(llvm::sys::Path const&,
bool&) /usr/local/google/home/nlewycky/llvm/lib/Linker/LinkItems.cpp:197
==29860== by 0x42F187:
llvm::Linker::LinkInItems(std::vector<std::pair<std::string, bool>,
std::allocator<std::pair<std::string, bool> > > const&,
std::vector<std::pair<std::string, bool>, std::allocator<std::pair<std::string,
bool> > >&) /usr/local/google/home/nlewycky/llvm/lib/Linker/LinkItems.cpp:46
==29860== by 0x4090B9: main /usr/local/google/home/nlewycky/llvm/tools/llvm-
ld/llvm-ld.cpp:556
==29860==
but of course, 'valgrind llvm-dis' on any one of those files works fine.
Attached sys_pipe.o
(135764 bytes, application/x-object): sys_pipe.o
Attached sys_process.o
(117792 bytes, application/x-object): sys_process.o
Attached sys_socket.o
(48636 bytes, application/x-object): sys_socket.o
dont know if it's a progress but when I try the same I am getting:
Assertion failed: (RefCount && "No objects are currently referencing this object!"), function dropRef, file /data/home/rdivacky/llvm/include/llvm/Type.h, line 443.
Is this still a problem? I rewrote much of the relevant code with the type system rewrite. The assertion that Roman cites is now gone, for example.
_This bug has been marked as a duplicate of bug 4496_
sys_pipe.o
(135764 bytes, application/x-object)sys_process.o
(117792 bytes, application/x-object)sys_socket.o
(48636 bytes, application/x-object)