[Pkg-clamav-devel] Uploading 0.98.7+dfsg-4

Sebastian Andrzej Siewior sebastian at breakpoint.cc
Mon Nov 30 20:19:05 UTC 2015


On 2015-11-27 20:13:01 [+0100], Andreas Cadhalpun wrote:
> Hi Sebastian,
Hi Andreas,

> Looking at the crashing code [1] seems to confirm this:
…
> So I guess that this should be fixed in 3.8, but...
> 
> > - I was going to check your testcase on llvm-3.7 and snapshots but llvm
> >   failed to build on powerpc. So I can't.
> 
> ... it fails to build on powerpc.

I cherry-picked the commit [0] which is the one that added the ppc bits
here. Rebuilt llvm. It is still crashing, but now differently, this is
the output of `clambc unit_tests/input/inflate.cbc --debug` :
|LibClamAV debug: OS release: 4.4.0-rc2+
|LibClamAV debug: OS version: #170 Thu Nov 26 21:45:49 CET 2015
|LibClamAV debug: OS hardware: ppc
|LibClamAV debug: OS LLVM category: 6
|LibClamAV debug: Has JIT compiled: 1
|LibClamAV debug: ------------------------------------------------------
|LibClamAV debug: Bytecode: mode is 0
|LibClamAV debug: Loading trusted bytecode
|LibClamAV debug: bytecode: Parsed 9 APIcalls, maxapi 74
|LibClamAV debug: unknown inst type: 96
|LibClamAV debug: unknown inst type: 67
|LibClamAV debug: unknown inst type: 67
|LibClamAV debug: unknown inst type: 67
|LibClamAV debug: unknown inst type: 67
|LibClamAV debug: unknown inst type: 67
|LibClamAV debug: unknown inst type: 67
|LibClamAV debug: unknown inst type: 67
|LibClamAV debug: unknown inst type: 67
|LibClamAV debug: Parsed 53 BBs, 226 instructions
|LibClamAV debug: Parsed 1 functions
|LibClamAV debug: Bytecode: BC_STARTUP running (builtin)
|LibClamAV debug: Bytecode 0: executing in interpeter mode
|LibClamAV debug: bytecode: registered ctx variable at 0xffafe94 (+256) id 6
|LibClamAV debug: bytecode: registered ctx variable at 0xffee588 (+2) id 2
|LibClamAV debug: bytecode: registered ctx variable at 0xffafd94 (+256) id 1
|LibClamAV debug: bytecode: registered ctx variable at 0xffee58c (+4) id 5
|LibClamAV debug: bytecode: registered ctx variable at 0xffee590 (+648) id 4
|LibClamAV debug: bytecode: registered ctx variable at 0x1004a850 (+744) id 7
|LibClamAV debug: bytecode debug: startup: bytecode execution in auto mode
|LibClamAV debug: intepreter bytecode run finished in 99us, after executing 118 opcodes
|LibClamAV debug: Bytecode: disable status is 0
|LibClamAV debug: [Bytecode JIT]; emitted ELF32-ppc <in-memory object> of 764 bytes
|LibClamAV debug: bytecode self test running
|LibClamAV debug: Bytecode 4294967295: executing in JIT mode
|
|Program received signal SIGSEGV, Segmentation fault.
|cli_vm_execute_jit (bcs=bcs at entry=0xbfffdfe0, ctx=0x10000, ctx at entry=0x10066470, func=0x10049020) at bytecode2llvm.cpp:2409
|2409        if (ctx->bytecode_timeout)
|(gdb) bt
|#0  cli_vm_execute_jit (bcs=bcs at entry=0xbfffdfe0, ctx=0x10000, ctx at entry=0x10066470, func=0x10049020) at bytecode2llvm.cpp:2409
|#1  0x0fece0a8 in cli_bytecode_run (bcs=bcs at entry=0xbfffdfe0, bc=bc at entry=0x100385d0, ctx=ctx at entry=0x10066470) at bytecode.c:1841
|#2  0x0fecec90 in run_selfcheck (bcs=0xbfffdfe0) at bytecode.c:2451
|#3  selfcheck (engine=<optimized out>, jit=1) at bytecode.c:2484
|#4  0x0fecefe4 in cli_bytecode_prepare2 (engine=engine at entry=0x10049d58, bcs=bcs at entry=0xbfffe300, dconfmask=dconfmask at entry=15)
|    at bytecode.c:2675
|#5  0x100016a8 in main (argc=<optimized out>, argv=<optimized out>) at bcrun.c:360
|(gdb) p ctx
|$1 = (cli_bc_ctx *) 0x10000
|(gdb) p *ctx
|Cannot access memory at address 0x10000

*Now* there is a stack, before that there was just garbage…

> >>> What exactly do we lose if we disable llvm?
> >>
> >> I guess the JIT engine is supposed to be faster than the interpreter.
> > 
> > So no lack of functionality. Does not sound that bad compared to broken
> > clambc in unstable like we have it right now.
> 
> Yes. We should just disable llvm on powerpc, at least until llvm 3.8.

Okay. Unless someone objects, I will prepare the unstable & exp release and
upload tomorrow with ppc-llvm support. And then I would
- open an import bug against c-icap-modules regarding missing clamav support
- rebuild rev-deps
- prepare a bug against against release.d.o regarding the transition and
  post here first :)

[0] https://github.com/llvm-mirror/llvm/commit/2cbb48f2e3b12c50563cc47a1de342e57ae7a561

> Best regards,
> Andreas

Sebastian



More information about the Pkg-clamav-devel mailing list