Cannot compile c++ mp3 decoder project

Bug #1660295 reported by diamantisk
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cheerp
Incomplete
Undecided
Unassigned

Bug Description

I used the source code of https://github.com/FlorisCreyf/mp3-decoder in my project in order to build a cheerp .js file. After including the necessary parts of that project, compilation just failed, producing the following output:

0 llc 0x000000010079ded9 llvm::sys::PrintStackTrace(__sFILE*) + 57
1 llc 0x000000010079e63b SignalHandler(int) + 395
2 libsystem_platform.dylib 0x00007fffd887abba _sigtramp + 26
3 libsystem_platform.dylib 0x000000010a862968 _sigtramp + 838761928
4 llc 0x000000010044eabb llvm::ConstantFoldGetElementPtr(llvm::Constant*, bool, llvm::ArrayRef<llvm::Value*>) + 1243
5 llc 0x000000010045e7eb llvm::ConstantExpr::getGetElementPtr(llvm::Constant*, llvm::ArrayRef<llvm::Value*>, bool, llvm::Type*) + 59
6 llc 0x00000001009a15d3 llvm::BitcodeReader::ParseConstants() + 4419
7 llc 0x00000001009a45f9 llvm::BitcodeReader::ParseModule(bool) + 633
8 llc 0x00000001009a6950 llvm::BitcodeReader::ParseBitcodeInto(llvm::Module*) + 1520
9 llc 0x00000001009ae678 getLazyBitcodeModuleImpl(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> >&&, llvm::LLVMContext&, bool, std::__1::function<void (llvm::DiagnosticInfo const&)>) + 248
10 llc 0x00000001009ae8fe llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, std::__1::function<void (llvm::DiagnosticInfo const&)>) + 174
11 llc 0x000000010054a247 llvm::parseIR(llvm::MemoryBufferRef, llvm::SMDiagnostic&, llvm::LLVMContext&) + 263
12 llc 0x000000010054a6ad llvm::parseIRFile(llvm::StringRef, llvm::SMDiagnostic&, llvm::LLVMContext&) + 397
13 llc 0x0000000100006764 main + 996
14 llc 0x0000000100006354 start + 52
15 llc 0x0000000000000005 start + 4294941925
Stack dump:
0. Program arguments: /opt/cheerp/bin/llc -march=cheerp -o build//hello.js /var/folders/2t/dp7jc65n2ws_sqfrbg3zycvw0000gn/T/hello-49485b.bc
clang-3.7: error: unable to execute command: Segmentation fault: 11
clang-3.7: error: linker command failed due to signal (use -v to see invocation)
Cheerp 1.2.1 clang version 3.7.0 (https://github.com/leaningtech/cheerp-clang.git 5c156e44208e12c1bd5c613f76a730503c276900) (https://github.com/leaningtech/cheerp-llvm.git 7a442eaa8cb978415c1c895fd25af9bce5e15ae5) (based on LLVM 3.7.0svn)
Target: cheerp--webbrowser
Thread model: posix
clang-3.7: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
clang-3.7: note: diagnostic msg: Error generating preprocessed source(s) - no preprocessable inputs.
make: *** [build//hello.js] Error 254

Revision history for this message
Alessandro Pignotti (a-pignotti) wrote :

The crash seems to happen while reading bytecode. Could you verify that all the intermediate bc files are being built using Cheerp with a consistent version?

Revision history for this message
diamantisk (diamantisk) wrote : Re: [Bug 1660295] Re: Cannot compile c++ mp3 decoder project
Download full text (3.7 KiB)

Yes, i confirm it. Im using the latest binary installation package for OSX,
as downloaded from Cheerp's website.

2017-01-30 13:24 GMT+02:00 Alessandro Pignotti <email address hidden>:

> The crash seems to happen while reading bytecode. Could you verify that
> all the intermediate bc files are being built using Cheerp with a
> consistent version?
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1660295
>
> Title:
> Cannot compile c++ mp3 decoder project
>
> Status in Cheerp:
> New
>
> Bug description:
> I used the source code of https://github.com/FlorisCreyf/mp3-decoder
> in my project in order to build a cheerp .js file. After including the
> necessary parts of that project, compilation just failed, producing
> the following output:
>
>
> 0 llc 0x000000010079ded9
> llvm::sys::PrintStackTrace(__sFILE*) + 57
> 1 llc 0x000000010079e63b SignalHandler(int) + 395
> 2 libsystem_platform.dylib 0x00007fffd887abba _sigtramp + 26
> 3 libsystem_platform.dylib 0x000000010a862968 _sigtramp + 838761928
> 4 llc 0x000000010044eabb llvm::
> ConstantFoldGetElementPtr(llvm::Constant*, bool,
> llvm::ArrayRef<llvm::Value*>) + 1243
> 5 llc 0x000000010045e7eb llvm::ConstantExpr::
> getGetElementPtr(llvm::Constant*, llvm::ArrayRef<llvm::Value*>, bool,
> llvm::Type*) + 59
> 6 llc 0x00000001009a15d3 llvm::BitcodeReader::ParseConstants()
> + 4419
> 7 llc 0x00000001009a45f9 llvm::BitcodeReader::ParseModule(bool)
> + 633
> 8 llc 0x00000001009a6950 llvm::BitcodeReader::
> ParseBitcodeInto(llvm::Module*) + 1520
> 9 llc 0x00000001009ae678
> getLazyBitcodeModuleImpl(std::__1::unique_ptr<llvm::MemoryBuffer,
> std::__1::default_delete<llvm::MemoryBuffer> >&&, llvm::LLVMContext&,
> bool, std::__1::function<void (llvm::DiagnosticInfo const&)>) + 248
> 10 llc 0x00000001009ae8fe
> llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&,
> std::__1::function<void (llvm::DiagnosticInfo const&)>) + 174
> 11 llc 0x000000010054a247 llvm::parseIR(llvm::MemoryBufferRef,
> llvm::SMDiagnostic&, llvm::LLVMContext&) + 263
> 12 llc 0x000000010054a6ad llvm::parseIRFile(llvm::StringRef,
> llvm::SMDiagnostic&, llvm::LLVMContext&) + 397
> 13 llc 0x0000000100006764 main + 996
> 14 llc 0x0000000100006354 start + 52
> 15 llc 0x0000000000000005 start + 4294941925
> Stack dump:
> 0. Program arguments: /opt/cheerp/bin/llc -march=cheerp -o
> build//hello.js /var/folders/2t/dp7jc65n2ws_sqfrbg3zycvw0000gn/T/hello-
> 49485b.bc
> clang-3.7: error: unable to execute command: Segmentation fault: 11
> clang-3.7: error: linker command failed due to signal (use -v to see
> invocation)
> Cheerp 1.2.1 clang version 3.7.0 (https://github.com/
> leaningtech/cheerp-clang.git 5c156e44208e12c1bd5c613f76a730503c276900) (
> https://github.com/leaningtech/cheerp-llvm.git
> 7a...

Read more...

Revision history for this message
Alessandro Pignotti (a-pignotti) wrote :

Can you provide the command you use to build the linked library using Cheerp?

Changed in cheerp:
status: New → Incomplete
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.