Opened 12 years ago

Closed 12 years ago

#418 closed defect (fixed)

Error when inflating 6.5M deflated initrd image on ia64

Reported by: Jakub Jermář Owned by: Jakub Jermář
Priority: major Milestone: 0.5.0
Component: helenos/boot/ia64 Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

Looks like inflate only works for images up to certain size on ia64:

HelenOS bootloader, release 0.4.3 (Sashimi), revision 1402M (jakub@jermar.eu-20120218234739-8um4dlazz8hwxunt)
Built on 2012-02-19 20:14:04 for ia64
Copyright (c) 2001-2011 HelenOS project
 0x0000000004410000|0x0000000004410000: boot info structure
 0x0000000004800000|0x0000000004800000: kernel entry point
 0x0000000004400000|0x0000000004400000: loader entry point
 0x0000000004411269|0x0000000004411269: kernel image (954648/194628 bytes)
 0x0000000004440aad|0x0000000004440aad: ns image (233345/77468 bytes)
 0x0000000004453949|0x0000000004453949: loader image (228331/76500 bytes)
 0x000000000446641d|0x000000000446641d: init image (230544/76431 bytes)
 0x0000000004478eac|0x0000000004478eac: loc image (250811/82868 bytes)
 0x000000000448d260|0x000000000448d260: rd image (224842/75033 bytes)
 0x000000000449f779|0x000000000449f779: vfs image (267439/88837 bytes)
 0x00000000044b527e|0x00000000044b527e: fat image (367737/126235 bytes)
 0x00000000044d3f99|0x00000000044d3f99: initrd image (21328896/6501828 bytes)

Inflating components ... initrd 
initrd: Inflating error -14, halting.

Change History (3)

comment:1 by Jakub Jermář, 12 years ago

Summary: Error when inflating 2.1M deflated initrd image on ia64Error when inflating 6.5M deflated initrd image on ia64

comment:2 by Jakub Jermář, 12 years ago

I added some debug prints that reveal that the source and destination areas of inflate actually overlap:

HelenOS bootloader, release 0.4.3 (Sashimi), revision 1443M (jakub@jermar.eu-20120325194207-6952f6ywynga0i04)
Built on 2012-03-29 21:59:43 for ia64
Copyright (c) 2001-2011 HelenOS project
 0x0000000004410000|0x0000000004410000: boot info structure
 0x0000000004800000|0x0000000004800000: kernel entry point
 0x0000000004400000|0x0000000004400000: loader entry point
 0x0000000004411269|0x0000000004411269: kernel image (954936/195380 bytes)
 0x0000000004440d9d|0x0000000004440d9d: ns image (235294/77931 bytes)
 0x0000000004453e08|0x0000000004453e08: loader image (230280/76983 bytes)
 0x0000000004466abf|0x0000000004466abf: init image (232493/76956 bytes)
 0x000000000447975b|0x000000000447975b: loc image (252760/83381 bytes)
 0x000000000448dd10|0x000000000448dd10: rd image (226791/75566 bytes)
 0x00000000044a043e|0x00000000044a043e: vfs image (269388/89359 bytes)
 0x00000000044b614d|0x00000000044b614d: fat image (369686/126775 bytes)
 0x00000000044d5084|0x00000000044d5084: initrd image (21754880/6632020 bytes)

Inflating components ... initrd inflate on src=0x00000000044d5084, size=6632020, dst=0x0000000004ab8000, size=21754880

initrd: Inflating error -14, halting.

Looks like the not yet inflated part is overwritten by the already inflated part.

comment:3 by Jakub Jermář, 12 years ago

Resolution: fixed
Status: newclosed

Fixed in mainline,1445.

Note: See TracTickets for help on using tickets.