# Import\_vcf() for tutorial data fails

**URL:** <https://discuss.hail.is/t/import-vcf-for-tutorial-data-fails/199>\
**Category:** Help \[0.1\]\
**Created:** [May 3, 2017, 5:43pm UTC](https://discuss.hail.is/t/import-vcf-for-tutorial-data-fails/199 "2017-05-03T17:43:29Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jens\_Reeder](https://avatars.discourse-cdn.com/v4/letter/j/8e8cbc/32.png) [@Jens\_Reeder](https://discuss.hail.is/u/Jens_Reeder)\
**Post date:** [May 3, 2017, 5:43pm UTC](https://discuss.hail.is/t/import-vcf-for-tutorial-data-fails/199/1 "2017-05-03T17:43:29Z")

</div>

Hi

I am trying to get started with hail and run the tutorial.  
I am running Spark 2.0.1 and hail devel-a51a4c3 on a HPC via a jupyter notebook.

After some tinkering with the configs I can succesfully create a hail context. However reading my first vcf fails right away - stacktrace attached. Any ideas where I can start digging around to see what is wrong?

from hail import \*  
hc = HailContext(sc)  
vds = hc.import\_vcf(‘1000Genomes\_248samples\_coreExome10K.vcf.bgz’)

* * *

FatalError Traceback (most recent call last)  
 in ()  
----\> 1 vds = hc.import\_vcf(‘1000Genomes\_248samples\_coreExome10K.vcf.bgz’)

in import\_vcf(self, path, force, force\_bgz, header\_file, npartitions, sites\_only, store\_gq, pp\_as\_pl, skip\_bad\_ad, generic, call\_fields)

/gne/home/reederj/Projects/hail/python/hail/java.pyc in handle\_py4j(func, \*args, \*\*kwargs)  
111 raise FatalError(’%s\n\nJava stack trace:\n%s\n’  
112 ‘Hail version: %s\n’  
–\> 113 ‘Error summary: %s’ % (deepest, full, Env.hc().version, deepest))  
114 except py4j.protocol.Py4JError as e:  
115 if e.args[0].startswith(‘An error occurred while calling’):

FatalError: ClassCastException: cannot assign instance of scala.collection.immutable.List$SerializationProxy to field org.apache.spark.rdd.RDD.org$apache$spark$rdd$RDD$$dependencies\_ of type scala.collection.Seq in instance of org.apache.spark.rdd.MapPartitionsRDD

Java stack trace:  
org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in stage 1.0 failed 4 times, most recent failure: Lost task 1.3 in stage 1.0 (TID 12, 10.33.130.252): java.lang.ClassCastException: cannot assign instance of scala.collection.immutable.List$SerializationProxy to field org.apache.spark.rdd.RDD.org$apache$spark$rdd$RDD$$dependencies\_ of type scala.collection.Seq in instance of org.apache.spark.rdd.MapPartitionsRDD  
at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2133)  
at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1305)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2006)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)  
at scala.collection.immutable.List$SerializationProxy.readObject(List.scala:479)  
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)  
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
at java.lang.reflect.Method.invoke(Method.java:498)  
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)  
at scala.collection.immutable.List$SerializationProxy.readObject(List.scala:479)  
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)  
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
at java.lang.reflect.Method.invoke(Method.java:498)  
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)  
at org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:75)  
at org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:114)  
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)  
at org.apache.spark.scheduler.Task.run(Task.scala:86)  
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:274)  
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)  
at java.lang.Thread.run(Thread.java:745)

Driver stacktrace:  
at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1454)  
at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1442)  
at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1441)  
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)  
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)  
at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1441)  
at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:811)  
at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:811)  
at scala.Option.foreach(Option.scala:257)  
at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:811)  
at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:1667)  
at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1622)  
at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1611)  
at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48)  
at org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:632)  
at org.apache.spark.SparkContext.runJob(SparkContext.scala:1890)  
at org.apache.spark.SparkContext.runJob(SparkContext.scala:1953)  
at org.apache.spark.rdd.RDD$$anonfun$fold$1.apply(RDD.scala:1065)  
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)  
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)  
at org.apache.spark.rdd.RDD.withScope(RDD.scala:358)  
at org.apache.spark.rdd.RDD.fold(RDD.scala:1059)  
at is.hail.utils.richUtils.RichRDD$.exists$extension(RichRDD.scala:21)  
at is.hail.utils.richUtils.RichRDD$.forall$extension(RichRDD.scala:17)  
at is.hail.io.vcf.LoadVCF$.apply(LoadVCF.scala:286)  
at is.hail.HailContext.importVCFs(HailContext.scala:498)  
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)  
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
at java.lang.reflect.Method.invoke(Method.java:498)  
at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:237)  
at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)  
at py4j.Gateway.invoke(Gateway.java:280)  
at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)  
at py4j.commands.CallCommand.execute(CallCommand.java:79)  
at py4j.GatewayConnection.run(GatewayConnection.java:214)  
at java.lang.Thread.run(Thread.java:745)java.lang.ClassCastException: cannot assign instance of scala.collection.immutable.List$SerializationProxy to field org.apache.spark.rdd.RDD.org$apache$spark$rdd$RDD$$dependencies\_ of type scala.collection.Seq in instance of org.apache.spark.rdd.MapPartitionsRDD  
at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2133)  
at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1305)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2006)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)  
at scala.collection.immutable.List$SerializationProxy.readObject(List.scala:479)  
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)  
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
at java.lang.reflect.Method.invoke(Method.java:498)  
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)  
at scala.collection.immutable.List$SerializationProxy.readObject(List.scala:479)  
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)  
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
at java.lang.reflect.Method.invoke(Method.java:498)  
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)  
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)  
at org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:75)  
at org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:114)  
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)  
at org.apache.spark.scheduler.Task.run(Task.scala:86)  
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:274)  
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)  
at java.lang.Thread.run(Thread.java:745)  
Hail version: devel-a51a4c3  
Error summary: ClassCastException: cannot assign instance of scala.collection.immutable.List$SerializationProxy to field org.apache.spark.rdd.RDD.org$apache$spark$rdd$RDD$$dependencies\_ of type scala.collection.Seq in instance of org.apache.spark.rdd.MapPartitionsRDD

---

<div class="post-metadata">

**Author:** ![tpoterba](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.hail.is/tpoterba/32/61_2.png) [@tpoterba](https://discuss.hail.is/u/tpoterba)\
**Post date:** [May 3, 2017, 5:58pm UTC](https://discuss.hail.is/t/import-vcf-for-tutorial-data-fails/199/2 "2017-05-03T17:58:16Z")

</div>

This error means that the Hail jar is visible on the Spark driver, but not the Spark workers. Make sure that it’s in a network-visible file system and directory, or copy it to the same path on each worker node before running Hail. Should be a relatively simple fix!

Let us know if this doesn’t fix the problem or if you have other questions!

---

<div class="post-metadata">

**Author:** ![Jens\_Reeder](https://avatars.discourse-cdn.com/v4/letter/j/8e8cbc/32.png) [@Jens\_Reeder](https://discuss.hail.is/u/Jens_Reeder)\
**Post date:** [May 3, 2017, 10:53pm UTC](https://discuss.hail.is/t/import-vcf-for-tutorial-data-fails/199/3 "2017-05-03T22:53:59Z")

</div>

that was it!

thanks for the quick reply.

Jens
