[Lcdproc] lcdproc-0.5.0 segfaults

Andrew Foss a.foss@f5.com
Thu May 4 15:18:01 2006


whoops, I hadn't had my first cup of coffee yet, I meant reading this 
correctly, menu_set_main is the smoking gun, right?

Andrew Foss wrote:
> Laurent,
>
> am I reading this write, you removed or commented the menu_set_main in 
> your client and the LCDd does not crash upon disconnect of the client, 
> but if the "menu_set_main" command is done on the client LCDd does 
> crash upon exit, right?
>
> I believe the code to cleanup after a client exists is not cleaning 
> restoring the main menu. I'll try and take a look at it today.
>
> andrew
>
> Laurent B. wrote:
>> Yes of course. The client does NOT send menu_set_main "" , to set its 
>> own menu as the default one (it simpy makes NO use of the 
>> menu_set_main function at all). After it disconnected from LCDd 
>> (0.5.0) I can press the menu key to get to the server menu and it 
>> actually gets you there and , most important, LCDd does not terminate 
>> with signal 11 segmantation fault.
>> So without touching menu_set_main LCDd works as expected here.
>>
>> Laurent Baum.
>>
>> Andrew Foss wrote:
>>> Bug to be fixed, I expect. Could you you confirm that you don't 
>>> crash, if you don't do the menu_set_main?
>>>
>>> Laurent B. wrote:
>>>> Yes the client actually does a menu_set_main "" to set its menu as 
>>>> the default one. This worked without complications prior to 0.5.0 
>>>> with lcdproc from CVS so I never thought that it would fail now 
>>>> because of menu_set_main. Thanks for the hint Andrew.
>>>>
>>>> So should clients then simply avoid setting their menu as the 
>>>> default because menu_set_item is evil or is there really a bug in 
>>>> the server code that needs to be resolved ??
>>>>
>>>> Andrew Foss wrote:
>>>>> sounds like something different than what I saw.
>>>>>
>>>>> Does your client do a "menu_set_main" command?
>>>>>
>>>>> It looks like it may be possible that after your client stops, the 
>>>>> main menu item is still set so when the main menu is attempted to 
>>>>> be brought up, it still thinks the main menu is the menu your 
>>>>> client set as main w/ the menu_set_main command?
>>>>>
>>>>> andrew
>>>>>
>>>>> Laurent B. wrote:
>>>>>> Hi Andrew,
>>>>>> LCDd crashes here (in the scenario described in my first mail)  
>>>>>> every time in foreground "-f true" or as daemon "-f false".
>>>>>> Andrew Foss wrote:
>>>>>>> I've seen it as well, I find if I don't run it through the 
>>>>>>> /etc/rc.d/init.d/ script using the "daemon" function it doesn't 
>>>>>>> fault, I added a trap to try and caatch it, but couldn't and 
>>>>>>> haven't had time to gdb myself, sorry.
>>>>>>>
>>>>>>> andrew
>>>>>>>
>>>>>>> lorijho@yes.lu wrote:
>>>>>>>> Hi to all.
>>>>>>>> I'm observing a crash of lcdproc-0.5.0. It can be reproduced 
>>>>>>>> like this:
>>>>>>>> A client (with menu) disconnects from LCDd. After that the 
>>>>>>>> "LCDproc
>>>>>>>> Server" screen appears again like it should. Showing "Client: 
>>>>>>>> 0  \n
>>>>>>>> Screens: 0" like always. But then when I press the menu button 
>>>>>>>> to enter
>>>>>>>> the server menu LCDd terminates with signal 11 segmantation 
>>>>>>>> fault. Can
>>>>>>>> be reproduced everytime.
>>>>>>>>
>>>>>>>> The backtrace:
>>>>>>>> Reading symbols from /lib/libdl.so.2...done.
>>>>>>>> Loaded symbols for /lib/libdl.so.2
>>>>>>>> Reading symbols from /lib/libc.so.6...done.
>>>>>>>> Loaded symbols for /lib/libc.so.6
>>>>>>>> Reading symbols from /lib/ld-linux.so.2...done.
>>>>>>>> Loaded symbols for /lib/ld-linux.so.2
>>>>>>>> Reading symbols from /usr/local/lib/lcdproc/lirc.so...done.
>>>>>>>> Loaded symbols for /usr/local/lib/lcdproc/lirc.so
>>>>>>>> Reading symbols from /usr/lib/liblirc_client.so.0...done.
>>>>>>>> Loaded symbols for /usr/lib/liblirc_client.so.0
>>>>>>>> Reading symbols from /usr/local/lib/lcdproc/CFontz.so...done.
>>>>>>>> Loaded symbols for /usr/local/lib/lcdproc/CFontz.so
>>>>>>>> #0  0x0804fbfb in menuitem_reset (item=0x9df2cb0) at 
>>>>>>>> menuitem.c:527
>>>>>>>> 527                     func = reset_table[item->type];
>>>>>>>> (gdb) bt
>>>>>>>> #0  0x0804fbfb in menuitem_reset (item=0x9df2cb0) at 
>>>>>>>> menuitem.c:527
>>>>>>>> #1  0x08054325 in menuscreen_switch_item 
>>>>>>>> (new_menuitem=0x9df2cb0) at
>>>>>>>> menuscreens.c:219
>>>>>>>> #2  0x0805450c in menuscreen_key_handler (key=0x9debe50 "/") at
>>>>>>>> menuscreens.c:390
>>>>>>>> #3  0x0804d57e in input_internal_key (key=0x9debe50 "/") at 
>>>>>>>> input.c:151
>>>>>>>> #4  0x0804d7c4 in handle_input () at input.c:117
>>>>>>>> #5  0x0804f4c7 in main (argc=539521829, argv=0x6d657469) at 
>>>>>>>> main.c:838
>>>>>>>>
>>>>>>>> On this system:
>>>>>>>> uname -a :
>>>>>>>> Linux 2.6.16-1.2096_FC5 #1 Wed Apr 19 05:14:36 EDT 2006 i686 
>>>>>>>> athlon i386
>>>>>>>> GNU/Linux
>>>>>>>>
>>>>>>>> gcc -v:
>>>>>>>> Using built-in specs.
>>>>>>>> Target: i386-redhat-linux
>>>>>>>> Configured with: ../configure --prefix=/usr 
>>>>>>>> --mandir=/usr/share/man
>>>>>>>> --infodir=/u sr/share/info --enable-shared --enable-threads=posix
>>>>>>>> --enable-checking=release - -with-system-zlib 
>>>>>>>> --enable-__cxa_atexit
>>>>>>>> --disable-libunwind-exceptions --enable- libgcj-multifile
>>>>>>>> --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable
>>>>>>>> -java-awt=gtk --disable-dssi
>>>>>>>> --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2. 0/jre
>>>>>>>> --with-cpu=generic --host=i386-redhat-linux
>>>>>>>> Thread model: posix
>>>>>>>> gcc version 4.1.0 20060304 (Red Hat 4.1.0-3)
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> LCDproc mailing list
>>>>>>>> LCDproc@lists.omnipotent.net
>>>>>>>> http://lists.omnipotent.net/mailman/listinfo/lcdproc
>>>>>>>>   
>>>>>>> _______________________________________________
>>>>>>> LCDproc mailing list
>>>>>>> LCDproc@lists.omnipotent.net
>>>>>>> http://lists.omnipotent.net/mailman/listinfo/lcdproc
>>>>>>>
>>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> LCDproc mailing list
>>>>> LCDproc@lists.omnipotent.net
>>>>> http://lists.omnipotent.net/mailman/listinfo/lcdproc
>>>>>
>>>>>
>>>>
>>>
>>>
>>
> _______________________________________________
> LCDproc mailing list
> LCDproc@lists.omnipotent.net
> http://lists.omnipotent.net/mailman/listinfo/lcdproc