You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 17, 2023. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 17, 2023. It is now read-only.
NPE in BucketingModule when providedLabel of DataBatch is not set #11775
We create a DataBatch without setting the providedLabel field. We then call BucketingModule.forward(...) with the data batch and get a NullPointerException:
java.lang.NullPointerException was thrown.
java.lang.NullPointerException
at ml.dmlc.mxnet.DataDesc$.ListMap2Descs(IO.scala:252)
at ml.dmlc.mxnet.module.BucketingModule.forward(BucketingModule.scala:313)
This happens because the implicit method ListMap2Descs tries to convert ListMap[String, Shape] into IndexedSeq[DataDesc] but fails because the former is null by default.
To help the community look into it, please provide more information as asked below (usually the new issue template asks to fill all of that in) - providing complete information in the most concise form is the best way to get help.
Package used (Python/R/Scala/Julia):
For Scala user, please provide:
Java version: (java -version)
Maven version: (mvn -version)
Scala runtime if applicable: (scala -version)
Build info (Required if built from source)
Compiler (gcc/clang/mingw/visual studio):
MXNet commit hash (Paste the output of git rev-parse HEAD here.)
Build config: (Paste the content of config.mk, or the build command.)
Minimum reproducible example
(If you are using your own code, please provide a short script that reproduces the error. Otherwise, please provide link to the existing example.)
Hi @milandesai could you please tell me which version of MXNet you are using?
we are also facing some issues about DataDesc in some other issues. And you are right, there is no good way to avoid this. The minimum fix you can take is using what I have tried with RNN example, adding a handler in this conversion function to let None/Empty ListMap being passed.
There will be an upcoming PR address this issue. Since it was a pain from v0.11.0. The currently planning is getting rid of ListMap and use DataDesc entirely so we can avoid the implicit conversion. Will keep track on this and see if that can help.
Hi @lanking520, the mxnet version is 1.1.0, though I believe this issue should exist on master as well based on a quick check. I resolved this by modifying the source in IO.scala to simply do a null check. Will post a PR shortly for reference.
Package: Scala
Mxnet Version: 1.1.0
Java Version: openjdk 1.8.0_131
Maven Version: [unused]
Scala Runtime: 2.12.4
We create a DataBatch without setting the
providedLabelfield. We then callBucketingModule.forward(...)with the data batch and get a NullPointerException:This happens because the implicit method
ListMap2Descstries to convertListMap[String, Shape]intoIndexedSeq[DataDesc]but fails because the former is null by default.