[ 
https://issues.apache.org/jira/browse/DAFFODIL-2425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dave Thompson closed DAFFODIL-2425.
-----------------------------------

Verified the specified commit (commit 1b84e9e7d6aff9d1339dd39c86719bb0e5e25c4b) 
is included in the latest pull from the incubator-daffodil repository.

Verified the nightly test schemas compile and save successfully.

Verified the nightly test suite executes successfully.

Verified using the specified/attached schemas and test file now succesfully 
parse and unparse the 4GB nitf file.

> unparse fail with large blob
> ----------------------------
>
>                 Key: DAFFODIL-2425
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2425
>             Project: Daffodil
>          Issue Type: Bug
>          Components: Back End, CLI
>    Affects Versions: 3.0.0
>            Reporter: Brent Nordin
>            Priority: Major
>             Fix For: 3.0.0
>
>         Attachments: jpeg.dfdl.xsd, nitfx.dfdl.xsd, test4G.ntf.zip.Z
>
>
> I am running large NITF files against Daffodil. I can parse the large file, 
> but Daffodil crashes on the unparse. My casual inspection suggests that a 
> putFile function needs to accept a long parameter instead of an int.
> I am running Apache Daffodil (incubating) 3.0.0-SNAPSHOT 
> As per https://issues.apache.org/jira/browse/DAFFODIL-2401 I modified the 
> NITF DFDL Schema to use blobs (instead of HexBinary). The modified Schema 
> (and a supporting jpeg Schema) is attached here as I have not yet made a pull 
> request to the NITF DFDL project to have the modifications placed into the 
> main repo.
> Be aware that the zipped, compressed test file 'test4G.ntf.zip.Z' will expand 
> to a 4GB file.
> To parse the NITF file:
> ~/Daffodil/daffodil-cli/target/universal/stage/bin/daffodil parse -I xml -o 
> xxx -s nitfx.dfdl.xsd test4G.ntf
> and then to unparse
> ~/Daffodil/daffodil-cli/target/universal/stage/bin/daffodil unparse -I xml -o 
> xxx.nitf -s nitfx.dfdl.xsd xxx
> and after some warnings, it's off into the weeds:
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> !! An unexpected exception occurred. This is a bug! !!
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> Please report this bug and help us fix it:
> https://daffodil.apache.org/community/#issue-tracker
> Please include the following exception, the command you
>  ran, and any input, schema, or tdml files used that led
>  to this bug.
> org.apache.daffodil.exceptions.Abort: Invariant broken: nBytesPut.==(nBytes)
> org.apache.daffodil.exceptions.Assert$.abort(Assert.scala:129)
> org.apache.daffodil.io.DirectOrBufferedDataOutputStream.deliverContent(DirectOrBufferedDataOutputStream.scala:891)
> org.apache.daffodil.io.DirectOrBufferedDataOutputStream$.org$apache$daffodil$io$DirectOrBufferedDataOutputStream$$deliverBufferContent(DirectOrBufferedDataOutputStream.scala:1022)
> org.apache.daffodil.io.DirectOrBufferedDataOutputStream.setFinished(DirectOrBufferedDataOutputStream.scala:457)
>  at org.apache.daffodil.exceptions.Assert$.abort(Assert.scala:129)
>  at 
> org.apache.daffodil.io.DirectOrBufferedDataOutputStream.deliverContent(DirectOrBufferedDataOutputStream.scala:891)
>  at 
> org.apache.daffodil.io.DirectOrBufferedDataOutputStream$.org$apache$daffodil$io$DirectOrBufferedDataOutputStream$$deliverBufferContent(DirectOrBufferedDataOutputStream.scala:1022)
>  at 
> org.apache.daffodil.io.DirectOrBufferedDataOutputStream.setFinished(DirectOrBufferedDataOutputStream.scala:457)
>  at 
> org.apache.daffodil.processors.Suspension.runSuspension(Suspension.scala:89)
>  at 
> org.apache.daffodil.processors.Suspension.runSuspension$(Suspension.scala:81)
>  at 
> org.apache.daffodil.processors.unparsers.OnlyPaddingUnparserSuspendableOperation.runSuspension(SpecifiedLength2.scala:616)
>  at 
> org.apache.daffodil.processors.SuspensionTracker.evalSuspensionQueue(SuspensionTracker.scala:110)
>  at 
> org.apache.daffodil.processors.SuspensionTracker.requireFinal(SuspensionTracker.scala:80)
>  at 
> org.apache.daffodil.processors.unparsers.UStateMain.evalSuspensions(UState.scala:620)
>  at 
> org.apache.daffodil.processors.DataProcessor.unparse(DataProcessor.scala:572)
>  at 
> org.apache.daffodil.processors.DataProcessor.unparse(DataProcessor.scala:545)
>  at org.apache.daffodil.Main$.$anonfun$run$20(Main.scala:1222)
>  at org.apache.daffodil.util.Timer$.getTimeResult(Timer.scala:78)
>  at org.apache.daffodil.util.Timer$.getResult(Timer.scala:37)
>  at org.apache.daffodil.Main$.run(Main.scala:1222)
>  at org.apache.daffodil.Main$.main(Main.scala:1464)
>  at org.apache.daffodil.Main.main(Main.scala)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to