Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

build: fix cctest target --with-dtrace #17039

Closed
wants to merge 2 commits into from

Conversation

danbev
Copy link
Contributor

@danbev danbev commented Nov 15, 2017

Currently the cctest target will fail on linux when configured
--with-dtrace:

/node-v9.2.0/out/Release/obj.target/node/src/node_dtrace.o:
In function `node::DTRACE_NET_SERVER_CONNECTION(
    v8::FunctionCallbackInfo<v8::Value> const&)':
node_dtrace.cc:(.text+0x103): undefined reference to
`node_net__server__connection_semaphore'
/node-v9.2.0/out/Release/obj.target/node/src/node_dtrace.o:
In function `node::DTRACE_NET_STREAM_END(
    v8::FunctionCallbackInfo<v8::Value> const&)':
...

This is because node_dtrace_provider.o is not linked by the cctest
target.

This commit tries to fix and simplify the conditions in cctest target
so that node_dtrace.o is included for all operating systems that support
dtrace, include node_dtrace_ustack.o for all operating systems except
mac and linux, and include node_dtrace_provider.o for all operating
systems except mac.

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines
Affected core subsystem(s)

build

Currently the cctest target will fail on linux when configured
--with-dtrace:

/node-v9.2.0/out/Release/obj.target/node/src/node_dtrace.o:
In function `node::DTRACE_NET_SERVER_CONNECTION(
    v8::FunctionCallbackInfo<v8::Value> const&)':
node_dtrace.cc:(.text+0x103): undefined reference to
`node_net__server__connection_semaphore'
/node-v9.2.0/out/Release/obj.target/node/src/node_dtrace.o:
In function `node::DTRACE_NET_STREAM_END(
    v8::FunctionCallbackInfo<v8::Value> const&)':
...

This is because node_dtrace_provider.o is not linked by the cctest
target.

This commit tries to fix and simplify the conditions in cctest target
so that node_dtrace.o is included for all operating systems that support
dtrace, include node_dtrace_ustack.o for all operating systems except
mac and linux, and include node_dtrace_provider.o for all operating
systems except mac.
@nodejs-github-bot nodejs-github-bot added the build Issues and PRs related to build files or the CI. label Nov 15, 2017
@danbev
Copy link
Contributor Author

danbev commented Nov 15, 2017

The path to node_dtrace_provider.o is different or different operating
systems. This commit attempt to fix this for Linux.
@danbev
Copy link
Contributor Author

danbev commented Nov 15, 2017

@danbev
Copy link
Contributor Author

danbev commented Nov 15, 2017

test/arm-fanned failures looks unrelated

console output:

