I am not yet convinced that the problem has anything to do with miscompiled code. I am using exactly the same optimizations and exactly the same compiler as the official FreeBSD builds.
On 22/06/2016 17:03, Igor Kozhukhov wrote: > Hi Andri, > > i have DilOS with gcc-4.8,5 (+ special patches) for illumos builds. > i had some problems with zdb - found it by zfs tests. > > problem has been fixed by disable of optimization : > -fno-aggressive-loop-optimizations > > also, i have added: > -fno-ipa-sra > > but i no remember a story why i have added it ;) > probabbly it was added with another illumos component and new gcc-4.8 > > As you know, illumos still is using gcc-4.4.4 and some newer compilers > can produce new issues with older code :) > > I think, you can try to play with your clang optimization flags too. > i have no experience with clang. > > best regards, > -Igor > > >> On Jun 22, 2016, at 4:21 PM, Andriy Gapon <a...@freebsd.org >> <mailto:a...@freebsd.org>> wrote: >> >> >> I am getting the following panic using the latest FreeBSD head that is >> synchronized with OpenZFS code as of >> illumos/illumos-gate@26455f9efcf9b1e44937d4d86d1ce37b006f25a9. >> >> panic: solaris assert: ba.ba_phys->bt_bytes == 0 (0x400 == 0x0), file: >> /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c, >> line: 292 >> cpuid = 1 >> KDB: stack backtrace: >> db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame >> 0xfffffe004db9d310 >> vpanic() at vpanic+0x182/frame 0xfffffe004db9d390 >> panic() at panic+0x43/frame 0xfffffe004db9d3f0 >> assfail3() at assfail3+0x2c/frame 0xfffffe004db9d410 >> bptree_iterate() at bptree_iterate+0x35e/frame 0xfffffe004db9d540 >> dsl_scan_sync() at dsl_scan_sync+0x24f/frame 0xfffffe004db9d890 >> spa_sync() at spa_sync+0x897/frame 0xfffffe004db9dad0 >> txg_sync_thread() at txg_sync_thread+0x383/frame 0xfffffe004db9dbb0 >> fork_exit() at fork_exit+0x84/frame 0xfffffe004db9dbf0 >> fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe004db9dbf0 >> --- trap 0, rip = 0, rsp = 0, rbp = 0 --- >> >> I have a crash dump, but unfortunately it's hard to work with it, >> because a lot of useful information got "optimized out" by clang. >> >> I can reproduce the panic using a synthetic workload, but I do not have >> a concise reproduction scenario. Every time the panic happens bt_bytes >> is 0x400, I haven't seen any other number there. >> >> Does anyone have an idea what could be causing this? >> I can try any diagnostic code that might shed more light. >> Thank you! >> >> -- >> Andriy Gapon >> >> >> http://www.listbox.com > > *openzfs-developer* | Archives > <https://www.listbox.com/member/archive/274414/=now> > <https://www.listbox.com/member/archive/rss/274414/28133750-22ed9730> | > Modify > <https://www.listbox.com/member/?&> > Your Subscription [Powered by Listbox] <http://www.listbox.com> > -- Andriy Gapon ------------------------------------------- openzfs-developer Archives: https://www.listbox.com/member/archive/274414/=now RSS Feed: https://www.listbox.com/member/archive/rss/274414/28015062-cce53afa Modify Your Subscription: https://www.listbox.com/member/?member_id=28015062&id_secret=28015062-f966d51c Powered by Listbox: http://www.listbox.com