Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#4335 closed defect (worksforme)

Fix Alpha 21 Ubuntu 14.04 build on the WFG PPA

Reported by: scythetwirler Owned by:
Priority: Release Blocker Milestone:
Component: Build & Packages Keywords:
Cc: ricotz, Itms Patch:

Description (last modified by Itms)

Per ricotz:

trusty/14.04 package are not available since the test-suite still fails in that environment on GCC 4.8

"Assertion failure: clasp->flags & (1<<5), at /build/mozjs38-v3t0N3/mozjs38-38.2.1~rc0/js/src/jsobj.cpp:1207"

Here are the complete logs: https://launchpadlibrarian.net/292714320/buildlog_ubuntu-trusty-amd64.0ad_0.0.21-0ubuntu1~14.04~wfg1_BUILDING.txt.gz

Attachments (1)

fix-trusty.patch (465 bytes ) - added by Itms 7 years ago.

Download all attachments as: .zip

Change History (20)

comment:1 by scythetwirler, 7 years ago

Summary: Fix Ubuntu 14.04 buildFix Alpha 21 Ubuntu 14.04 build

comment:2 by Itms, 7 years ago

Description: modified (diff)

I cannot reproduce this issue. The unix-build tarball works fine for me on a fresh install of Xubuntu 14.04.5. gcc --version is 4.8.4.

Would you be able to get a backtrace of the assertion failure?

comment:3 by meric, 7 years ago

I have the same problem. Xubuntu 14.04.5 LTS and gcc --version 4.8.4.

Screenshot -> http://imgur.com/a/TYZvR.

Any advice appreciated

comment:4 by Itms, 7 years ago

Hello meric, me and ricotz couldn't reproduce the problem, so apparently the package was pushed to the PPA.

Since you get the issue, it would be awesome if you could help us track it down. That requires you get the development version and run it inside a debugger, to understand how it fails. You can find instructions at BuildInstructions#Linux and wiki:Debugging#CallstackonLinuxOSX.

Would you be able to do that and post a backtrace here? It would be much appreciated.

comment:5 by SKramer, 7 years ago

I can confirm the problem also exists on Kubuntu 14.04.5 LTS, gcc version 4.8.4.

Screenshot: http://wstaw.org/m/2016/12/14/Screen.png

Never had any trouble with previous versions of 0ad, though.

comment:6 by orchard, 7 years ago

+1 :(

Linux Mint 17.2 Cinnamon 64-bit AMD Graphics using the recommended driver, any help much appreciated :)

Cache: 400 (total: 5959) MiB
TIMER| InitVfs: 1.33915 ms
TIMER| CONFIG_Init: 1.54775 ms
Sound: AlcInit success, using OpenAL Soft
TIMER| shutdown ConfigDB: 0.578 us
AL lib: FreeContext: (0x230de90) Deleting 64 Source(s)
TIMER| resource modules: 3.91584 ms
TIMER TOTALS (9 clients)
-----------------------------------------------------
  tc_dds_transform: 0 c (0x)
  tc_png_decode: 0 c (0x)
  tc_pool_alloc: 50.828 kc (3x)
  tc_transform: 0 c (0x)
  tc_plain_transform: 0 c (0x)
  tc_ShaderValidation: 0 c (0x)
  tc_ShaderGLSLLink: 0 c (0x)
  tc_ShaderGLSLCompile: 0 c (0x)
  xml_validation: 0 c (0x)
-----------------------------------------------------
TIMER| shutdown misc: 381.612 us
Cache: 400 (total: 5959) MiB
TIMER| InitVfs: 98.1317 ms
TIMER| CONFIG_Init: 1.59348 ms
Sound: AlcInit success, using OpenAL Soft
Assertion failure: clasp->flags & (1<<5), at /build/mozjs38-v3t0N3/mozjs38-38.2.1~rc0/js/src/jsobj.cpp:1207
Segmentation fault

comment:7 by Astr0n4ut, 7 years ago

