Bug 6017 - Jive goes blank after trying to connect to one of the access points.
: Jive goes blank after trying to connect to one of the access points.
Status: CLOSED FIXED
Product: SB Controller
Classification: Unclassified
Component: UI
: unspecified
: PC Other
: P2 major (vote)
: MP
Assigned To: Richard Titmuss
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2007-11-02 17:48 UTC by Wallace Lai
Modified: 2007-12-18 09:27 UTC (History)
0 users

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wallace Lai 2007-11-02 17:48:55 UTC
HW:  PQP2, FW:  2007-10-29

Steps to Reproduce;
1.  Turn on the Jive.
2.  Setup the network.
3.  Connect to one the networks at work.
4.  After the rotating dotted wheel, the screen goes blank.
Comment 1 Richard Titmuss 2007-11-04 13:48:32 UTC
This works for me. Can you check if the jive application is still running, or if it has crashed. Any debug from the serial port during this crash would be most helpful.
Comment 2 Richard Titmuss 2007-11-15 02:52:46 UTC
*** Bug 6161 has been marked as a duplicate of this bug. ***
Comment 3 Richard Titmuss 2007-11-15 05:02:33 UTC
Please retest with firmware >= r908. This includes some addition debug. After Jive has gone blank please use a serial dongle and sd card to capture the following information:

/var/log/messages
/var/core/core-jive*

If you have a core file please make a note of the jive software version that is running.
Comment 4 Richard Titmuss 2007-11-22 14:36:12 UTC
A potential fix has been check in r982, based on some lua debug from a crash.
Comment 5 Richard Titmuss 2007-11-25 12:49:40 UTC
From Developers campfire:

Richard T.  	
i am trying to understand a segfault on jive in the SDL library, and wondered if anyone could give me some help.
Richard T. 	
the code in question is:
Richard T. 	
View paste

static int RunTimer(void *unused)
{
	while ( timer_alive ) {
		if ( SDL_timer_running ) {
			SDL_ThreadedTimerCheck();
		}
		SDL_Delay(1);
	}
	return(0);
}

Richard T. 	
the stack trace:
Richard T. 	
View paste

(gdb) 
#0  0x40131ccc in RunTimer ()
   from /home/ubuntu/private_src/public_svn/squeezeboxJive/build/usr/lib/libSDL-1.2.so.0
#1  0x4010f060 in SDL_RunThread ()
   from /home/ubuntu/private_src/public_svn/squeezeboxJive/build/usr/lib/libSDL-1.2.so.0
#2  0x4013155c in RunThread ()
   from /home/ubuntu/private_src/public_svn/squeezeboxJive/build/usr/lib/libSDL-1.2.so.0
#3  0x4022cd98 in start_thread ()
   from /home/ubuntu/private_src/public_svn/squeezeboxJive/build/lib/libpthread.so.0
#4  0x4030f328 in clone ()
   from /home/ubuntu/private_src/public_svn/squeezeboxJive/build/lib/libc.so.6
#5  0x4030f328 in clone ()
   from /home/ubuntu/private_src/public_svn/squeezeboxJive/build/lib/libc.so.6

Richard T. 	
and a assembler:
Richard T. 	
View paste (4 more lines)

(gdb) disassemble 0x40131ccc
Dump of assembler code for function RunTimer:
0x40131cb0 <RunTimer+0>:        stmdb   sp!, {r4, r5, r6, lr}
0x40131cb4 <RunTimer+4>:        ldr     r4, [pc, #56]   ; 0x40131cf4 <$d>
0x40131cb8 <RunTimer+8>:        ldr     r6, [pc, #56]   ; 0x40131cf8 <$d+4>
0x40131cbc <RunTimer+12>:       ldr     r5, [pc, #56]   ; 0x40131cfc <$d+8>
0x40131cc0 <RunTimer+16>:       add     r4, pc, r4
0x40131cc4 <RunTimer+20>:       b       0x40131ce4 <RunTimer+52>
0x40131cc8 <RunTimer+24>:       ldr     r3, [r4, r5]
0x40131ccc <RunTimer+28>:       ldr     r3, [r3]
0x40131cd0 <RunTimer+32>:       cmp     r3, #0  ; 0x0
0x40131cd4 <RunTimer+36>:       beq     0x40131cdc <RunTimer+44>
0x40131cd8 <RunTimer+40>:       bl      0x4010f674 <SDL_ThreadedTimerCheck>
0x40131cdc <RunTimer+44>:       mov     r0, #1  ; 0x1
0x40131ce0 <RunTimer+48>:       bl      0x40104fc0 <$a+688>
...

Richard T. 	
so i think it's crashing checking the value of SDL_timer_running.
Nov 23 	
8:50 AM
Richard T. 	
that variable is accessed from two threads without a mutex, but i don't understand why that's causing a segfault.
Comment 6 Richard Titmuss 2007-11-27 06:07:53 UTC
Test code added in r1007.
Comment 7 Richard Titmuss 2007-12-05 09:33:22 UTC
Probably fixed in r6017, it's difficult to be sure. Please reopen the bug if this happens again, and capture a core file using the SD card.
Comment 8 Richard Titmuss 2007-12-10 03:34:50 UTC
*** Bug 6176 has been marked as a duplicate of this bug. ***
Comment 9 Wallace Lai 2007-12-18 09:22:24 UTC
Bug as written is no longer seen.  The fix is verified.
Comment 10 Wallace Lai 2007-12-18 09:27:13 UTC
After verifying the fix, regressed the functionalities around this area.  Nothing seems to be broken because of this fix.  Closing.
FW used is MP verrsion 5.