# AssertionError exporting Table to txt file

**URL:** <https://discuss.hail.is/t/assertionerror-exporting-table-to-txt-file/3554>\
**Category:** Hail Query & hailctl\
**Created:** [August 18, 2023, 5:36pm UTC](https://discuss.hail.is/t/assertionerror-exporting-table-to-txt-file/3554 "2023-08-18T17:36:26Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![klaricch](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.hail.is/klaricch/32/643_2.png) [@klaricch](https://discuss.hail.is/u/klaricch)\
**Post date:** [August 18, 2023, 5:36pm UTC](https://discuss.hail.is/t/assertionerror-exporting-table-to-txt-file/3554/1 "2023-08-18T17:36:26Z")

</div>

Hi,  
I’m getting an AssertionError in a script I’m running at the step where I’m trying to export some information to a txt file. The script I’m running is here: [https://github.com/broadinstitute/gnomad-mitochondria/blob/resources/gnomad\_mitochondria/pipeline/add\_annotations.py](https://github.com/broadinstitute/gnomad-mitochondria/blob/resources/gnomad_mitochondria/pipeline/add_annotations.py). Would you be able to help interpret this error?

INFO (add annotations 215): Writing sample annotations…  
Traceback (most recent call last):  
File “/tmp/da8ca10faa85417c9183eab7b9a3380b/add\_annotations.py”, line 320, in   
main(args)  
File “/tmp/da8ca10faa85417c9183eab7b9a3380b/add\_annotations.py”, line 218, in main  
sample\_ht.group\_by(sample\_ht.hap).aggregate(n=hl.agg.count()).export(  
File “”, line 2, in export  
File “/opt/conda/default/lib/python3.10/site-packages/hail/typecheck/check.py”, line 584, in wrapper  
return _original\_func(\*args, \*\*kwargs_)  
File “/opt/conda/default/lib/python3.10/site-packages/hail/table.py”, line 1152, in export  
Env.backend().execute(  
File “/opt/conda/default/lib/python3.10/site-packages/hail/backend/py4j\_backend.py”, line 82, in execute  
raise e.maybe\_user\_error(ir) from None  
File “/opt/conda/default/lib/python3.10/site-packages/hail/backend/py4j\_backend.py”, line 76, in execute  
result\_tuple = self.\_jbackend.executeEncode(jir, stream\_codec, timed)  
File “/usr/lib/spark/python/lib/py4j-0.10.9.5-src.zip/py4j/java\_gateway.py”, line 1321, in **call**  
File “/opt/conda/default/lib/python3.10/site-packages/hail/backend/py4j\_backend.py”, line 35, in deco  
raise fatal\_error\_from\_java\_error\_triplet(deepest, full, error\_id) from None  
hail.utils.java.FatalError: AssertionError: assertion failed

Java stack trace:  
java.lang.AssertionError: assertion failed  
at scala.Predef$.assert(Predef.scala:208)  
at is.hail.expr.ir.TableReader.toExecuteIntermediate(TableIR.scala:485)  
at is.hail.expr.ir.TableRead.execute(TableIR.scala:1670)  
at is.hail.expr.ir.TableIR.analyzeAndExecute(TableIR.scala:61)  
at is.hail.expr.ir.Interpret$.run(Interpret.scala:857)  
at is.hail.expr.ir.Interpret$.alreadyLowered(Interpret.scala:59)  
at is.hail.expr.ir.LowerOrInterpretNonCompilable$.evaluate$1(LowerOrInterpretNonCompilable.scala:20)  
at is.hail.expr.ir.LowerOrInterpretNonCompilable$.rewrite$1(LowerOrInterpretNonCompilable.scala:58)  
at is.hail.expr.ir.LowerOrInterpretNonCompilable$.apply(LowerOrInterpretNonCompilable.scala:63)  
at is.hail.expr.ir.lowering.LowerOrInterpretNonCompilablePass$.transform(LoweringPass.scala:67)  
at is.hail.expr.ir.lowering.LoweringPass.$anonfun$apply$3(LoweringPass.scala:16)  
at is.hail.utils.ExecutionTimer.time(ExecutionTimer.scala:81)  
at is.hail.expr.ir.lowering.LoweringPass.$anonfun$apply$1(LoweringPass.scala:16)  
at is.hail.utils.ExecutionTimer.time(ExecutionTimer.scala:81)  
at is.hail.expr.ir.lowering.LoweringPass.apply(LoweringPass.scala:14)  
at is.hail.expr.ir.lowering.LoweringPass.apply$(LoweringPass.scala:13)  
at is.hail.expr.ir.lowering.LowerOrInterpretNonCompilablePass$.apply(LoweringPass.scala:62)  
at is.hail.expr.ir.lowering.LoweringPipeline.$anonfun$apply$1(LoweringPipeline.scala:22)  
at is.hail.expr.ir.lowering.LoweringPipeline.$anonfun$apply$1$adapted(LoweringPipeline.scala:20)  
at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)  
at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)  
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)  
at is.hail.expr.ir.lowering.LoweringPipeline.apply(LoweringPipeline.scala:20)  
at is.hail.expr.ir.lowering.EvalRelationalLets$.execute$1(EvalRelationalLets.scala:10)  
at is.hail.expr.ir.lowering.EvalRelationalLets$.lower$1(EvalRelationalLets.scala:18)  
at is.hail.expr.ir.lowering.EvalRelationalLets$.apply(EvalRelationalLets.scala:32)  
at is.hail.expr.ir.lowering.EvalRelationalLetsPass.transform(LoweringPass.scala:147)  
at is.hail.expr.ir.lowering.LoweringPass.$anonfun$apply$3(LoweringPass.scala:16)  
at is.hail.utils.ExecutionTimer.time(ExecutionTimer.scala:81)  
at is.hail.expr.ir.lowering.LoweringPass.$anonfun$apply$1(LoweringPass.scala:16)  
at is.hail.utils.ExecutionTimer.time(ExecutionTimer.scala:81)  
at is.hail.expr.ir.lowering.LoweringPass.apply(LoweringPass.scala:14)  
at is.hail.expr.ir.lowering.LoweringPass.apply$(LoweringPass.scala:13)  
at is.hail.expr.ir.lowering.EvalRelationalLetsPass.apply(LoweringPass.scala:141)  
at is.hail.expr.ir.lowering.LoweringPipeline.$anonfun$apply$1(LoweringPipeline.scala:22)  
at is.hail.expr.ir.lowering.LoweringPipeline.$anonfun$apply$1$adapted(LoweringPipeline.scala:20)  
at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)  
at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)  
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)  
at is.hail.expr.ir.lowering.LoweringPipeline.apply(LoweringPipeline.scala:20)  
at is.hail.expr.ir.CompileAndEvaluate$.\_apply(CompileAndEvaluate.scala:50)  
at is.hail.backend.spark.SparkBackend.\_execute(SparkBackend.scala:462)  
at is.hail.backend.spark.SparkBackend.$anonfun$executeEncode$2(SparkBackend.scala:498)  
at is.hail.backend.ExecuteContext$.$anonfun$scoped$3(ExecuteContext.scala:75)  
at is.hail.utils.package$.using(package.scala:635)  
at is.hail.backend.ExecuteContext$.$anonfun$scoped$2(ExecuteContext.scala:75)  
at is.hail.utils.package$.using(package.scala:635)  
at is.hail.annotations.RegionPool$.scoped(RegionPool.scala:17)  
at is.hail.backend.ExecuteContext$.scoped(ExecuteContext.scala:63)  
at is.hail.backend.spark.SparkBackend.withExecuteContext(SparkBackend.scala:350)  
at is.hail.backend.spark.SparkBackend.$anonfun$executeEncode$1(SparkBackend.scala:495)  
at is.hail.utils.ExecutionTimer$.time(ExecutionTimer.scala:52)  
at is.hail.backend.spark.SparkBackend.executeEncode(SparkBackend.scala:494)  
at jdk.internal.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)  
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
at java.base/java.lang.reflect.Method.invoke(Method.java:566)  
at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)  
at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)  
at py4j.Gateway.invoke(Gateway.java:282)  
at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)  
at py4j.commands.CallCommand.execute(CallCommand.java:79)  
at py4j.ClientServerConnection.waitForCommands(ClientServerConnection.java:182)  
at py4j.ClientServerConnection.run(ClientServerConnection.java:106)  
at java.base/java.lang.Thread.run(Thread.java:829)

