Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1255741 - nunit fails to build on ppc64le
Summary: nunit fails to build on ppc64le
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: nunit
Version: 23
Hardware: ppc64le
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Timotheus Pokorra
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F-ExcludeArch-ppc64le, PPC64LETracker 1185763
TreeView+ depends on / blocked
 
Reported: 2015-08-21 12:31 UTC by Rafael Fonseca
Modified: 2016-07-07 10:31 UTC (History)
5 users (show)

Fixed In Version: nunit-2.6.4-12.fc25
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-07-07 10:31:33 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Rafael Fonseca 2015-08-21 12:31:09 UTC
Description of problem: nunit fails to build with the following error message:

/usr/lib/mono/4.5/Microsoft.Common.targets: error : Tool exited with code: 1. Output: Error: Exception has been thrown by the target of an invocation.
Inner exception: A null reference or invalid value was found [GDI+ status: InvalidParameter]
				Tool /usr/lib/mono/4.5/resgen.exe execution started with arguments: /useSourcePath /compile "TestTree.resx,obj/Debug/NUnit.UiKit.TestTree.resources" 
				Tool /usr/lib/mono/4.5/resgen.exe execution started with arguments: /useSourcePath /compile "TextOutputSettingsPage.resx,obj/Debug/NUnit.UiKit.TextOutputSettingsPage.resources" 
				Tool /usr/lib/mono/4.5/resgen.exe execution started with arguments: /useSourcePath /compile "TipWindow.resx,obj/Debug/CP.Windows.Forms.TipWindow.resources" 
				Tool /usr/lib/mono/4.5/resgen.exe execution started with arguments: /useSourcePath /compile "TreeBasedSettingsDialog.resx,obj/Debug/NUnit.UiKit.TreeBasedSettingsDialog.resources" 
/usr/lib/mono/4.5/Microsoft.Common.targets: error : Tool exited with code: 1. Output: Error: Exception has been thrown by the target of an invocation.
Inner exception: A null reference or invalid value was found [GDI+ status: InvalidParameter]
			Task "GenerateResource" execution -- FAILED
			Done building target "GenerateResources" in project "/builddir/build/BUILD/nunitv2-2.6.4/src/GuiComponents/UiKit/nunit.uikit.dll.csproj".-- FAILED
		Done building project "/builddir/build/BUILD/nunitv2-2.6.4/src/GuiComponents/UiKit/nunit.uikit.dll.csproj".-- FAILED
	Task "MSBuild" execution -- FAILED
	Done building target "ResolveProjectReferences" in project "/builddir/build/BUILD/nunitv2-2.6.4/src/GuiRunner/nunit-gui/nunit-gui.csproj".-- FAILED
Done building project "/builddir/build/BUILD/nunitv2-2.6.4/src/GuiRunner/nunit-gui/nunit-gui.csproj".-- FAILED
Build FAILED.
Errors:
/builddir/build/BUILD/nunitv2-2.6.4/src/GuiRunner/nunit-gui/nunit-gui.csproj (default targets) ->
/usr/lib/mono/4.5/Microsoft.Common.targets (ResolveProjectReferences target) ->
/builddir/build/BUILD/nunitv2-2.6.4/src/GuiComponents/UiKit/nunit.uikit.dll.csproj (default targets) ->
/usr/lib/mono/4.5/Microsoft.Common.targets (GenerateResources target) ->
	/usr/lib/mono/4.5/Microsoft.Common.targets: error : Tool exited with code: 1. Output: Error: Exception has been thrown by the target of an invocation.
Inner exception: A null reference or invalid value was found [GDI+ status: InvalidParameter]
	/usr/lib/mono/4.5/Microsoft.Common.targets: error : Tool exited with code: 1. Output: Error: Exception has been thrown by the target of an invocation.
Inner exception: A null reference or invalid value was found [GDI+ status: InvalidParameter]
	 0 Warning(s)
	 2 Error(s)
Time Elapsed 00:00:07.7548090
RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.qjZa6L (%build)


