LCDproc development and user support list

Text archives Help


[Lcdproc] lcdproc-0.5.0 segfaults


Chronological Thread 
  • From: lorijho AT yes.lu (Laurent B.)
  • Subject: [Lcdproc] lcdproc-0.5.0 segfaults
  • Date: Thu May 4 15:35:02 2006

Yes you got it almost right.
1) client (that makes use of menu_set_main) connects,
2) client and LCDd run fine all the way,
3) client disconnects,
4) LCDd keeps on running (no segfault at client disconnect),
5) LCDd is idle (no client connected), user wants to enter server menu
(by pressing the menu button) and upon that action (enter server menu)
LCDd terminates with segmantation fault.
6) new LCDd process has to launched because the old one died (segfault).
7) Goto 1)

That's the exact scenario.

Laurent

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 AT 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 AT lists.omnipotent.net
>>>>>>>> http://lists.omnipotent.net/mailman/listinfo/lcdproc
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> LCDproc mailing list
>>>>>>> LCDproc AT lists.omnipotent.net
>>>>>>> http://lists.omnipotent.net/mailman/listinfo/lcdproc
>>>>>>>
>>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> LCDproc mailing list
>>>>> LCDproc AT lists.omnipotent.net
>>>>> http://lists.omnipotent.net/mailman/listinfo/lcdproc
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
>





Archive powered by MHonArc 2.6.18.

Top of page