Kubuntu 14.04.5, gcc version 4.8.4 confirmed:

Cache: 400 (total: 3901) MiB
TIMER| InitVfs: 161.936 ms
TIMER| CONFIG_Init: 48.3781 ms
Sound: AlcInit success, using OpenAL Soft
TIMER| shutdown ConfigDB: 0.744 us
AL lib: FreeContext: (0x118d7f0) Deleting 64 Source(s)
TIMER| resource modules: 488.345 ms
TIMER TOTALS (9 clients)
-----------------------------------------------------
  tc_dds_transform: 0 c (0x)
  tc_png_decode: 0 c (0x)
  tc_pool_alloc: 82.428 kc (3x)
  tc_transform: 0 c (0x)
  tc_plain_transform: 0 c (0x)
  tc_ShaderValidation: 0 c (0x)
  tc_ShaderGLSLLink: 0 c (0x)
  tc_ShaderGLSLCompile: 0 c (0x)
  xml_validation: 0 c (0x)
-----------------------------------------------------
TIMER| shutdown misc: 360.963 us
Cache: 400 (total: 3901) MiB
TIMER| InitVfs: 144.532 ms
TIMER| CONFIG_Init: 1.61938 ms
Sound: AlcInit success, using OpenAL Soft
Assertion failure: clasp->flags & (1<<5), at /build/mozjs38-v3t0N3/mozjs38-38.2.1~rc0/js/src/jsobj.cpp:1207
Segmentation fault (core dumped)
Last edited 7 years ago by Astr0n4ut (previous) (diff)

comment:8 by Joska Pista, 7 years ago

Same problem with ubuntu 14.04 32bit, GeForce 9400M

Cache: 200 (total: 3754) MiB TIMER| InitVfs: 2.08844 ms TIMER| CONFIG_Init: 2.93223 ms Sound: AlcInit success, using OpenAL Soft TIMER| shutdown ConfigDB: 1.961 us AL lib: FreeContext: (0xa3a6d68) Deleting 64 Source(s) TIMER| resource modules: 6.99542 ms TIMER TOTALS (9 clients)


tc_dds_transform: 0 c (0x) tc_png_decode: 0 c (0x) tc_pool_alloc: 52.191 kc (3x) tc_transform: 0 c (0x) tc_plain_transform: 0 c (0x) tc_ShaderValidation: 0 c (0x) tc_ShaderGLSLLink: 0 c (0x) tc_ShaderGLSLCompile: 0 c (0x) xml_validation: 0 c (0x)


TIMER| shutdown misc: 363.541 us Cache: 200 (total: 3754) MiB TIMER| InitVfs: 157.905 ms TIMER| CONFIG_Init: 3.01663 ms Sound: AlcInit success, using OpenAL Soft Assertion failure: clasp->flags & (1<<5), at /build/mozjs38-34YJjE/mozjs38-38.2.1~rc0/js/src/jsobj.cpp:1207 Segmentation fault

comment:9 by fabio, 7 years ago

This issue only happens in Ubuntu 14.04. Upgrading to 16.04 will avoid it. See here for instructions: https://wiki.ubuntu.com/XenialXerus/ReleaseNotes#Upgrading_from_Ubuntu_14.04_LTS_or_15.10

in reply to:  9 comment:10 by Astr0n4ut, 7 years ago

Replying to fabio:

This issue only happens in Ubuntu 14.04. Upgrading to 16.04 will avoid it. See here for instructions: https://wiki.ubuntu.com/XenialXerus/ReleaseNotes#Upgrading_from_Ubuntu_14.04_LTS_or_15.10

That is just a workaround. Isn't there any chance to make a binary for 14.04.5?

in reply to:  9 comment:11 by Joska Pista, 7 years ago

Replying to fabio:

This issue only happens in Ubuntu 14.04. Upgrading to 16.04 will avoid it. See here for instructions: https://wiki.ubuntu.com/XenialXerus/ReleaseNotes#Upgrading_from_Ubuntu_14.04_LTS_or_15.10