Version-Release number of selected component (if applicable): 2.6.4-9


How reproducible: ppc-koji build nonunit on ppc64le

Comment 1 Rafael Fonseca 2015-08-21 12:36:11 UTC
Note that nunit blocks nant. nant blocks log4net. And log4net blocks smuxi [1].

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1185763

Comment 2 Timotheus Pokorra 2015-08-21 16:15:24 UTC
I think these are the commands to reproduce it outside of the whole build:

cd /builddir/build/BUILD/nunitv2-2.6.4/src/GuiComponents/UiKit
mkdir -p obj/Debug
mono /usr/lib/mono/4.5/resgen.exe /useSourcePath /compile "TestSuiteTreeView.resx,obj/Debug/NUnit.UiKit.TestSuiteTreeView.resources"

note that other resx files with format Microsoft ResX Schema Version 1.3 seem to work fine, eg https://github.com/nunit/nunitv2/blob/master/src/GuiComponents/UiKit/ConfigurationEditor.resx 
This resx only has an icon.

But this is the failing resx file: https://github.com/nunit/nunitv2/blob/master/src/GuiComponents/UiKit/TestSuiteTreeView.resx
Microsoft ResX Schema Version 2.0
and it has an ImageStream

So libgdiplus has problems with that.

I modified the spec file to see what output this generates: strace mono --verbose /usr/lib/mono/4.5/resgen.exe /useSourcePath /compile "TestSuiteTreeView.resx,obj/Debug/NUnit.UiKit.TestSuiteTreeView.resources"
You can see it here in a scratch build: http://ppc.koji.fedoraproject.org/kojifiles/work/tasks/4746/2714746/build.log 

look for "Error: Exception has been thrown"

stat("/usr/share/fonts/zvbi/caption.pcf.gz", {st_mode=S_IFREG|0644, st_size=3046, ...}) = 0
stat("/usr/share/fonts/zvbi/captioni.pcf.gz", {st_mode=S_IFREG|0644, st_size=3381, ...}) = 0
stat("/usr/share/fonts/zvbi/fonts.alias", {st_mode=S_IFREG|0644, st_size=71, ...}) = 0
stat("/usr/share/fonts/zvbi/fonts.dir", {st_mode=S_IFREG|0644, st_size=624, ...}) = 0
stat("/usr/share/fonts/zvbi/teletext1.pcf.gz", {st_mode=S_IFREG|0644, st_size=18631, ...}) = 0
stat("/usr/share/fonts/zvbi/teletext1i.pcf.gz", {st_mode=S_IFREG|0644, st_size=18759, ...}) = 0
stat("/usr/share/fonts/zvbi/teletext2.pcf.gz", {st_mode=S_IFREG|0644, st_size=21342, ...}) = 0
stat("/usr/share/fonts/zvbi/teletext2i.pcf.gz", {st_mode=S_IFREG|0644, st_size=21677, ...}) = 0
stat("/usr/share/fonts/zvbi/teletext4.pcf.gz", {st_mode=S_IFREG|0644, st_size=22774, ...}) = 0
stat("/usr/share/fonts/zvbi/teletext4i.pcf.gz", {st_mode=S_IFREG|0644, st_size=22576, ...}) = 0
close(7)                                = 0
close(6)                                = 0
mmap(NULL, 65536, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x3fff92ba0000
fcntl(1, F_GETFL)                       = 0x1 (flags O_WRONLY)
ioctl(1, TCGETS, 0x3fffdc9403a0)        = -1 ENOTTY (Inappropriate ioctl for device)
fcntl(2, F_GETFL)                       = 0x1 (flags O_WRONLY)
fcntl(0, F_GETFL)                       = 0x10000 (flags O_RDONLY|0x10000)
write(1, "Error: Exception has been thrown"..., 65) = 65
write(1, "Inner exception: A null referenc"..., 93) = 93
close(3)                                = 0

hope this gives a starting point for someone else...
at the moment I don't know where to look next


Note You need to log in before you can comment on or make changes to this bug.