<div dir="ltr">Hi,<div><br></div><div>Thanks Bob and Glenn for the pointers. I had wrong configuration in the leases file. I removed it and it worked fine.</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 4, 2015 at 6:06 AM, Glenn Satchell <span dir="ltr"><<a href="mailto:glenn.satchell@uniq.com.au" target="_blank">glenn.satchell@uniq.com.au</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Thu, November 5, 2015 12:42 am, Bob Harold wrote:<br>
> On Mon, Nov 2, 2015 at 6:45 PM, Shraddha Pandhe<br>
> <<a href="mailto:spandhe.openstack@gmail.com">spandhe.openstack@gmail.com</a><br>
>> wrote:<br>
><br>
>> Hi folks,<br>
>><br>
>> I am using dhcp-4.1.1-49.<br>
>><br>
>> What are the possible reasons for getting this error? I have been using<br>
>> the same dhcpd.conf without any issues. Today, I removed "dhcp-domain"<br>
>> option from the subnet definition and I started seeing this issue.<br>
>> Adding<br>
>> dhcp-domain back didn't help, so I am not sure if that caused anything.<br>
>><br>
>><br>
>><br>
>> My dhcpd config file:<br>
>><br>
>><br>
>> # dhcpd.conf<br>
>> #<br>
>> # Sample configuration file for ISC dhcpd<br>
>> #<br>
>> log-facility local6;<br>
>> allow booting;<br>
>> deny unknown-clients;<br>
>> ddns-update-style none;<br>
>> default-lease-time 3600;<br>
>><br>
>> lease-file-name "/home/neutron/dhcpd/dhcpd.leases";<br>
>> pid-file-name "/home/neutron/dhcpd/pid";<br>
>><br>
>> next-server <ip-address>;<br>
>> server-name "<ip-address>";<br>
>><br>
>> omapi-port 7911;<br>
>><br>
>> # Local subnet definition is required to start dhcpd<br>
>> subnet <ip-address> netmask 255.255.255.255 {<br>
>> }<br>
>><br>
>><br>
>> if exists user-class and option user-class = "iPXE" {<br>
>>    filename "init.ipxe";<br>
>> }<br>
>> elsif exists user-class and option user-class = "gPXE" {<br>
>>    filename "init.gpxe";<br>
>> }<br>
>> else {<br>
>>    filename "undionly.kpxe";<br>
>> }<br>
>><br>
>> ####################################################################<br>
>> #           DHCP Subnet Definitions to follow               #<br>
>> ####################################################################<br>
>> # NETWORK_ID 0b00f86d-2dbd-4931-8a17-8ddaea74f475<br>
>> subnet 192.168.122.0 netmask 255.255.255.0 {<br>
>>   option broadcast-address 192.168.122.255;<br>
>>   option domain-name-servers 192.168.122.1;<br>
>>   range 192.168.122.2 192.168.122.254;<br>
>> }<br>
>><br>
<br>
</div></div>Here is the line in the source, ./common/tree.c - it is evaluating an<br>
expression and the 45 is the "operation". Looking in includes/tree.c,<br>
operator 46 is expr_funcall (whatever that means)<br>
<br>
int write_expression (file, expr, col, indent, firstp)<br>
...<br>
        switch (expr -> op) {<br>
...<br>
              default:<br>
                log_fatal ("invalid expression type in print_expression: %d",<br>
                           expr -> op);<br>
        }<br>
        return col;<br>
}<br>
<br>
I have a pretty early copy of the 4.1.1 source, but when I compare with<br>
4.3.2 source there is a case expr_funcall in that switch statement now. Is<br>
it possible you used a late version that has written something the older<br>
version can now no longer parse? Is it possible to upgrade to the newest<br>
release you can (ie later 4.1.1 or perhaps compile your own latest<br>
version?<br>
<br>
My guess is that it has written something to the leases file, and now<br>
can't evaluate it properly. So that's where I'd look.<br>
<br>
regards,<br>
-glenn<br>
<br>
<br>
_______________________________________________<br>
dhcp-users mailing list<br>
<a href="mailto:dhcp-users@lists.isc.org">dhcp-users@lists.isc.org</a><br>
<a href="https://lists.isc.org/mailman/listinfo/dhcp-users" rel="noreferrer" target="_blank">https://lists.isc.org/mailman/listinfo/dhcp-users</a><br>
</blockquote></div><br></div>