My macbook has driver problems (Geeforce 9400M with two displays), so I would stay with 14.04 (sad, but it is better). But the game worked fine till the last update, so I don't think the problem is with the 14.04 but with the new binary. Anyway thanks for the advice

comment:12 by Itms, 7 years ago

Update: The issue comes from the libmozjs-38-dev package on the PPA. I can reproduce the issue when installing it and then compiling Alpha 21 from the sources with --with-system-mozjs38.

I was not able to determine the cause of the package corruption, all my attempts to compile SM with Launchpad flags resulted in a perfectly working library, from which a working game was compiled.

However, being able to compile a crashing version gave me a backtrace. The crash happens when creating the SpiderMonkey global object, from a custom JSClass that misses a flag. This flag is not needed for the global object in theory:

bool globalWithoutCustomTrace = clasp->trace == JS_GlobalObjectTraceHook &&
                                !cx->compartment()->options().getTrace();
if (clasp->trace && !globalWithoutCustomTrace)
    MOZ_RELEASE_ASSERT(clasp->flags & JSCLASS_IMPLEMENTS_BARRIERS);

(globalWithoutCustomTrace is true in theory, if I'm not mistaken)

For some reason (maybe a bug in gcc or another tool?) the assertion is triggered when using a Launchpad build.

The attached patch fixes the issue, but it is moronic (the flag is not supposed to be set on the global object), so I suggest only using it for patching the Ubuntu PPA package for 14.04. In any case, the flag and subsequent tests were removed between versions 38 and 45 of SM, so we will get rid of it soonish. See https://bugzilla.mozilla.org/show_bug.cgi?id=1088214.

comment:13 by Itms, 7 years ago

Trac is a bit broken right now and won't let me upload the patch, I'll post it tomorrow. It just adds the flag here.

comment:14 by Simes, 7 years ago

Also, unsurprisingly, it exists for Xubuntu 14.04.5 LTS.

For those not ready to upgrade their OS and just want to play, the getdeb.net repository still has the version 0.19 packages for 0AD. By installing and using Synaptic one can force the 0.19 version to be live rather than 0.21 and then one can play that version. http://www.playdeb.net/updates/Ubuntu/14.04/?category=Strategy http://www.playdeb.net/install/0ad/0.0.19-1%7Egetdeb1

by Itms, 7 years ago

Attachment: fix-trusty.patch added

comment:15 by elexis, 7 years ago

Cc: elexis removed
Keywords: patch rfc added
Summary: Fix Alpha 21 Ubuntu 14.04 build[PATCH] Fix Alpha 21 Ubuntu 14.04 build

comment:16 by Itms, 7 years ago

Keywords: patch rfc removed
Summary: [PATCH] Fix Alpha 21 Ubuntu 14.04 buildFix Alpha 21 Ubuntu 14.04 build

No, as stated above, this patch is not supposed to make it into our codebase. It is a hack that could be applied to the trusty version of the PPA package, so users are not incommodated.

comment:17 by Itms, 7 years ago

Milestone: Alpha 22
Resolution: worksforme
Status: newclosed
Summary: Fix Alpha 21 Ubuntu 14.04 buildFix Alpha 21 Ubuntu 14.04 build on the WFG PPA

The patch above has been applied to the PPA (only for the trusty package) and it seems to work. I'll close this issue as 'works for me' since the bug seems to come from the PPA itself. It should be reopened in case someone has the issue when building the game on their own box.

Users with the issue: Just run sudo apt-get update && sudo apt-get upgrade and it should fix the issue for you. If it doesn't, please report here.

comment:18 by Simes, 7 years ago

That has fixed the problem for my Xubuntu 14.04.5 LTS PC. It is now running Alpha 21 OK, thank you.

comment:19 by Joska Pista, 7 years ago

After update it works fine. Thanks!

Note: See TracTickets for help on using tickets.