Hail version: 0.2.120-f00f916faf78  
Error summary: AssertionError: assertion failed

---

<div class="post-metadata">

**Author:** ![patrick-schultz](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.hail.is/patrick-schultz/32/265_2.png) [@patrick-schultz](https://discuss.hail.is/u/patrick-schultz)\
**Post date:** [August 18, 2023, 5:50pm UTC](https://discuss.hail.is/t/assertionerror-exporting-table-to-txt-file/3554/2 "2023-08-18T17:50:40Z")

</div>

Hi @klaricch,  
This is definitely a bug in hail. Thanks for the report! Looking into it now.

---

<div class="post-metadata">

**Author:** ![patrick-schultz](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.hail.is/patrick-schultz/32/265_2.png) [@patrick-schultz](https://discuss.hail.is/u/patrick-schultz)\
**Post date:** [August 18, 2023, 6:41pm UTC](https://discuss.hail.is/t/assertionerror-exporting-table-to-txt-file/3554/3 "2023-08-18T18:41:45Z")

</div>

[#13460](https://github.com/hail-is/hail/pull/13460) should fix this

---

<div class="post-metadata">

**Author:** ![klaricch](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.hail.is/klaricch/32/643_2.png) [@klaricch](https://discuss.hail.is/u/klaricch)\
**Post date:** [August 18, 2023, 6:55pm UTC](https://discuss.hail.is/t/assertionerror-exporting-table-to-txt-file/3554/4 "2023-08-18T18:55:58Z")

</div>

Thank you!
