Hi Alec,
Thank you for the info, I am in no rush as we are between runs. Will download the next release when it becomes available.
Thanks again,
Jason
--
Jason Ellul
Bioinformatics Core Facility Systems Administrator
Cancer Research Division
Peter MacCallum Cancer Centre
TEL: +61 3 9656 1512
FAX: +61 3 9656 1411
EMAIL: jason.ellul@...
Address: St Andrew's Place East Melbourne Victoria 3002 Australia
Postal Address: Locked Bag No. 1 A'Beckett St., Victoria, 8006, Australia
On 01/12/2011, at 3:26 AM, Alec Wysoker wrote:
> Hi Ellul,
>
> I recently discovered a bug in MergeSamFiles with USE_THREADING=true. This bug has been fixed in the source code repository, but we have had a delay in pushing out a new build. If you can check out and build the trunk source code, the hang should no longer happen. If you can't do that, don't USE_THREADING=true. I hope to push out a new build on Monday, but I can't promise that.
>
> -Alec
>
>
> On 11/25/2011 9:30 AM, Ellul Jason wrote:
>> Hi all,
>>
>> Sometimes when I am running MergeSamFiles picard hangs and stops processing the bam files. Here is a thread dump from an example of when it hung:
>>
>> 2011-11-26 01:22:25
>> Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.2-b06 mixed mode):
>>
>> "Thread-0" prio=10 tid=0x00007f93d818f800 nid=0x1e3f waiting on condition [0x00007f93c5d2f000]
>> java.lang.Thread.State: WAITING (parking)
>> at sun.misc.Unsafe.park(Native Method)
>> - parking to wait for<0x0000000700006768> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
>> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
>> at java.util.concurrent.ArrayBlockingQueue.put(ArrayBlockingQueue.java:252)
>> at net.sf.picard.sam.MergeSamFiles$1.run(MergeSamFiles.java:155)
>> at java.lang.Thread.run(Thread.java:662)
>>
>> "Low Memory Detector" daemon prio=10 tid=0x00007f93d80c9000 nid=0x1e39 runnable [0x0000000000000000]
>> java.lang.Thread.State: RUNNABLE
>>
>> "C2 CompilerThread1" daemon prio=10 tid=0x00007f93d80c7000 nid=0x1e38 waiting on condition [0x0000000000000000]
>> java.lang.Thread.State: RUNNABLE
>>
>> "C2 CompilerThread0" daemon prio=10 tid=0x00007f93d80c4000 nid=0x1e37 waiting on condition [0x0000000000000000]
>> java.lang.Thread.State: RUNNABLE
>>
>> "Signal Dispatcher" daemon prio=10 tid=0x00007f93d80c2000 nid=0x1e36 waiting on condition [0x0000000000000000]
>> java.lang.Thread.State: RUNNABLE
>>
>> "Finalizer" daemon prio=10 tid=0x00007f93d80a5800 nid=0x1e35 in Object.wait() [0x00007f93c644c000]
>> java.lang.Thread.State: WAITING (on object monitor)
>> at java.lang.Object.wait(Native Method)
>> - waiting on<0x000000070001eb60> (a java.lang.ref.ReferenceQueue$Lock)
>> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
>> - locked<0x000000070001eb60> (a java.lang.ref.ReferenceQueue$Lock)
>> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
>> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
>>
>> "Reference Handler" daemon prio=10 tid=0x00007f93d80a3800 nid=0x1e34 in Object.wait() [0x00007f93c654d000]
>> java.lang.Thread.State: WAITING (on object monitor)
>> at java.lang.Object.wait(Native Method)
>> - waiting on<0x000000070001eaf8> (a java.lang.ref.Reference$Lock)
>> at java.lang.Object.wait(Object.java:485)
>> at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>> - locked<0x000000070001eaf8> (a java.lang.ref.Reference$Lock)
>>
>> "main" prio=10 tid=0x00007f93d8006800 nid=0x1e25 in Object.wait() [0x00007f93dcc9f000]
>> java.lang.Thread.State: WAITING (on object monitor)
>> at java.lang.Object.wait(Native Method)
>> - waiting on<0x0000000700024c20> (a java.lang.Thread)
>> at java.lang.Thread.join(Thread.java:1186)
>> - locked<0x0000000700024c20> (a java.lang.Thread)
>> at java.lang.Thread.join(Thread.java:1239)
>> at net.sf.picard.sam.MergeSamFiles.doWork(MergeSamFiles.java:190)
>> at net.sf.picard.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:175)
>> at net.sf.picard.sam.MergeSamFiles.main(MergeSamFiles.java:84)
>>
>> "VM Thread" prio=10 tid=0x00007f93d809d000 nid=0x1e33 runnable
>>
>> "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f93d8019800 nid=0x1e26 runnable
>>
>> "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f93d801b800 nid=0x1e27 runnable
>>
>> "GC task thread#2 (ParallelGC)" prio=10 tid=0x00007f93d801d800 nid=0x1e28 runnable
>>
>> "GC task thread#3 (ParallelGC)" prio=10 tid=0x00007f93d801f000 nid=0x1e29 runnable
>>
>> "GC task thread#4 (ParallelGC)" prio=10 tid=0x00007f93d8021000 nid=0x1e2a runnable
>>
>> "GC task thread#5 (ParallelGC)" prio=10 tid=0x00007f93d8023000 nid=0x1e2b runnable
>>
>> "GC task thread#6 (ParallelGC)" prio=10 tid=0x00007f93d8024800 nid=0x1e2c runnable
>>
>> "GC task thread#7 (ParallelGC)" prio=10 tid=0x00007f93d8026800 nid=0x1e2d runnable
>>
>> "GC task thread#8 (ParallelGC)" prio=10 tid=0x00007f93d8028000 nid=0x1e2e runnable
>>
>> "GC task thread#9 (ParallelGC)" prio=10 tid=0x00007f93d802a000 nid=0x1e2f runnable
>>
>> "GC task thread#10 (ParallelGC)" prio=10 tid=0x00007f93d802c000 nid=0x1e30 runnable
>>
>> "GC task thread#11 (ParallelGC)" prio=10 tid=0x00007f93d802d800 nid=0x1e31 runnable
>>
>> "GC task thread#12 (ParallelGC)" prio=10 tid=0x00007f93d802f800 nid=0x1e32 runnable
>>
>> "VM Periodic Task Thread" prio=10 tid=0x00007f93d80dc000 nid=0x1e3a waiting on condition
>>
>> JNI global references: 1074
>>
>> Heap
>> PSYoungGen total 932096K, used 17959K [0x00000007aaab0000, 0x0000000800000000, 0x0000000800000000)
>> eden space 466112K, 3% used [0x00000007aaab0000,0x00000007abc39d90,0x00000007c71e0000)
>> from space 465984K, 0% used [0x00000007e38f0000,0x00000007e38f0000,0x0000000800000000)
>> to space 465984K, 0% used [0x00000007c71e0000,0x00000007c71e0000,0x00000007e38f0000)
>> PSOldGen total 1399808K, used 704584K [0x0000000700000000, 0x0000000755700000, 0x00000007aaab0000)
>> object space 1399808K, 50% used [0x0000000700000000,0x000000072b012048,0x0000000755700000)
>> PSPermGen total 21248K, used 6322K [0x00000006fae00000, 0x00000006fc2c0000, 0x0000000700000000)
>> object space 21248K, 29% used [0x00000006fae00000,0x00000006fb42c998,0x00000006fc2c0000)
>>
>> 2011-11-26 01:22:33
>> Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.2-b06 mixed mode):
>>
>> "Thread-0" prio=10 tid=0x00007f93d818f800 nid=0x1e3f waiting on condition [0x00007f93c5d2f000]
>> java.lang.Thread.State: WAITING (parking)
>> at sun.misc.Unsafe.park(Native Method)
>> - parking to wait for<0x0000000700006768> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
>> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
>> at java.util.concurrent.ArrayBlockingQueue.put(ArrayBlockingQueue.java:252)
>> at net.sf.picard.sam.MergeSamFiles$1.run(MergeSamFiles.java:155)
>> at java.lang.Thread.run(Thread.java:662)
>>
>> "Low Memory Detector" daemon prio=10 tid=0x00007f93d80c9000 nid=0x1e39 runnable [0x0000000000000000]
>> java.lang.Thread.State: RUNNABLE
>>
>> "C2 CompilerThread1" daemon prio=10 tid=0x00007f93d80c7000 nid=0x1e38 waiting on condition [0x0000000000000000]
>> java.lang.Thread.State: RUNNABLE
>>
>> "C2 CompilerThread0" daemon prio=10 tid=0x00007f93d80c4000 nid=0x1e37 waiting on condition [0x0000000000000000]
>> java.lang.Thread.State: RUNNABLE
>>
>> "Signal Dispatcher" daemon prio=10 tid=0x00007f93d80c2000 nid=0x1e36 waiting on condition [0x0000000000000000]
>> java.lang.Thread.State: RUNNABLE
>>
>> "Finalizer" daemon prio=10 tid=0x00007f93d80a5800 nid=0x1e35 in Object.wait() [0x00007f93c644c000]
>> java.lang.Thread.State: WAITING (on object monitor)
>> at java.lang.Object.wait(Native Method)
>> - waiting on<0x000000070001eb60> (a java.lang.ref.ReferenceQueue$Lock)
>> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
>> - locked<0x000000070001eb60> (a java.lang.ref.ReferenceQueue$Lock)
>> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
>> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
>>
>> "Reference Handler" daemon prio=10 tid=0x00007f93d80a3800 nid=0x1e34 in Object.wait() [0x00007f93c654d000]
>> java.lang.Thread.State: WAITING (on object monitor)
>> at java.lang.Object.wait(Native Method)
>> - waiting on<0x000000070001eaf8> (a java.lang.ref.Reference$Lock)
>> at java.lang.Object.wait(Object.java:485)
>> at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>> - locked<0x000000070001eaf8> (a java.lang.ref.Reference$Lock)
>>
>> "main" prio=10 tid=0x00007f93d8006800 nid=0x1e25 in Object.wait() [0x00007f93dcc9f000]
>> java.lang.Thread.State: WAITING (on object monitor)
>> at java.lang.Object.wait(Native Method)
>> - waiting on<0x0000000700024c20> (a java.lang.Thread)
>> at java.lang.Thread.join(Thread.java:1186)
>> - locked<0x0000000700024c20> (a java.lang.Thread)
>> at java.lang.Thread.join(Thread.java:1239)
>> at net.sf.picard.sam.MergeSamFiles.doWork(MergeSamFiles.java:190)
>> at net.sf.picard.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:175)
>> at net.sf.picard.sam.MergeSamFiles.main(MergeSamFiles.java:84)
>>
>> "VM Thread" prio=10 tid=0x00007f93d809d000 nid=0x1e33 runnable
>>
>> "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f93d8019800 nid=0x1e26 runnable
>>
>> "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f93d801b800 nid=0x1e27 runnable
>>
>> "GC task thread#2 (ParallelGC)" prio=10 tid=0x00007f93d801d800 nid=0x1e28 runnable
>>
>> "GC task thread#3 (ParallelGC)" prio=10 tid=0x00007f93d801f000 nid=0x1e29 runnable
>>
>> "GC task thread#4 (ParallelGC)" prio=10 tid=0x00007f93d8021000 nid=0x1e2a runnable
>>
>> "GC task thread#5 (ParallelGC)" prio=10 tid=0x00007f93d8023000 nid=0x1e2b runnable
>>
>> "GC task thread#6 (ParallelGC)" prio=10 tid=0x00007f93d8024800 nid=0x1e2c runnable
>>
>> "GC task thread#7 (ParallelGC)" prio=10 tid=0x00007f93d8026800 nid=0x1e2d runnable
>>
>> "GC task thread#8 (ParallelGC)" prio=10 tid=0x00007f93d8028000 nid=0x1e2e runnable
>>
>> "GC task thread#9 (ParallelGC)" prio=10 tid=0x00007f93d802a000 nid=0x1e2f runnable
>>
>> "GC task thread#10 (ParallelGC)" prio=10 tid=0x00007f93d802c000 nid=0x1e30 runnable
>>
>> "GC task thread#11 (ParallelGC)" prio=10 tid=0x00007f93d802d800 nid=0x1e31 runnable
>>
>> "GC task thread#12 (ParallelGC)" prio=10 tid=0x00007f93d802f800 nid=0x1e32 runnable
>>
>> "VM Periodic Task Thread" prio=10 tid=0x00007f93d80dc000 nid=0x1e3a waiting on condition
>>
>> JNI global references: 1074
>>
>> Heap
>> PSYoungGen total 932096K, used 17959K [0x00000007aaab0000, 0x0000000800000000, 0x0000000800000000)
>> eden space 466112K, 3% used [0x00000007aaab0000,0x00000007abc39d90,0x00000007c71e0000)
>> from space 465984K, 0% used [0x00000007e38f0000,0x00000007e38f0000,0x0000000800000000)
>> to space 465984K, 0% used [0x00000007c71e0000,0x00000007c71e0000,0x00000007e38f0000)
>> PSOldGen total 1399808K, used 704584K [0x0000000700000000, 0x0000000755700000, 0x00000007aaab0000)
>> object space 1399808K, 50% used [0x0000000700000000,0x000000072b012048,0x0000000755700000)
>> PSPermGen total 21248K, used 6322K [0x00000006fae00000, 0x00000006fc2c0000, 0x0000000700000000)
>> object space 21248K, 29% used [0x00000006fae00000,0x00000006fb42c998,0x00000006fc2c0000)
>>
>> 2011-11-26 01:22:43
>> Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.2-b06 mixed mode):
>>
>> "Thread-0" prio=10 tid=0x00007f93d818f800 nid=0x1e3f waiting on condition [0x00007f93c5d2f000]
>> java.lang.Thread.State: WAITING (parking)
>> at sun.misc.Unsafe.park(Native Method)
>> - parking to wait for<0x0000000700006768> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
>> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
>> at java.util.concurrent.ArrayBlockingQueue.put(ArrayBlockingQueue.java:252)
>> at net.sf.picard.sam.MergeSamFiles$1.run(MergeSamFiles.java:155)
>> at java.lang.Thread.run(Thread.java:662)
>>
>> "Low Memory Detector" daemon prio=10 tid=0x00007f93d80c9000 nid=0x1e39 runnable [0x0000000000000000]
>> java.lang.Thread.State: RUNNABLE
>>
>> "C2 CompilerThread1" daemon prio=10 tid=0x00007f93d80c7000 nid=0x1e38 waiting on condition [0x0000000000000000]
>> java.lang.Thread.State: RUNNABLE
>>
>> "C2 CompilerThread0" daemon prio=10 tid=0x00007f93d80c4000 nid=0x1e37 waiting on condition [0x0000000000000000]
>> java.lang.Thread.State: RUNNABLE
>>
>> "Signal Dispatcher" daemon prio=10 tid=0x00007f93d80c2000 nid=0x1e36 waiting on condition [0x0000000000000000]
>> java.lang.Thread.State: RUNNABLE
>>
>> "Finalizer" daemon prio=10 tid=0x00007f93d80a5800 nid=0x1e35 in Object.wait() [0x00007f93c644c000]
>> java.lang.Thread.State: WAITING (on object monitor)
>> at java.lang.Object.wait(Native Method)
>> - waiting on<0x000000070001eb60> (a java.lang.ref.ReferenceQueue$Lock)
>> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
>> - locked<0x000000070001eb60> (a java.lang.ref.ReferenceQueue$Lock)
>> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
>> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
>>
>> "Reference Handler" daemon prio=10 tid=0x00007f93d80a3800 nid=0x1e34 in Object.wait() [0x00007f93c654d000]
>> java.lang.Thread.State: WAITING (on object monitor)
>> at java.lang.Object.wait(Native Method)
>> - waiting on<0x000000070001eaf8> (a java.lang.ref.Reference$Lock)
>> at java.lang.Object.wait(Object.java:485)
>> at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>> - locked<0x000000070001eaf8> (a java.lang.ref.Reference$Lock)
>>
>> "main" prio=10 tid=0x00007f93d8006800 nid=0x1e25 in Object.wait() [0x00007f93dcc9f000]
>> java.lang.Thread.State: WAITING (on object monitor)
>> at java.lang.Object.wait(Native Method)
>> - waiting on<0x0000000700024c20> (a java.lang.Thread)
>> at java.lang.Thread.join(Thread.java:1186)
>> - locked<0x0000000700024c20> (a java.lang.Thread)
>> at java.lang.Thread.join(Thread.java:1239)
>> at net.sf.picard.sam.MergeSamFiles.doWork(MergeSamFiles.java:190)
>> at net.sf.picard.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:175)
>> at net.sf.picard.sam.MergeSamFiles.main(MergeSamFiles.java:84)
>>
>> "VM Thread" prio=10 tid=0x00007f93d809d000 nid=0x1e33 runnable
>>
>> "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f93d8019800 nid=0x1e26 runnable
>>
>> "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f93d801b800 nid=0x1e27 runnable
>>
>> "GC task thread#2 (ParallelGC)" prio=10 tid=0x00007f93d801d800 nid=0x1e28 runnable
>>
>> "GC task thread#3 (ParallelGC)" prio=10 tid=0x00007f93d801f000 nid=0x1e29 runnable
>>
>> "GC task thread#4 (ParallelGC)" prio=10 tid=0x00007f93d8021000 nid=0x1e2a runnable
>>
>> "GC task thread#5 (ParallelGC)" prio=10 tid=0x00007f93d8023000 nid=0x1e2b runnable
>>
>> "GC task thread#6 (ParallelGC)" prio=10 tid=0x00007f93d8024800 nid=0x1e2c runnable
>>
>> "GC task thread#7 (ParallelGC)" prio=10 tid=0x00007f93d8026800 nid=0x1e2d runnable
>>
>> "GC task thread#8 (ParallelGC)" prio=10 tid=0x00007f93d8028000 nid=0x1e2e runnable
>>
>> "GC task thread#9 (ParallelGC)" prio=10 tid=0x00007f93d802a000 nid=0x1e2f runnable
>>
>> "GC task thread#10 (ParallelGC)" prio=10 tid=0x00007f93d802c000 nid=0x1e30 runnable
>>
>> "GC task thread#11 (ParallelGC)" prio=10 tid=0x00007f93d802d800 nid=0x1e31 runnable
>>
>> "GC task thread#12 (ParallelGC)" prio=10 tid=0x00007f93d802f800 nid=0x1e32 runnable
>>
>> "VM Periodic Task Thread" prio=10 tid=0x00007f93d80dc000 nid=0x1e3a waiting on condition
>>
>> JNI global references: 1074
>>
>> Heap
>> PSYoungGen total 932096K, used 17959K [0x00000007aaab0000, 0x0000000800000000, 0x0000000800000000)
>> eden space 466112K, 3% used [0x00000007aaab0000,0x00000007abc39d90,0x00000007c71e0000)
>> from space 465984K, 0% used [0x00000007e38f0000,0x00000007e38f0000,0x0000000800000000)
>> to space 465984K, 0% used [0x00000007c71e0000,0x00000007c71e0000,0x00000007e38f0000)
>> PSOldGen total 1399808K, used 704584K [0x0000000700000000, 0x0000000755700000, 0x00000007aaab0000)
>> object space 1399808K, 50% used [0x0000000700000000,0x000000072b012048,0x0000000755700000)
>> PSPermGen total 21248K, used 6322K [0x00000006fae00000, 0x00000006fc2c0000, 0x0000000700000000)
>> object space 21248K, 29% used [0x00000006fae00000,0x00000006fb42c998,0x00000006fc2c0000)
>>
>> Has this behavior been seen by others? Any help would be greatly appreciated.
>>
>> Here is how I am running it (in this case I am only inputting 1 file so it should just sort the bam file):
>>
>> java -Xmx4g -Djava.io.tmpdir=/data/tmp -jar /usr/local/picard/Current_jars/MergeSamFiles.jar TMP_DIR=/storage/tmp/QGwNHb6nck MAX_RECORDS_IN_RAM=1000000 I=/storage/tmp/QGwNHb6nck/778Input_TGAT_L008.bam O=/data/pipeline_in/Runs/111027_SN1055_0074_BD0F9GACXX/ProjectFolders/Project_Dale-Garsed/Sample_778Input/Alignment_778Input/778Input_aligned.bam VALIDATION_STRINGENCY=LENIENT SO=coordinate USE_THREADING=true CREATE_INDEX=true>> /data/pipeline_in/Runs/111027_SN1055_0074_BD0F9GACXX/ProjectFolders/Project_Dale-Garsed/Sample_778Input/Alignment_778Input/Aligner.log 2>&1
>>
>> thanks,
>>
>> Jason
>>
>>
>> This email (including any attachments or links) may contain
>> confidential and/or legally privileged information and is
>> intended only to be read or used by the addressee. If you
>> are not the intended addressee, any use, distribution,
>> disclosure or copying of this email is strictly
>> prohibited.
>> Confidentiality and legal privilege attached to this email
>> (including any attachments) are not waived or lost by
>> reason of its mistaken delivery to you.
>> If you have received this email in error, please delete it
>> and notify us immediately by telephone or email. Peter
>> MacCallum Cancer Centre provides no guarantee that this
>> transmission is free of virus or that it has not been
>> intercepted or altered and will not be liable for any delay
>> in its receipt.
>>
>>
>> ------------------------------------------------------------------------------
>> All the data continuously generated in your IT infrastructure
>> contains a definitive record of customers, application performance,
>> security threats, fraudulent activity, and more. Splunk takes this
>> data and makes sense of it. IT sense. And common sense.
>> http://p.sf.net/sfu/splunk-novd2d
>> _______________________________________________
>> Samtools-help mailing list
>> Samtools-help@...
>> https://lists.sourceforge.net/lists/listinfo/samtools-help
This email (including any attachments or links) may contain
confidential and/or legally privileged information and is
intended only to be read or used by the addressee. If you
are not the intended addressee, any use, distribution,
disclosure or copying of this email is strictly
prohibited.
Confidentiality and legal privilege attached to this email
(including any attachments) are not waived or lost by
reason of its mistaken delivery to you.
If you have received this email in error, please delete it
and notify us immediately by telephone or email. Peter
MacCallum Cancer Centre provides no guarantee that this
transmission is free of virus or that it has not been
intercepted or altered and will not be liable for any delay
in its receipt.
|