|Summary:||newt calls Gpm_Close() even if Gpm_Open() failed|
|Product:||[Fedora] Fedora||Reporter:||Andreas Hasenack <andreas>|
|Component:||newt||Assignee:||Eido Inoue <havill>|
|Status:||CLOSED RAWHIDE||QA Contact:||David Lawrence <dkl>|
|Fixed In Version:||0.51.6-5||Doc Type:||Bug Fix|
|Doc Text:||Story Points:||---|
|Last Closed:||2004-10-15 15:19:56 UTC||Type:||---|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Bug Depends On:|
|Bug Blocks:||114961, 123268|
Description Andreas Hasenack 2004-03-17 14:37:43 UTC
From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040315 Firefox/0.8 Description of problem: Authconfig segfaults when selecting NIS and ypbind is not installed. It warns the user about the ypbind requirement but, when one selects "next", it just segfaults. Version-Release number of selected component (if applicable): 4.6-1 How reproducible: Always Steps to Reproduce: 1. Remove ypbind 2. start authconfig and select NIS. It warns that the ypbind package is necessary. Click ok. 3. Go to the next screen. It segfaults. It actually doesn't matter if one chooses NIS, it could also be kerberos5, as long as a required package is not installed and the newt callback function is called. Actual Results: authconfig segfaults when exiting the first screen in an attempt to go to the next one. Expected Results: It shouldn't segfault. Additional info:
Comment 1 Andreas Hasenack 2004-04-26 20:56:03 UTC
Problem persists with authconfig-4.6.2-1
Comment 2 Nalin Dahyabhai 2004-05-07 21:32:25 UTC
Unable to reproduce this with test 2 (20040325) or current Raw Hide. If you can still reproduce this with Raw Hide, please add a stack trace to this report. Meantime, marking worksforme.
Comment 3 Andreas Hasenack 2004-05-10 14:09:36 UTC
with authconfig-4.6.2-1 and newt-0.51.6: Program received signal SIGSEGV, Segmentation fault. mqqqqqqqqqqj mqqqqqqqqqj x 0x400afda0 in Gpm_Close () at form.c:326 x x 326 next=gpm_stack->next; x x (gdb) bt mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj #0 0x400afda0 in Gpm_Close () at form.c:326 #1 0x400b104a in newtFormRun (co=0x808b890, es=0xbfffe7e0) at form.c:1066 #2 0x400b0a5c in newtRunForm (co=0x808b890) at form.c:816 #3 0x0804cf2d in getMainChoices (back=0, nisAvail=0, ldapAvail=0, kerberosAvail=0, smbAvail=0, cacheAvail=0, authInfo=0x8083e00) at authconfig.c:704 #4 0x0804d096 in getChoices (back=0, nisAvail=0, ldapAvail=0, kerberosAvail=0, smbAvail=0, cacheAvail=0, authInfo=0x8083e00) at authconfig.c:736 #5 0x0804f9f8 in main (argc=0, argv=0x0) at authconfig.c:1249 (gdb) frame 0 #0 0x400afda0 in Gpm_Close () at form.c:326Ã§o> seleciona | <F12> prÃ³xima tela 326 next=gpm_stack->next; (gdb) p gpm_stack->next Cannot access memory at address 0x10 (gdb) p gpm_stack $2 = (Gpm_Stst *) 0x0
Comment 4 Andreas Hasenack 2004-05-10 14:53:16 UTC
I couldn't reproduce this in fedora core 2 test3, however. I'll check version numbers and patches for the relevant programs and libs.
Comment 5 Andreas Hasenack 2004-05-10 15:51:39 UTC
I added this quick patch and it stopped segfaulting. Not sure yet if it's the right way, I'm not familiar with this code: --- newt-0.51.6/form.c~ 2003-01-04 17:15:25.000000000 -0200 +++ newt-0.51.6/form.c 2004-05-10 12:45:06.532824552 -0300 @@ -893,6 +893,7 @@ struct timeval nextTimeout, now, timeout; #ifdef USE_GPM int x, y; + int success; Gpm_Connect conn; Gpm_Event event; @@ -902,7 +903,7 @@ conn.minMod = 0; conn.maxMod = 0; - Gpm_Open(&conn, 0); + success = Gpm_Open(&conn, 0); #endif newtFormSetSize(co); @@ -1062,6 +1063,7 @@ } newtRefresh(); #ifdef USE_GPM + if (success > 0) Gpm_Close(); #endif }
Comment 6 Nalin Dahyabhai 2004-05-10 21:06:06 UTC
If that affects it, then I'm really confused. AFAIK newt's gpm code isn't even compiled in. Cc'ing Adrian, the current newt maintainer.
Comment 7 Andreas Hasenack 2004-05-10 21:10:18 UTC
Uhh, I guess I was not clear enough. My newt build explicitly enables gpm support. Anyway, changing component to newt, nothing to do with authconfig indeed.
Comment 8 Eido Inoue 2004-05-11 01:47:47 UTC
the most recent build of gpm changes the way Gpm_Open() returns. Have you tested the pkg in the latest rawhide?
Comment 9 Eido Inoue 2004-05-11 01:52:36 UTC
rechanging the component-- obviously newt needs to check the return value of Gpm_Open() so it doesn't try to close a non-existant handle