Bug 1544576 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Today I got in a state where an object file refused to be rebuilt after I touched a cpp file that contributed to it.

This was on macOS 10.12.6, and I'm using sccache but I think that's not relevant here.

My base revision was mozilla-central rev `6b5221949e77`.

The object file in question was `gfx/layers/Unified_cpp_gfx_layers9.o`. `Unified_cpp_gfx_layers9.cpp` includes `gfx/layers/ipc/SharedRGBImage.cpp`.

```
Markuss-MacBook-Pro:obj-m-opt mstange$ ls -l gfx/layers/Unified_cpp_gfx_layers9.cpp
-rw-r--r--  1 mstange  staff  7521  7 Apr 00:29 gfx/layers/Unified_cpp_gfx_layers9.cpp
Markuss-MacBook-Pro:obj-m-opt mstange$ ls -l gfx/layers/Unified_cpp_gfx_layers9.o
-rw-r-----  1 mstange  staff  13481508  9 Apr 22:27 gfx/layers/Unified_cpp_gfx_layers9.o
Markuss-MacBook-Pro:obj-m-opt mstange$ ls -l ../mozilla/gfx/layers/ipc/SharedRGBImage.cpp
-rw-r--r--  1 mstange  staff  6107 15 Apr 17:13 ../mozilla/gfx/layers/ipc/SharedRGBImage.cpp
```

As a result, when I made changes, the build system would happily recompile other code and relink everything into XUL, and then things would crash at runtime because of incorrect vtables.

I have deleted `Unified_cpp_gfx_layers9.o` and things are working correctly again.
Today I got in a state where an object file refused to be rebuilt after I touched a cpp file and a few header files that contributed to it.

This was on macOS 10.12.6, and I'm using sccache but I think that's not relevant here.

My base revision was mozilla-central rev `6b5221949e77`.

The object file in question was `gfx/layers/Unified_cpp_gfx_layers9.o`. `Unified_cpp_gfx_layers9.cpp` includes `gfx/layers/ipc/SharedRGBImage.cpp`.

```
Markuss-MacBook-Pro:obj-m-opt mstange$ ls -l gfx/layers/Unified_cpp_gfx_layers9.cpp
-rw-r--r--  1 mstange  staff  7521  7 Apr 00:29 gfx/layers/Unified_cpp_gfx_layers9.cpp
Markuss-MacBook-Pro:obj-m-opt mstange$ ls -l gfx/layers/Unified_cpp_gfx_layers9.o
-rw-r-----  1 mstange  staff  13481508  9 Apr 22:27 gfx/layers/Unified_cpp_gfx_layers9.o
Markuss-MacBook-Pro:obj-m-opt mstange$ ls -l ../mozilla/gfx/layers/ipc/SharedRGBImage.cpp
-rw-r--r--  1 mstange  staff  6107 15 Apr 17:13 ../mozilla/gfx/layers/ipc/SharedRGBImage.cpp
```

As a result, when I made changes, the build system would happily recompile other code and relink everything into XUL, and then things would crash at runtime because of incorrect vtables.

I have deleted `Unified_cpp_gfx_layers9.o` and things are working correctly again.
Today I got in a state where an object file refused to be rebuilt after I touched a cpp file and a few header files that contributed to it.

This was on macOS 10.12.6, and I'm using sccache but I think that's not relevant here.

My base revision was mozilla-central rev `6b5221949e77`.

The object file in question was `gfx/layers/Unified_cpp_gfx_layers9.o`. `Unified_cpp_gfx_layers9.cpp` includes `gfx/layers/ipc/SharedRGBImage.cpp`.

```
Markuss-MacBook-Pro:obj-m-opt mstange$ ls -l gfx/layers/Unified_cpp_gfx_layers9.cpp
-rw-r--r--  1 mstange  staff  7521  7 Apr 00:29 gfx/layers/Unified_cpp_gfx_layers9.cpp
Markuss-MacBook-Pro:obj-m-opt mstange$ ls -l gfx/layers/Unified_cpp_gfx_layers9.o
-rw-r-----  1 mstange  staff  13481508  9 Apr 22:27 gfx/layers/Unified_cpp_gfx_layers9.o
Markuss-MacBook-Pro:obj-m-opt mstange$ ls -l ../mozilla/gfx/layers/ipc/SharedRGBImage.cpp
-rw-r--r--  1 mstange  staff  6107 15 Apr 17:13 ../mozilla/gfx/layers/ipc/SharedRGBImage.cpp
```

As a result, when I made changes, the build system would happily recompile other code, but `Unified_cpp_gfx_layers9.o` would remain the same, and then mixed stuff would be linked together into XUL, and then things would crash at runtime because of incorrect vtables.

I have deleted `Unified_cpp_gfx_layers9.o` and things are working correctly again.

Back to Bug 1544576 Comment 0