bugGNU Octave - Bugs: bug #55492, "make check" crashes...

 
 

bug #55492: "make check" crashes with jit (llvm 4.0.1)

Submitter:  Markus Mützel <mmuetzel>
Submitted:  Wed 16 Jan 2019 07:18:21 PM UTC
   
 
Category:  Interpreter Severity:  3 - Normal
Priority:  3 - Low Item Group:  Segfault, Bus Error, etc.
Status:  Wont Fix Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Thu 23 Dec 2021 12:44:42 PM UTC, comment #6: 

Closing report.

Markus Mützel <mmuetzel>
Group administrator
Thu 23 Dec 2021 02:33:55 AM UTC, comment #5: 

Close this bug since JIT removed?

Anonymous
Tue 22 Jan 2019 08:47:55 AM UTC, comment #4: 

Nice find.
Can you provide a patch that overloads "findSymbol" and sets the flags correctly? Would that break backward compatibility?

Markus Mützel <mmuetzel>
Group administrator
Mon 21 Jan 2019 08:22:20 PM UTC, comment #3: 

I think that I have found the explanation in LLVM's 4.0.1 RTDyldMemoryManager.h:


  /// Legacy symbol lookup - DEPRECATED! Please override findSymbol instead.
  ///
  /// This method returns the address of the specified function or variable.
  /// It is used to resolve symbols during module linking.
  virtual uint64_t getSymbolAddress(const std::string &Name) {
    return getSymbolAddressInProcess(Name);
  }

  /// This method returns a RuntimeDyld::SymbolInfo for the specified function
  /// or variable. It is used to resolve symbols during module linking.
  ///
  /// By default this falls back on the legacy lookup method:
  /// 'getSymbolAddress'. The address returned by getSymbolAddress is treated as
  /// a strong, exported symbol, consistent with historical treatment by
  /// RuntimeDyld.
  ///
  /// Clients writing custom RTDyldMemoryManagers are encouraged to override
  /// this method and return a SymbolInfo with the flags set correctly. This is
  /// necessary for RuntimeDyld to correctly handle weak and non-exported symbols.
  JITSymbol findSymbol(const std::string &Name) override {
    return JITSymbol(getSymbolAddress(Name), JITSymbolFlags::Exported);
  }


Julien Bect <jbect>
Thu 17 Jan 2019 08:37:32 PM UTC, comment #2: 

Here is a minimal example to reproduce the problem:


jit_enable (1)
m = [1 2; 3 4];
while (1)
  z = m(1, 2);
  break;
endwhile


Julien Bect <jbect>
Thu 17 Jan 2019 05:24:32 PM UTC, comment #1: 

Since the JIT is experimental I lowered the priority.  I believe Julien knows about the crash with LLVM 4.0.

Rik <rik5>
Group administrator
Wed 16 Jan 2019 07:18:21 PM UTC, original submission:  

On Ubuntu 18.10 with llvm 1:4.0.1-10build1, I configuring with:

LLVM_CONFIG=`which llvm-config-4.0` ../configure CPPFLAGS=-I/usr/include/hdf5/serial LDFLAGS="-L/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/hdf5/serial" --enable-jit


Running "make check" crashes at "jit.tst" with:

  jit.tst ........................................................LLVM ERROR: Program used extern function 'jit_paren_subsref_matrix_scalar2' which could not be resolved!


CC'ing Julien Bect as the author of the updated configure options.

Markus Mützel <mmuetzel>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jbect (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by mmuetzel (Submitted the item)
  • -email is unavailable- added by mmuetzel
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2021-12-23 mmuetzel StatusConfirmed Wont Fix
        Open/ClosedOpen Closed
    2019-01-17 rik5 Priority5 - Normal 3 - Low
        StatusNone Confirmed
    2019-01-16 mmuetzel Carbon-Copy- Added jbect

    Back to the top

    Powered by Savane 3.13-cf05.
    Corresponding source code