06:40:48 Started by upstream project "node-test-binary-arm" build number 11820
06:40:48 originally caused by:
06:40:48  Started by upstream project "node-test-commit-arm-fanned" build number 12604
06:40:48  originally caused by:
06:40:48   Started by upstream project "node-test-commit" build number 14046
06:40:48   originally caused by:
06:40:48    Started by upstream project "node-test-pull-request" build number 11450
06:40:48    originally caused by:
06:40:48     Started by user Daniel Bevenius
06:40:48 [EnvInject] - Loading node environment variables.
06:40:48 Building remotely on test-requireio_svincent-debian7-arm_pi2-3 (pi2-raspbian-wheezy) in workspace /home/iojs/build/workspace/node-test-binary-arm
06:40:49 java.io.IOException: Failed to mkdirs: /home/iojs/build/workspace/node-test-binary-arm
06:40:49 	at hudson.FilePath.mkdirs(FilePath.java:1171)
06:40:49 	at hudson.model.AbstractProject.checkout(AbstractProject.java:1210)
06:40:49 	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:566)
06:40:49 	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
06:40:49 	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:491)
06:40:49 	at hudson.model.Run.execute(Run.java:1737)
06:40:49 	at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
06:40:49 	at hudson.model.ResourceController.execute(ResourceController.java:97)
06:40:49 	at hudson.model.Executor.run(Executor.java:421)
06:40:49 TAP Reports Processing: START
06:40:49 Looking for TAP results report in workspace using pattern: *.tap
06:40:49 ERROR: Build step failed with exception
06:40:49 /home/iojs/build/workspace/node-test-binary-arm does not exist.
06:40:49 	at org.apache.tools.ant.types.AbstractFileSet.getDirectoryScanner(AbstractFileSet.java:483)
06:40:49 	at hudson.FilePath.glob(FilePath.java:1760)
06:40:49 	at hudson.FilePath.access$1700(FilePath.java:197)
06:40:49 	at hudson.FilePath$32.invoke(FilePath.java:1737)
06:40:49 	at hudson.FilePath$32.invoke(FilePath.java:1734)
06:40:49 	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2750)
06:40:49 	at hudson.remoting.UserRequest.perform(UserRequest.java:208)
06:40:49 	at hudson.remoting.UserRequest.perform(UserRequest.java:54)
06:40:49 	at hudson.remoting.Request$2.run(Request.java:360)
06:40:49 	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
06:40:49 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
06:40:49 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
06:40:49 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
06:40:49 	at hudson.remoting.Engine$1$1.run(Engine.java:98)
06:40:49 	at java.lang.Thread.run(Thread.java:744)
06:40:49 	at ......remote call to JNLP4-connect connection from static-n49-176-213-208.sbr2.nsw.optusnet.com.au/49.176.213.208:53984(Native Method)
06:40:49 	at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1654)
06:40:49 	at hudson.remoting.UserResponse.retrieve(UserRequest.java:311)
06:40:49 	at hudson.remoting.Channel.call(Channel.java:905)
06:40:49 	at hudson.FilePath.act(FilePath.java:987)
06:40:49 	at hudson.FilePath.act(FilePath.java:976)
06:40:49 	at hudson.FilePath.list(FilePath.java:1734)
06:40:49 	at hudson.FilePath.list(FilePath.java:1718)
06:40:49 	at hudson.FilePath.list(FilePath.java:1703)
06:40:49 	at org.tap4j.plugin.TapPublisher.locateReports(TapPublisher.java:647)
06:40:49 	at org.tap4j.plugin.TapPublisher.performImpl(TapPublisher.java:383)
06:40:49 	at org.tap4j.plugin.TapPublisher.perform(TapPublisher.java:371)
06:40:49 	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:81)
06:40:49 	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
06:40:49 	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:736)
06:40:49 	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:682)
06:40:49 	at hudson.model.Build$BuildExecution.post2(Build.java:186)
06:40:49 	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:627)
06:40:49 	at hudson.model.Run.execute(Run.java:1762)
06:40:49 	at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
06:40:49 	at hudson.model.ResourceController.execute(ResourceController.java:97)
06:40:49 	at hudson.model.Executor.run(Executor.java:421)
06:40:49 Build step 'Publish TAP Results' marked build as failure
06:40:49 Checking ^not ok
06:40:49 ERROR: Build step failed with exception
06:40:49 /home/iojs/build/workspace/node-test-binary-arm does not exist.
06:40:49 	at org.apache.tools.ant.types.AbstractFileSet.getDirectoryScanner(AbstractFileSet.java:483)
06:40:49 	at hudson.plugins.textfinder.TextFinderPublisher$1.invoke(TextFinderPublisher.java:111)
06:40:49 	at hudson.plugins.textfinder.TextFinderPublisher$1.invoke(TextFinderPublisher.java:101)
06:40:49 	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2750)
06:40:49 	at hudson.remoting.UserRequest.perform(UserRequest.java:208)
06:40:49 	at hudson.remoting.UserRequest.perform(UserRequest.java:54)
06:40:49 	at hudson.remoting.Request$2.run(Request.java:360)
06:40:49 	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
06:40:49 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
06:40:49 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
06:40:49 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
06:40:49 	at hudson.remoting.Engine$1$1.run(Engine.java:98)
06:40:49 	at java.lang.Thread.run(Thread.java:744)
06:40:49 	at ......remote call to JNLP4-connect connection from static-n49-176-213-208.sbr2.nsw.optusnet.com.au/49.176.213.208:53984(Native Method)
06:40:49 	at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1654)
06:40:49 	at hudson.remoting.UserResponse.retrieve(UserRequest.java:311)
06:40:49 	at hudson.remoting.Channel.call(Channel.java:905)
06:40:49 	at hudson.FilePath.act(FilePath.java:987)
06:40:49 	at hudson.FilePath.act(FilePath.java:976)
06:40:49 	at hudson.plugins.textfinder.TextFinderPublisher.findText(TextFinderPublisher.java:101)
06:40:49 	at hudson.plugins.textfinder.TextFinderPublisher.perform(TextFinderPublisher.java:74)
06:40:49 	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
06:40:49 	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:736)
06:40:49 	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:682)
06:40:49 	at hudson.model.Build$BuildExecution.post2(Build.java:186)
06:40:49 	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:627)
06:40:49 	at hudson.model.Run.execute(Run.java:1762)
06:40:49 	at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
06:40:49 	at hudson.model.ResourceController.execute(ResourceController.java:97)
06:40:49 	at hudson.model.Executor.run(Executor.java:421)
06:40:49 Build step 'Jenkins Text Finder' marked build as failure
06:40:49 Notifying upstream projects of job completion
06:40:49 Finished: FAILURE

console output:

Started by upstream project "node-test-commit-arm-fanned" build number 12604
originally caused by:
 Started by upstream project "node-test-commit" build number 14046
 originally caused by:
  Started by upstream project "node-test-pull-request" build number 11450
  originally caused by:
   Started by user Daniel Bevenius
