New issue
Advanced search Search tips

Issue 629899 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug



Sign in to add a comment

Dr. Memory compilation broken by r406406

Project Member Reported by glider@chromium.org, Jul 20 2016

Issue description

https://codereview.chromium.org/2163493002 has broken the compilation step on the Dr. Memory bots.

See https://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20Windows%20Builder%20%28DrMemory%29/builds/17568/steps/compile/logs/stdio:
=======================================================
[1911/8889] LINK_EMBED(DLL) gpu.dll
FAILED: gpu.dll gpu.dll.lib gpu.dll.pdb 
C:\b\depot_tools\python276_bin\python_slave.exe gyp-win-tool link-with-manifests environment.x86 True gpu.dll "C:\b\depot_tools\python276_bin\python_slave.exe gyp-win-tool link-wrapper environment.x86 False link.exe /nologo /IMPLIB:gpu.dll.lib /DLL /OUT:gpu.dll @gpu.dll.rsp" 2 mt.exe rc.exe "obj\gpu\gpu.gpu.dll.intermediate.manifest" obj\gpu\gpu.gpu.dll.generated.manifest
gpu.gles2_cmd_decoder.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall SkMatrix44::SkMatrix44(enum SkMatrix44::Identity_Constructor)" (__imp_??0SkMatrix44@@QAE@W4Identity_Constructor@0@@Z) referenced in function "private: enum gpu::error::Error __thiscall gpu::gles2::GLES2DecoderImpl::HandleScheduleCALayerSharedStateCHROMIUM(unsigned int,void const *)" (?HandleScheduleCALayerSharedStateCHROMIUM@GLES2DecoderImpl@gles2@gpu@@AAE?AW4Error@error@3@IPBX@Z)

gpu.dll : fatal error LNK1120: 1 unresolved externals

Traceback (most recent call last):

  File "gyp-win-tool", line 323, in <module>

    sys.exit(main(sys.argv[1:]))

  File "gyp-win-tool", line 29, in main

    exit_code = executor.Dispatch(args)

  File "gyp-win-tool", line 71, in Dispatch

    return getattr(self, method)(*args[1:])

  File "gyp-win-tool", line 179, in ExecLinkWithManifests

    subprocess.check_call(ldcmd + add_to_ld)

  File "C:\b\depot_tools\python276_bin\lib\subprocess.py", line 540, in check_call

    raise CalledProcessError(retcode, cmd)

subprocess.CalledProcessError: Command 'C:\b\depot_tools\python276_bin\python_slave.exe gyp-win-tool link-wrapper environment.x86 False link.exe /nologo /IMPLIB:gpu.dll.lib /DLL /OUT:gpu.dll @gpu.dll.rsp gpu.dll.manifest.res' returned non-zero exit status 1120
=======================================================

gpu::gles2::GLES2DecoderImpl::HandleScheduleCALayerSharedStateCHROMIUM() has been introduced by the CL in question


 

Comment 1 by glider@chromium.org, Jul 20 2016

Cc: dpranke@chromium.org
The CL in question made a new class in GLES2DecoderImpl which has a gfx::Transform member, which in turn has a SkMatrix44 member. This seems to work fine in GN.

//gpu/command_buffer/service depends on 
//ui/gfx which has a public dependency on
//skia

Tracing the gyp route:
gpu/command_buffer_service.gypi has a dependency on
'../ui/gfx/gfx.gyp:gfx', which has a dependency on
'<(DEPTH)/skia/skia.gyp:skia', as well as export_dependent_settings:
'<(DEPTH)/skia/skia.gyp:skia', 

I think in gyp, gpu/command_buffer_service.gypi will need to directly depend on skia to pick up the symbols?
Yes, I'm confirming c#2. The correct thing to do is to have gpu/command_buffer_service.gypi directly depend on skia.

Comment 4 by glider@chromium.org, Jul 21 2016

FTR here's Erik's patch that should fix the problem: https://codereview.chromium.org/2166813004/
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3f204686607e8d039d6599cdbcc1607d6d65c1c5

commit 3f204686607e8d039d6599cdbcc1607d6d65c1c5
Author: erikchen <erikchen@chromium.org>
Date: Thu Jul 21 16:56:50 2016

Let the command buffer service target directly depend on Skia in gyp.

The class GLES2DecoderImpl::CALayerSharedState has a gfx::Transform member,
which in turn has a SkMatrix44 member. In gyp, this means that the command
buffer service target needs to depend on Skia.

BUG= 629899 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2166813004
Cr-Commit-Position: refs/heads/master@{#406878}

[modify] https://crrev.com/3f204686607e8d039d6599cdbcc1607d6d65c1c5/gpu/command_buffer_service.gypi

Comment 6 by glider@chromium.org, Jul 22 2016

Status: Fixed (was: Assigned)

Sign in to add a comment