https://bugzilla.novell.com/show_bug.cgi?id=652562 https://bugzilla.novell.com/show_bug.cgi?id=652562#c16 Petr Mladek <pmladek@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |NEEDINFO InfoProvider| |kendy@novell.com --- Comment #16 from Petr Mladek <pmladek@novell.com> 2011-02-10 19:30:40 UTC --- I am still unable to reproduce it. Anyway, the gdb long in the comment #2 shows that it crashes in the code: --- cut libs-core/desktop/unx/source/splashx.c --- else if ( bpp == 24 ) { if ( machine_byte_order == byte_order && byte_order == LSBFirst ) COPY_IN_OUT( 3, *( (color_t *)out ) = *( (color_t *)( &pixel ) ); out += 3; ) if ( machine_byte_order == byte_order && byte_order == MSBFirst ) COPY_IN_OUT( 3, uint32_t tmp = pixel; *( (uint8_t *)out ) = *( (uint8_t *)(&tmp) + 1 ); *( (uint8_t *)out + 1 ) = *( (uint8_t *)(&tmp) + 2 ); *( (uint8_t *)out + 2 ) = *( (uint8_t *)(&tmp) + 3 ); out += 3; ) else crash ----> COPY_IN_OUT( 3, uint32_t tmp = pixel; *( (uint8_t *)out ) = *( (uint8_t *)(&tmp) + 3 ); *( (uint8_t *)out + 1 ) = *( (uint8_t *)(&tmp) + 2 ); *( (uint8_t *)out + 2 ) = *( (uint8_t *)(&tmp) + 1 ); out += 3; ) --- cut libs-core/desktop/unx/source/splashx.c --- If I understand the code correctly, it used when you have the screen color depth 24bpp. Most people use 32bpp. It might explain why they do not see the problem. I think that the followin lines are a bit suspicious: --- cut libs-core/desktop/unx/source/splashx.c --- if ( machine_byte_order == byte_order && byte_order == LSBFirst ) COPY_IN_OUT( 3, *( (color_t *)out ) = *( (color_t *)( &pixel ) ); out += 3; ) --- cut libs-core/desktop/unx/source/splashx.c --- It bumps the out pointer by 3; It is bumped again in the "else" part if the following "if" condition. It might be the reason why it crashes. Kendy, you wrote the code. What do you think? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.