[EnvInject] - Loading node environment variables.
Building remotely on test-requireio_jasnell-debian7-arm_pi2-1 (pi2-raspbian-wheezy) in workspace /home/iojs/build/workspace/git-nodesource-update-reference
java.io.IOException: Failed to mkdirs: /home/iojs/build/workspace/git-nodesource-update-reference
	at hudson.FilePath.mkdirs(FilePath.java:1171)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1210)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:566)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:491)
	at hudson.model.Run.execute(Run.java:1737)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:97)
	at hudson.model.Executor.run(Executor.java:421)
Notifying upstream projects of job completion
Finished: FAILURE

@danbev
Copy link
Contributor Author

danbev commented Nov 17, 2017

Landed in c661dad

@danbev danbev closed this Nov 17, 2017
danbev added a commit that referenced this pull request Nov 17, 2017
Currently the cctest target will fail on linux when configured
--with-dtrace:

/node-v9.2.0/out/Release/obj.target/node/src/node_dtrace.o:
In function `node::DTRACE_NET_SERVER_CONNECTION(
    v8::FunctionCallbackInfo<v8::Value> const&)':
node_dtrace.cc:(.text+0x103): undefined reference to
`node_net__server__connection_semaphore'
/node-v9.2.0/out/Release/obj.target/node/src/node_dtrace.o:
In function `node::DTRACE_NET_STREAM_END(
    v8::FunctionCallbackInfo<v8::Value> const&)':
...

This is because node_dtrace_provider.o is not linked by the cctest
target.

This commit tries to fix and simplify the conditions in cctest target
so that node_dtrace.o is included for all operating systems that support
dtrace, include node_dtrace_ustack.o for all operating systems except
mac and linux, and include node_dtrace_provider.o for all operating
systems except mac.

PR-URL: #17039
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@danbev danbev deleted the dtrace_cctest_target_fix branch November 17, 2017 06:25
MylesBorins pushed a commit that referenced this pull request Dec 12, 2017
Currently the cctest target will fail on linux when configured
--with-dtrace:

/node-v9.2.0/out/Release/obj.target/node/src/node_dtrace.o:
In function `node::DTRACE_NET_SERVER_CONNECTION(
    v8::FunctionCallbackInfo<v8::Value> const&)':
node_dtrace.cc:(.text+0x103): undefined reference to
`node_net__server__connection_semaphore'
/node-v9.2.0/out/Release/obj.target/node/src/node_dtrace.o:
In function `node::DTRACE_NET_STREAM_END(
    v8::FunctionCallbackInfo<v8::Value> const&)':
...

This is because node_dtrace_provider.o is not linked by the cctest
target.

This commit tries to fix and simplify the conditions in cctest target
so that node_dtrace.o is included for all operating systems that support
dtrace, include node_dtrace_ustack.o for all operating systems except
mac and linux, and include node_dtrace_provider.o for all operating
systems except mac.

PR-URL: #17039
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@MylesBorins MylesBorins mentioned this pull request Dec 12, 2017
gibfahn pushed a commit that referenced this pull request Dec 19, 2017
Currently the cctest target will fail on linux when configured
--with-dtrace:

/node-v9.2.0/out/Release/obj.target/node/src/node_dtrace.o:
In function `node::DTRACE_NET_SERVER_CONNECTION(
    v8::FunctionCallbackInfo<v8::Value> const&)':
node_dtrace.cc:(.text+0x103): undefined reference to
`node_net__server__connection_semaphore'
/node-v9.2.0/out/Release/obj.target/node/src/node_dtrace.o:
In function `node::DTRACE_NET_STREAM_END(
    v8::FunctionCallbackInfo<v8::Value> const&)':
...

This is because node_dtrace_provider.o is not linked by the cctest
target.

This commit tries to fix and simplify the conditions in cctest target
so that node_dtrace.o is included for all operating systems that support
dtrace, include node_dtrace_ustack.o for all operating systems except
mac and linux, and include node_dtrace_provider.o for all operating
systems except mac.

PR-URL: #17039
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@gibfahn gibfahn mentioned this pull request Dec 20, 2017
gibfahn pushed a commit that referenced this pull request Dec 20, 2017
Currently the cctest target will fail on linux when configured
--with-dtrace:

/node-v9.2.0/out/Release/obj.target/node/src/node_dtrace.o:
In function `node::DTRACE_NET_SERVER_CONNECTION(
    v8::FunctionCallbackInfo<v8::Value> const&)':
node_dtrace.cc:(.text+0x103): undefined reference to
`node_net__server__connection_semaphore'
/node-v9.2.0/out/Release/obj.target/node/src/node_dtrace.o:
In function `node::DTRACE_NET_STREAM_END(
    v8::FunctionCallbackInfo<v8::Value> const&)':
...

This is because node_dtrace_provider.o is not linked by the cctest
target.

This commit tries to fix and simplify the conditions in cctest target
so that node_dtrace.o is included for all operating systems that support
dtrace, include node_dtrace_ustack.o for all operating systems except
mac and linux, and include node_dtrace_provider.o for all operating
systems except mac.

PR-URL: #17039
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@gibfahn gibfahn mentioned this pull request Dec 20, 2017
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
build Issues and PRs related to build files or the CI.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants