New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DCHECK failed: !src.IsKeySaved() #686

Closed
securityguru opened this Issue Apr 29, 2014 · 4 comments

Comments

Projects
None yet
3 participants
@securityguru
Copy link

securityguru commented Apr 29, 2014

uname -a:
Linux HOST 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux
nginx version: nginx/1.4.7
built by gcc 4.7.2 (Debian 4.7.2-5)
TLS SNI support enabled
configure arguments: --prefix=/usr --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-pcre-jit --with-debug --with-http_addition_module --with-http_dav_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module --add-module=/root/ngx_pagespeed-release-1.7.30.4-beta
[alert] 29626#0: [ngx_pagespeed 1.7.30.4-3847] [0428/115223:FATAL:string_multi_map.h(243)] Check failed: !src.IsKeySaved().
Backtrace:
        nginx: worker process() [0x4ad627]
        nginx: worker process() [0x4aa7c7]
        nginx: worker process() [0x52fd51]
        nginx: worker process() [0x52fead]
        nginx: worker process() [0x5304bd]
        nginx: worker process() [0x53059f]
        nginx: worker process() [0x530704]
        nginx: worker process() [0x53082d]
        nginx: worker process() [0x5315c6]
        nginx: worker process() [0x52d9d2]
        nginx: worker process() [0x592dd8]
        nginx: worker process() [0x49c541]
        nginx: worker process() [0x49ef06]
        nginx: worker process() [0x49f001]
        nginx: worker process() [0x43af93]
        nginx: worker process() [0x43b0a2]
        nginx: worker process() [0x4465f1]
        nginx: worker process() [0x446c2e]
        nginx: worker process() [0x4471a3]
        nginx: worker process() [0x44776c]
        nginx: worker process() [0x4292d8]
        nginx: worker process() [0x428e4a]
        nginx: worker process() [0x430140]
        nginx: worker process() [0x42e88b]
        nginx: worker process() [0x42f588]
        nginx: worker process() [0x4309f5]
        nginx: worker process() [0x411da6]
        /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7fa4bb95eead]
        nginx: worker process() [0x410a89]
@oschaaf

This comment has been minimized.

Copy link
Member

oschaaf commented Apr 29, 2014

@securityguru
Was this a one-time failure? Or can you reproduce it? If so, would you be able to configure nginx --with-debug and post a backtrace using an nginx build with that?

@securityguru

This comment has been minimized.

Copy link

securityguru commented Apr 29, 2014

It was 14 times per day. I don't know how can I reproduce it, but I build nginx --with-debug and if it fails again I'll post backtrace

@oschaaf

This comment has been minimized.

Copy link
Member

oschaaf commented Apr 29, 2014

That would be great! Thanks!

@jeffkaufman

This comment has been minimized.

Copy link
Contributor

jeffkaufman commented Apr 29, 2014

This is actually fixed on PSOL trunk with r3671, and will be in the 1.8 release.

The problem is that:

bool IsKeySaved() const {
     return key_storage_.data() == key_.data();
}

Is not guaranteed to work if the key is empty.

This was a DCHECK only problem, which means building without --with-debug should avoid it. (Strangely enough.)

@jeffkaufman jeffkaufman changed the title FATAL:string_multi_map.h(243)] Check failed: !src.IsKeySaved() DCHECK failed: !src.IsKeySaved() Apr 29, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment