Skip to content
New issue

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

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

Already on GitHub? Sign in 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 <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
@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 <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
@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 <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
@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 <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
@gibfahn gibfahn mentioned this pull request Dec 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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