Bug 299258

Summary: cannot compile Multipath.ycp: No id for entry (boolean ChangeWidget (term, symbol, any))
Product: [openSUSE] openSUSE 10.3 Reporter: Martin Vidner <mvidner>
Component: YaST2Assignee: Martin Vidner <mvidner>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None    
Version: Beta 1   
Target Milestone: ---   
Hardware: All   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: 299258.diff, workaround for yast2-multipath

Description Martin Vidner 2007-08-10 14:26:57 UTC
With yast2-core-2.15.6.4 (in the BETA autobuild tree, not in Beta1 yet), building yast2-multipath fails with No id for entry ChangeWidget (details below).

It is a regression in the new code for Feature #120292, but since it is the only one in the known yast universe and I have a workaround, I will submit the code with the bug. The workaround follows in the next comment.

(gdb) r
Starting program: /local/home2/pfx/bin/ycpc -c -M. -I. -q Multipath.ycp
Failed to read a valid object file image from memory.
[Thread debugging using libthread_db enabled]
[New Thread -1219512624 (LWP 18236)]
warning: Lowest section in /usr/lib/libicudata.so.34 is .hash at 000000b4
multipath/complex.ycp:73  [Parser] Warning: Format string is not constant, no parameter checking possible
...
multipath/complex.ycp:2233  [Parser] Warning: Format string is not constant, no parameter checking possible
Bytecode.cc(namespaceId):595  [libycp] No ID for 0x809e208, level 13
Bytecode.cc(writeEntry):751  [libycp] No id for entry (boolean ChangeWidget (term, symbol, any))

Program received signal SIGABRT, Aborted.
[Switching to Thread -1219512624 (LWP 18236)]
0xb7f4e410 in ?? ()
(gdb) bt
#0  0xb7f4e410 in ?? ()
#1  0xbf87dcbc in ?? ()
#2  0x00000006 in ?? ()
#3  0x0000473c in ?? ()
#4  0xb7527060 in raise () from /lib/libc.so.6
#5  0xb7528801 in abort () from /lib/libc.so.6
#6  0xb7c28757 in Bytecode::writeEntry (str=@0xbf87e020, sentry=@0xbf87de64) at Bytecode.cc:752
#7  0xb7e7bf92 in YECall::toStream (this=0x8205500, str=@0xbf87e020) at YExpression.cc:2978
#8  0xb7ea0db1 in YSExpression::toStream (this=0x8205748, str=@0xbf87e020) at YStatement.cc:250
#9  0xb7eb2664 in YBlock::toStream (this=0x82052d8, str=@0xbf87e020) at YBlock.cc:1000
#10 0xb7e6a6c2 in YFunction::toStreamDefinition (this=0x8204878, str=@0xbf87e020) at YCode.cc:756
#11 0xb7ea0c4a in YSFunction::toStream (this=0x8205280, str=@0xbf87e020) at YStatement.cc:522
#12 0xb7eb2664 in YBlock::toStream (this=0x809a508, str=@0xbf87e020) at YBlock.cc:1000
#13 0xb7c260f3 in Bytecode::writeFile (code=@0xbf87e1a4, filename=@0xbf87e190) at Bytecode.cc:1194
#14 0x0804e17f in compilefile (infname=0xbf87ee10 "Multipath.ycp", outfname=0x0) at ycpc.cc:938
#15 0x0804e23e in processfile (infname=0xbf87ee10 "Multipath.ycp", outfname=0x0) at ycpc.cc:997
#16 0x08051e76 in main (argc=6, argv=0xbf87e3f4) at ycpc.cc:1393
Comment 1 Martin Vidner 2007-08-10 14:33:55 UTC
Created attachment 156805 [details]
299258.diff, workaround for yast2-multipath
Comment 2 Martin Vidner 2007-08-10 14:42:06 UTC
Hi Coly,
please apply the attached patch to yast2-multipath.
It does nothing for current yast but works around this bug in a future
version of yast that I am about to check in ;-)
Comment 3 Coly Yong Li 2007-08-10 18:00:50 UTC
Martin,

I applied this patch, but now I can not verify it in abuild. Due to this error from /work/src/bin/build --clean:

expanding package dependencies
nothing provides libboost_filesystem.so.1.33.1()(64bit) needed by libzypp
nothing provides libboost_regex.so.1.33.1()(64bit) needed by libzypp
expansion failed.
init_buildsystem failed.

Let me try again next Monday. 
Also I will only submit this patch into STABLE, not in SLE10. Because HA solution based on SLE10 are code freezed. It will be better to avoid touching it.

Comment 4 Coly Yong Li 2007-08-12 15:34:32 UTC
tested and verified on abuild, it is OK.
Patch applied and submitted into abuild STABLE.